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

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

SISTEMAS DE INFORMACIÓN I
Pilares de la POO.
MODELOS ORIENTADOS A OBJETOS
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Unidad 3 Por Nelson Rojas Núñez
PROGRAMACION ORIENTADA A OBJETOS
Razonamiento algorítmico
Resolución de Problemas
Introducción a los Algoritmos
Pruebas Orientadas a Objeto
Programación Orientada a Objetos (P.O.O.)
Fundamentos de Ingeniería de Software
Tema 1: Programación dinámica
CONCEPTOS Y PRINCIPIOS ORIENTADOS A OBJETOS
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Programación 1 Introducción
Programación Gráfica 3. Introducción a C++..
DESCRIPCION DEL PROBLEMA
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
Programación orientada a objetos Rosemary Torrico Bascopé.
Introducción a la Computación
METODOLOGIA DE LA PROGRAMACION
Introducción a la programación Orientada a objetos
Sistemas Evolutivos Introduccion.
FORMULACIÓN DE ALGORITMOS
Fundamentos de programación
Ingeniería de Software Orientado a Objetos
Fundamentos de Programación
Introducción a la POO • ¿Qué es la programación orientada a objets (POO)? – Un “paradigma” de programación – Una forma de pensar acerca de los problemas.
Fundamentos de programación
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
PROGRAMACIÓN ESTRUCTURADA. PROGRAMACÍÓN IMPERATIVA El programa detalla los pasos necesarios para realizar una tarea. Existe un estado global de programa.
Fundamentos de programación Organización de una computadora.
Material de apoyo Unidad 4 Estructura de datos
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Razón entre dos números
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
Tema 6. Introducción a la programación
Parte I. Estructuras de Datos.
Programación de Computadores (IWI-131)
Representación de Algoritmos
Programación Orientada a Objetos (P.O.O.)
Facultad de Ingeniería
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
1.Función y ecuación polinomial
DEV- C++ ·include <iostream> Int x x=x+2(x)
Entendiendo las partes
ALGORITMO QUE ES ??.
Ingeniería de Requisitos
Elaboración de algoritmos usando lógica de programación
CINEMÁTICA La cinemática estudia el movimiento sin interesarse en qué es lo que lo causa. Se describe de qué manera se mueve una partícula. Para describir.
Algoritmos Programación
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
PROGRAMACIÓN IV INTRODUCCIÓN.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
La Programación Orientado a Objetos
Hernández Camacho Víctor Jesus Islas Sánchez Karla Vanessa
Fundamentos de Ingeniería de Software
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
PARADIGMA viene del Griego Paradeima = Modelo. Un paradigma es el resultado de los usos, y costumbres, de creencias establecidas de verdades a medias,
Modelos Entidad – Relación (E-R). El modelo entidad-relación Los MD soportados por los SGBD no suelen ofrecer, dado su bajo nivel de abstracción, los.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar los.
Transcripción de la presentación:

3. Resolución de Problemas.

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

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

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

 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?

Origami

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

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

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

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

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

 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)

 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)

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

 ¿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?

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

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

Objeto (Moto) en el mundo real

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

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

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

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

Objeto (Soldado) en el mundo real

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

Objeto (Zombie) en el “mundo real”

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

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

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

Fuego Soldado Rifle Pasto Humo Rifle

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

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