3. Introducción a C++.





Kernighan y Ritchie desarrollan el lenguaje C en
1972.
Stroustrup de la AT&T comienza a desarrollar
C++ en 1980.
Al comienzo era una extensión de C denominada
C with classes.
En 1987 la AT&T comienza a estandarizar el
lenguaje internamente.
En 1989 se formó un comité ANSI para
estandarizarlo a nivel internacional

Es un lenguaje potente.
◦ Se utiliza para todos los proyecto que necesiten rápido
procesamiento: robótica, videojuegos, medicina, etc.


Como lenguaje procedural se asemeja a C y es
compatible con él.
Es un lenguaje orientado a objetos.


Anteriormente se usaba un enfoque llamado
“procedural”, donde la solución se especifica
como una serie de pasos y subpasos.
Premisa: “El mundo real está compuesto de
objetos que interactúan.” y no es un mundo
procedural donde todo ocurre secuencialmente.

Se usan objetos para solucionar problemas, que son
estructuras lógicas que representan elementos o
entidades del mundo real.

Se usan nombres que permiten hacer una rápida
asociación con el correspondiente objeto.

Se usan atributos o propiedades para representar los
estados del objeto.

Se usan métodos que describen el comportamiento
del objeto y permite interacción con otros objetos.
Objeto (Auto) en el mundo real
Métodos:
•Avanzar
•Frenar
•Cambiar “cambio”
•Acelerar
•Girar
Atributos:
•Marca
•Color
•Cilindraje
•Velocidad Máxima
•Velocidad Actual
Representación lógica de la “Auto” -> Clase Auto
Objeto (Rifle) en el mundo Arma
Métodos:
•Disparar
•Cargar Bala
•Cargar Cartucho
Atributos:
•Tipo
•Numero de balas
•Tamaño
Representación lógica de la “Arma” -> Clase Arma
Objeto (Avion) en el mundo real
Métodos:
•Disparar
•Lanzar misiles
•Girar arriba
•Girar lado
•Aplicar Turbo
Atributos:
•Tipo
•Velocidad máxima
•Velocidad actual
•Número de misiles
actuales
•Posición
Representación lógica del “Avion” -> Clase Avion
Métodos:
Atributos:
Representación lógica de la “Rayo” -> Clase Rayo
Métodos:
Representación lógica de “Jesus” -> Clase Jesus
Atributos:

.h
◦ Archivo de declaración.
◦ Declaración de variables globales y métodos de una o
más clases.

.cpp
◦ Archivo de código fuente.
◦ Implementación de los métodos de una o varias clases.
#include <iostream> // Esta biblioteca permite el uso de
cout(<<) y de cin(>>)
using namespace std; int main()
{
cout << "¡Hola mundo!" << endl;
system("PAUSE");
return 0;
}




Sirve para entender de mejor manera el código.
Sirve para quienes posteriormente leerán el
código.
Sirve para que el programador entienda de
inmediatamente códigos que ha realizado con
antigüedad.
Hace más limpia la programación.

Declaración de variables globales.
Declaración de métodos.
Declaración de la clase.
Algoritmos difíciles de entender a simple vista.

Básicamente en archivo .h




Tipos de comentarios:

De línea:
◦ // Esto es un comentario de línea.

Clásico
◦ /* Este comentario puede tener más de una línea, porque
es un comentario de tipo clásico */


Ej. Declaración de la clase Jugador.
Ej. Declaración de la clase Computador.


Son estructuras de datos que pueden cambiar de
contenido a lo largo de la ejecución de un
programa.
Ej.
◦
◦
◦
◦
int velocidad_actual;
bool salir;
float posX;
float posY;





Variable = valor;
posicion_inicialX = 0.0;
posicion_inicialY = 0.0;
numero_balas = 3;
continuar= true;

Tipos de datos enteros:
◦ Conjunto Z.
◦ int, long.

Tipos de datos de punto flotante:
◦ Conjunto R.
◦ float, double.

Puntaje.
◦ puntaje = puntaje + enemigo.valor();

Disparar.
◦ balas--;
◦ balas -= 1;
◦ balas = balas – 1;

Post incremento - decremento
◦ i++;
◦ i--;

Pre incremento - decremento
◦ ++i;
◦ --i;

Multiplicación
◦ double dec = 10*numero;

Division
◦ float prom = suma_notas / num_alumnos;

Modulo
◦ int par = numero%2;
Descargar

Introducción a la Programación