3. Introducción a C++.. Kernighan y Ritchie desarrollan el lenguaje C en 1972. Stroustrup de la...

Post on 06-Feb-2015

11 views 2 download

Transcript of 3. Introducción a C++.. Kernighan y Ritchie desarrollan el lenguaje C en 1972. Stroustrup de la...

Programación Gráfica3. Introducción a C++.

3.1 Introducción a C++.

Contexto Histórico 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

C++ 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.

3.2 Orientación a Objetos

Orientación 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.

Programación Orientada a Objetos (POO)

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.

POO: Ejemplo1

Objeto (Auto) en el mundo real

POO : Ejemplo1

Representación lógica de la “Auto” -> Clase Auto

Atributos:•Marca•Color•Cilindraje•Velocidad Máxima•Velocidad Actual

Métodos:•Avanzar•Frenar•Cambiar “cambio”•Acelerar•Girar

POO: Ejemplo1

Objeto (Rifle) en el mundo Arma

POO : Ejemplo1

Representación lógica de la “Arma” -> Clase Arma

Atributos:•Tipo•Numero de balas•Tamaño

Métodos:•Disparar•Cargar Bala•Cargar Cartucho

POO: Ejemplo1

Objeto (Avion) en el mundo real

POO : Ejemplo1

Representación lógica del “Avion” -> Clase Avion

Atributos:•Tipo•Velocidad máxima•Velocidad actual•Número de misiles actuales•Posición

Métodos:•Disparar•Lanzar misiles•Girar arriba•Girar lado•Aplicar Turbo

POO : Ejemplo1

Representación lógica de la “Rayo” -> Clase Rayo

Atributos:Métodos:

POO : Ejemplo1

Representación lógica de “Jesus” -> Clase Jesus

Atributos:Métodos:

3.3 Primeros pasos

Tipos de archivos

.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.

Hola Mundo

#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;

}

Comentarios 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.

Comentarios

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

Comentarios 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 */

Comentarios

Ej. Declaración de la clase Jugador. Ej. Declaración de la clase Computador.

3.4 Variables y Tipos de datos

Variables 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;

Tipos de datos

Tamaños asociados

Asignación Variable = valor;

posicion_inicialX = 0.0; posicion_inicialY = 0.0; numero_balas = 3; continuar= true;

Asociación con lo que conocemos

Tipos de datos enteros:◦ Conjunto Z.◦ int, long.

Tipos de datos de punto flotante:◦ Conjunto R.◦ float, double.

Operación Suma - Resta Puntaje.

◦ puntaje = puntaje + enemigo.valor();

Disparar.◦ balas--;◦ balas -= 1;◦ balas = balas – 1;

Incremento - Decremento Post incremento - decremento

◦ i++;◦ i--;

Pre incremento - decremento◦ ++i;◦ --i;

Más operaciones Multiplicación

◦ double dec = 10*numero;

Division◦ float prom = suma_notas / num_alumnos;

Modulo◦ int par = numero%2;

Preguntas ¿?