Upload
leticia-colindres
View
8
Download
2
Embed Size (px)
Citation preview
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 ¿?