La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

3. Resolución de Problemas..  Conocer lo que se quiere resolver.  Buscar las herramientas para poder solucionar el problema.  Implementar la solución.

Presentaciones similares


Presentación del tema: "3. Resolución de Problemas..  Conocer lo que se quiere resolver.  Buscar las herramientas para poder solucionar el problema.  Implementar la solución."— Transcripción de la presentación:

1 3. Resolución de Problemas.

2

3  Conocer lo que se quiere resolver.  Buscar las herramientas para poder solucionar el problema.  Implementar la solución. ProblemaSolución Problema Resuelto

4  Problema: ◦ Abstracción de la realidad para la cual nos interesa conocer una solución.  Solución: ◦ Procedimiento para establecer el mecanismo de trasformación del mundo que nos lleve a satisfacer ciertos requerimientos.

5  Estructura que se utiliza para dar razón y abstraer de la realidad a un conjunto de acciones o fenómenos que guardan entre sí ciertas relaciones.  90’: Enfoque en base a la utilización de objetos, donde cada elemento del mundo real se representa con mayor precisión y fidelidad, logrando así soluciones modulares y con encapsulación.

6

7  Procedimiento detallado y preciso de operaciones para resolver un problema en un número finito de pasos.  Tiene un input y un output definido.  Ejemplos de la vida real: ◦ ¿Una receta de cocina? ◦ ¿Manual de armado de mueble?

8

9 Origami

10  Toma de decisiones ◦ La secuencia se decide de acuerdo a ciertas condiciones que dependen de los datos del algoritmo.  Iteración ◦ Especifica la repetición de operaciones, controlada por condiciones que dependen de los datos.

11  Toma de decisiones: ◦ Un enemigo decide si se acerca a atacar al jugador o sigue patrullando, según las condiciones en las que se encuentra en el mundo.  Iteración ◦ Mientras el usuario no presione la tecla escape se vuelve a pintar la pantalla.

12  Buscar similitud con otros problemas.  Utilizar ejemplos conocidos.  Utilizar algoritmos genéricos conocidos.  Conceptualizar actividades y objetos participantes.  Descomponer en subproblemas.

13  Para cualquier problema existen múltiples soluciones.  Para cualquier problema pueden existir varios algoritmos de solución, tantos como personas que quieran resolverlos.

14  Es necesario validar la solución.  Es necesario especificar limitaciones del algoritmo de la solución.  Para esto verificar casos “extremos”.

15  Datos de entrada: ◦ Coordenadas x11, x12, y11, y12, de 2 puntos que identifican la recta 1. ◦ Coordenadas x21, x22, y21, y22, de 2 puntos que identifican la recta 2. (x11, y11) (x12, y12) (x22, y22) (x21, y21) Recta 2 Recta 1 (x, y)

16  Solución:  Definamos m1 y m2 como las pendientes de las rectas 1 y 2 sucesivamente: ◦ m1 = (x12 – x11) / (y12 – y11) ◦ m2 = (x22 – x21) / (y22 – y21)  Así para resolver el problema, lo hacemos usando la ecuación de la recta: ◦ y – y11 = m1 * (x – x11) ◦ y – y21 = m2 * (x – x21)

17  Solución:  Resolviendo las ecuaciones tenemos el punto de intersección de la recta.  x = ?  y = ?

18  ¿La solución encontrada cumple todos los casos del problema? ¿Problemas?: ¿Qué pasa si las rectas son paralelas? ¿Qué pasa si las rectas son la misma? ¿Qué pasa si una recta es paralela al eje y?

19

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

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

22 Objeto (Moto) en el mundo real

23 Representación lógica de la “Moto” -> Clase Moto Atributos: Marca Color CC Velocidad Máxima Peso Máximo Velocidad Actual Métodos: Avanzar Frenar Cambiar “cambio” Acelerar Mover manubrio

24  Objetos: ◦ Mundo Real: Compuesto de objetos físicos y simbólicos. ◦ POO: Elementos simbólicos que representan objetos del mundo real.  Clase: ◦ “Un tipo de objeto”, descripción que especifica características comunes a un objeto de un tipo en común.

25  Instancia de objeto: ◦ Objeto específico de una Clase que se puede relacionar con otras instancias del mismo u otro tipo. ◦ Se le conoce como el “objeto” en sí. ◦ Por los atributos una instancia es diferente a otra.

26  Objeto real: Moto.  Clase: “Moto”.  Instancia1: ◦ Moto Kawasaki, Amarilla, 250 cc, peso máximo 300 kg, 200 km velocidad máxima.  Instancia 2: ◦ Moto Scooter YY-150T-12, 150 cc, peso máximo 120 kg, 80 km velocidad máxima.

27 Objeto (Soldado) en el mundo real

28 Representación lógica del “Soldado” -> Clase Soldado Métodos: Morir Atacar Cambiar arma Avanzar Correr Girar Atributos: Armas Arma actual Daño Velocidad Posicion

29 Objeto (Zombie) en el “mundo real”

30 Representación lógica del “Zombie” -> Clase Zombie Métodos: Morir Atacar Avanzar Correr Gritar Contagiar Atributos: Estado Daño Cantidad de sangre Tipo Velocidad

31 Métodos: Atributos: Representación lógica del “Boss” en 1943

32 Métodos: Atributos: Representación lógica del “Jugador” en Winning Eleven

33 Fuego Soldado Rifle Pasto Humo Rifle

34  Expresa una solución como un conjunto de objetos, que colaboran entre ellos para realizar tareas.  Es más fácil conceptualizar los problemas de esta manera.  Es más fácil llevar la conceptualización a un programa en sí.

35 Cavernicola1Cavernicola2Soldado1 Soldado2 Soldado3 Cavernicola3 Jugador1 Jugador2 Fuego1 Fuego2 RifleJugador1 Tiempo1 PuntajeGanado1 PuntajeGanado2 Bala1Jugador2

36


Descargar ppt "3. Resolución de Problemas..  Conocer lo que se quiere resolver.  Buscar las herramientas para poder solucionar el problema.  Implementar la solución."

Presentaciones similares


Anuncios Google