26
Introducción a la Programación 1. Introducción.

1. Introducción.. Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo. Estrategia para la resolución de problemas

Embed Size (px)

Citation preview

Page 1: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Introducción a la Programación

1. Introducción.

Page 2: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

1.1 Contenidos.

Page 3: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Un poco de Historia…

Page 4: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Resolución de Problemas

Conceptos:◦ Problema.◦ Objeto.◦ Instancia.◦ Modelo.

Estrategia para la resolución de problemas.

Page 5: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Programación Orientada a Objetos

Abstracción de la realidad.

Un objeto persona puede conducir un objeto de tipo auto mediante el método conducir().

Una grúa puede utilizar el mismo objeto auto y remolcarlo mediante el método remolcar().

Page 6: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Tipos de Datos

Int velocidad_inicial = 30; Velocidad_actual += aceleracion;

Float c = Math.Sqrt(a*a + b*b);

Float x = 1234.08f; Float y = 765.76f;

Bool finalizado = false;

Page 7: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Control de Flujo

If ( Distancia( protagonista) <= distancia_min)Atacar();

ElsePatrullar();

If( GetTeclaPresionada() == TECLA_W)Jugador1.Avanzar();

If( GetTeclaPresionada() == TECLA_UP)Jugador2.Avanzar();

Page 8: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Control de Flujo

While( No_Salir ){

Chequear_Input();Correr_IA();Mover_Enemigos();Resolver_Colisiones();Dibujar_Grafica();Reproducir_Sonidos();

}

Page 9: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Manejo de objetos y clases de objetos.class Jugador{

public void Avanzar(){…}public void GirarDerecha(){…}public void GirarIzquierda(){…}public void Disparar(){…}public bool IsDeath(){…}

private void SetAnimacion(int tipo){…}}

Page 10: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Interacción de clases y de objetos

If( GetTeclaPresionada() == TECLA_W)myJugador.Avanzar();

If( GetTeclaPresionada() == TECLA_A)myJugador.GirarIzquierda();

If( GetTeclaPresionada() == TECLA_D)myJugador.GirarDerecha();

If( GetTeclaPresionada() == TECLA_Space)myJugador.Disparar();

Page 11: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Arreglos

Int[] conjunto = { 2, 3, 4, 5, 6}; conjunto[0] = 10;

int[,] tablero = new int[3, 3];

If(tablero[i,j] == 1)◦ MostrarFicha_Jugador1();

Page 12: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Strings

String nombre = “Fernando Gonzalez”; String nick = “tongoxcore”;

Int pos = nick.IndexOf(‘t’); Bool contiene = nombre.Contains(“ando”);

Ahorcado:◦ A___ca__

Page 13: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Estructuras y enumeraciones

struct Point{

int x, y;public Point(int x, int y){

this. x = x;this.y = y;

}

}

enum tipoCarta { pica, trebol, corazones, diamantes}

Page 14: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Simulación

Manejo del tiempo. Manejo de números aleatorios.

Simulando colas. Simulando la llegada de Spam.

Page 15: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Colecciones

Listas. Árboles. Diccionarios.

Almacenar información. Acceso rápido a la información.

Page 16: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Recursividad

Page 17: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

1.2 Primeros Pasos.

Page 18: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Programas que conocemos.

Page 19: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Programas que conocemos.

Page 20: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Nuevos Programas

Page 21: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

¿Qué es programar?

Un conjunto de datos que manejan memoria.

• Un grupo preciso de instrucciones• Implementa un algoritmo.• Trabaja sobre los datos.• Produce los resultados esperados.

Caja Negra◦ Datos -> Respuesta.

Page 22: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

¿Qué es la programación de videojuegos? “Es el arte de instruir a un computador

sobre los pasos necesarios para resolver los problemas que influyen en la creación de un videojuego”.

“Es el componente que le da vida al videojuego”.

Page 23: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Programación

Requiere de:◦ Comprensión del problema.◦ Diseño.◦ Implementación.

Escribir el código de un programa equivale a convertir un algoritmo a un lenguaje entendible por el computador.

Necesitamos un lenguaje para esto.

Page 24: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Herramientas

Lenguaje en el curso: C#.

Necesitamos herramientas para escribir el código:◦ IDE: Ambiente de desarrollo integrado.◦ Librerías.

IDE a utilizar:◦ Microsoft Visual C# 2008 Express Edition.

Page 25: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

En Resumen…

Page 26: 1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas

Preguntas ¿?