1. introducción.. conceptos: ◦ problema. ◦ objeto. ◦ instancia. ◦ modelo. estrategia para...
TRANSCRIPT
![Page 1: 1. Introducción.. Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo. Estrategia para la resolución de problemas](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/2.jpg)
1.1 Contenidos.
![Page 3: 1. Introducción.. Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo. Estrategia para la resolución de problemas](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/3.jpg)
Un poco de Historia…
![Page 4: 1. Introducción.. Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo. Estrategia para la resolución de problemas](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/16.jpg)
Recursividad
![Page 17: 1. Introducción.. Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo. Estrategia para la resolución de problemas](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/17.jpg)
1.2 Primeros Pasos.
![Page 18: 1. Introducción.. Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo. Estrategia para la resolución de problemas](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/18.jpg)
Programas que conocemos.
![Page 19: 1. Introducción.. Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo. Estrategia para la resolución de problemas](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/19.jpg)
Programas que conocemos.
![Page 20: 1. Introducción.. Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo. Estrategia para la resolución de problemas](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/20.jpg)
Nuevos Programas
![Page 21: 1. Introducción.. Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo. Estrategia para la resolución de problemas](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/21.jpg)
¿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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/22.jpg)
¿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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/25.jpg)
En Resumen…
![Page 26: 1. Introducción.. Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo. Estrategia para la resolución de problemas](https://reader035.vdocuments.site/reader035/viewer/2022070416/5665b4b81a28abb57c937f1a/html5/thumbnails/26.jpg)
Preguntas ¿?