3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para...
-
Upload
daniel-cruz-araya -
Category
Documents
-
view
216 -
download
0
Transcript of 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para...
![Page 1: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/1.jpg)
Introducción a la Programación3. Resolución de Problemas.
![Page 2: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/2.jpg)
3.1 Conceptos de Resolución de
Problemas
![Page 3: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/3.jpg)
Proceso de Resolución de Problemas
Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar
el problema. Implementar la solución.
Problema SoluciónProblema Resuelto
![Page 4: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/4.jpg)
Definiciones
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.
![Page 5: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/5.jpg)
Modelo
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.
![Page 6: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/6.jpg)
3.2 Algoritmos
![Page 7: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/7.jpg)
Algoritmo
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?
![Page 8: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/8.jpg)
Algoritmo
![Page 9: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/9.jpg)
Algoritmo
Origami
![Page 10: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/10.jpg)
Flujo de Operaciones
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.
![Page 11: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/11.jpg)
Flujo de Operaciones
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.
![Page 12: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/12.jpg)
Estrategias para elaborar un algoritmo
Buscar similitud con otros problemas.
Utilizar ejemplos conocidos.
Utilizar algoritmos genéricos conocidos.
Conceptualizar actividades y objetos participantes.
Descomponer en subproblemas.
![Page 13: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/13.jpg)
¿Existe un único algoritmo de solución?
Para cualquier problema existen múltiples soluciones.
Para cualquier problema pueden existir varios algoritmos de solución, tantos como personas que quieran resolverlos.
![Page 14: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/14.jpg)
Problema de las soluciones
Es necesario validar la solución. Es necesario especificar limitaciones del
algoritmo de la solución.
Para esto verificar casos “extremos”.
![Page 15: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/15.jpg)
Ej: Punto de intersección de 2 rectas
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)
![Page 16: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/16.jpg)
Ej: Punto de intersección de 2 rectas
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)
![Page 17: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/17.jpg)
Ej: Punto de intersección de 2 rectas
Solución: Resolviendo las ecuaciones tenemos el punto
de intersección de la recta.
x = ? y = ?
![Page 18: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/18.jpg)
Ej: Punto de intersección de 2 rectas
¿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?
![Page 19: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/19.jpg)
3.3 Orientación a Objetos
![Page 20: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/20.jpg)
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.
![Page 21: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/21.jpg)
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.
![Page 22: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/22.jpg)
POO: Ejemplo1
Objeto (Moto) en el mundo real
![Page 23: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/23.jpg)
POO : Ejemplo1
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
![Page 24: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/24.jpg)
Definiciones
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.
![Page 25: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/25.jpg)
Definiciones
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.
![Page 26: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/26.jpg)
Definiciones
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.
![Page 27: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/27.jpg)
POO : Ejemplo2
Objeto (Soldado) en el mundo real
![Page 28: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/28.jpg)
POO : Ejemplo2
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
![Page 29: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/29.jpg)
POO : Ejemplo3
Objeto (Zombie) en el “mundo real”
![Page 30: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/30.jpg)
POO : Ejemplo3
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
![Page 31: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/31.jpg)
POO: Ejercicio
Métodos: Atributos:
Representación lógica del “Boss” en 1943
![Page 32: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/32.jpg)
POO: Ejercicio
Métodos: Atributos:
Representación lógica del “Jugador” en Winning Eleven
![Page 33: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/33.jpg)
Orientación a Objetos
FuegoSoldado
Soldado
Soldado
Rifle
PastoHumo
Rifle
![Page 34: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/34.jpg)
Orientación a Objetos
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í.
![Page 35: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/35.jpg)
Orientación a Objetos
Cavernicola1 Cavernicola2 Soldado1
Soldado2
Soldado3
Cavernicola3
Jugador1Jugador2
Fuego1
Fuego2RifleJugador1
Tiempo1
PuntajeGanado1PuntajeGanado2
Bala1Jugador2
![Page 36: 3. Resolución de Problemas.. Conocer lo que se quiere resolver. Buscar las herramientas para poder solucionar el problema. Implementar la solución.](https://reader035.fdocuments.ec/reader035/viewer/2022070418/5665b49c1a28abb57c92a303/html5/thumbnails/36.jpg)
Preguntas ¿?