55
Unidad I Unidad I Resolución de Problemas Otoño 2009

Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Unidad IUnidad IResolución de Problemas

Otoño 2009

Page 2: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

DesarrolloConectividad

Diseño

MC Mireya Tovar Vidal 2

Ingeniero en computación

Persona que resuelve resuelve resuelve resuelve problemasproblemasproblemasproblemas computacionales⇒

SoporteConsultoría

Otros…

FCC - BUAP Otoño 2009

Page 3: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN

Tomado de: Programming and Problem Solving with Java. Nell Dale Chap 1

MC Mireya Tovar Vidal 3

Fase de MANTENIMIENTO

Tomado de: Programming and Problem Solving with Java. Nell Dale Chap 1

FCC - BUAP Otoño 2009

Page 4: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal 4

Page 5: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

UnProblema

es una

situación

en la cual un

individuo

Tomado de Libro 5: Estrategías de resolución de problemas –Lissete Poggioli

FCC - BUAP Otoño 2009 5

individuo

actúa

meta

utilizando una

estrategia

para alcanzar una

desea hacer algo

curso de acción

para alcanzar la

meta

pero desconoce el

Tomado de Libro 5: Estrategías de resolución de problemas

MC Mireya Tovar Vidal

Page 6: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Cuando hablamos de un problema y nosreferimos a la meta o a lograr lo que sequiere, nos estamos refiriendo a la soluciónde dicho problema.de dicho problema.

l Una solución esta asociada con:

6

Estado inicial

Solución o meta

ProblemaProblemaProblemaProblema

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 7: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Losproblemas

tienen

componentes

metas

las

los lasoperaciones

las

Tomado de Libro 5: Estrategías de resolución de problemas –Lissete Poggioli

FCC - BUAP Otoño 2009 7

alcanzar

metas

analizar

son lo que se

desea

datos

elementos

son

para

situación problema

la

camino

restricciones

factores

son

que limitan

solución

la

el

para alcanzar

resolver

procedimientos

son

para

problema

el

Tomado de Libro 5: Estrategías de resolución de problemas

MC Mireya Tovar Vidal

Page 8: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Consideremos el siguiente ejemplo:“Anita tiene una muñeca y quiere vestirla con pantalón y blusa. Tienecuatro pantalones: rojo, blanco, azul y negro y tiene tres blusas:verde, amarillo y rosado. Ella quiere hacer diferentes combinacionescon todos los pantalones y las blusas verde y rosada. ¿Cuántascombinaciones diferentes puede hacer?”

l ¿Cuál es la Meta(s)?Consiste en saber cuántas combinaciones diferentes puede hacerl Consiste en saber cuántas combinaciones diferentes puede hacerAnita con los pantalones y las blusas

l ¿Cuáles son los datos?l 4 pantalones y 3 blusas

l Las restricciones ?l Anita solo quiere utilizar 2 de las 3 blusas: la verde y rosada. Enconsecuencia no todas las blusas van a ser consideradas para lascombinaciones

l Operaciones o métodos ?l Utilizar las operaciones requeridas para obtener el número decombinaciones

FCC - BUAP Otoño 2009 8MC Mireya Tovar Vidal

Page 9: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

FCC - BUAP Otoño 2009MC Beatriz Beltrán Martínez 9

Page 10: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Diariamente resolvemos problemas, lamayoría de las veces, sin darnos cuenta delproceso que realizamos.l Algunos problemas están claramente definidos -l Algunos problemas están claramente definidos -como los que mencionamos anteriormente- peroen la vida real, los procesos no son tan simples.

l La mayoría de las veces, tendremos que definirel problema nosotros mismos y decidir con queinformación vamos a trabajar y que resultadosdebemos obtener.

MC Mireya Tovar Vidal 10FCC - BUAP Otoño 2009

Page 11: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Según Dijkstra (1991), la resolución deproblemas es un proceso cognoscitivoproblemas es un proceso cognoscitivocomplejo que involucra conocimientoalmacenado en la memoria a corto y a largoplazo.

MC Mireya Tovar Vidal 11FCC - BUAP Otoño 2009

Page 12: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Comprender el

�Polya (1965) señala que un problema puederesolverse correctamente si se realizan lassiguientes fases o etapas:

Comprender el problema (análisis y

especificación)

Concebir un plan para llegar a la

solución (estrategia)

Ejecutar el plan

Verificar el procedimiento y comprobar los

resultados

MC Mireya Tovar Vidal 12FCC - BUAP Otoño 2009

Page 13: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Dividir y

Por analogía

Buscar cosas que

son familiares

Análisis de medios y

fines

MC Mireya Tovar Vidal 13FCC - BUAP Otoño 2009

Técnicas para resolución de

problemas

Hacer preguntas

Dividir y Vencer

Bloques de construcción

Combinar soluciones

Page 14: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l En equipos de 5 integrantes, tienen 7 minutos para resolver el siguiente problema

l Descripción:l Obtener un lista de los diferentes

lugares de procedencia de sus lugares de procedencia de sus compañeros y el promedio de edad.

l Criterios para el éxito:l Cada equipo deberá haber obtenido la información solicitada

l Responsabilidad Individual:l Cualquier integrante del equipo podrá ser seleccionado al azar para explicar la solución al frente

MC Mireya Tovar Vidal 14FCC - BUAP Otoño 2009

Page 15: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Compartiendo la solución con todosl Explicar el proceso que siguieron para resolver el problema

MC Mireya Tovar Vidal 15FCC - BUAP Otoño 2009

Page 16: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Una de las técnicas para resolución de problemas más simples pero muy importante es la de hacer preguntas.

l Debemos asegurarnos que estamos procediendo a resolver el problema real y no el problema a resolver el problema real y no el problema que percibimos

MC Mireya Tovar Vidal 16FCC - BUAP Otoño 2009MC Mireya Tovar Vidal FCC - BUAP Otoño 2009

Page 17: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Siempre que se nos dé una tarea cuyo problema no esté bien definido, o se requiera información adicional, debemos hacer preguntas hasta que tengamos claro exactamente que es lo que se quiere o tiene que hacer. hacer.

MC Mireya Tovar Vidal 17FCC - BUAP Otoño 2009

Problema

Qué

Cuándo

Por qué

Dónde

Cómo

Quién

Page 18: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Algunas preguntas útiles son:l ¿Qué es lo que sé acerca del problema?l ¿Cuál es la información con la que debo trabajar para encontrar la solución?

18

trabajar para encontrar la solución?l ¿Cómo se ve la solución, qué parece?l ¿Qué clase de casos especiales existen?l ¿Cómo voy a saber que he encontrado la solución?

MC Mireya Tovar Vidal FCC - BUAP Otoño 2009

Page 19: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l En equipos de 5 integrantes, tienen 10 minutos para resolver el siguiente problema

l Descripción:l Acaban de recibir como herencia un terreno con la forma de la

figura que se les entregará. Todos han acordado vender el terreno, por lo cual, requieren calcular el área de éste para determinar su precio.

l Actividad:l Actividad:l Identificar y escribir en su cuaderno los componentes del problemal Resolver el problema (Cada equipo contará con una regla y tijeras)

l Criterios para el éxito:l Cada equipo obtendrá el área de su terreno.l Todos los integrantes deben asegurarse que el resto de su equipo

entendió satisfactoriamente el proceso de resolución del problema.l Responsabilidad Individual:

l Cualquier integrante del equipo podrá ser seleccionado al azar para explicar la solución al frente

MC Mireya Tovar Vidal 19FCC - BUAP Otoño 2009

Page 20: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Compartiendo la solución con todosl Explicar el proceso que siguieron para resolver el problema

MC Mireya Tovar Vidal 20FCC - BUAP Otoño 2009

Page 21: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l ¿Logró el equipo resolver el problema y es capaz de explicar el proceso?

l ¿Cómo se podría mejorar la próxima vez?vez?

MC Mireya Tovar Vidal 21FCC - BUAP Otoño 2009

Page 22: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l La técnica que acaban de utilizar se llama Dividir y Vencer o divide y vencerás

l Se basa en la idea de separar o dividir un problema grande en pequeñas piezas más manejables

22

Problema difícil

Sub-problema

fácil

Sub-Problema

difícil

Sub-problema

fácil

Sub-problema

fácil

Sub-problema

fácil

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 23: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Otra técnica aplicable para nuestro problema, es la de bloques de construcción, la cual, es otra forma de atacar problemas “grandes”.

l Esta técnica consiste en ver si existe solución para piezas mas pequeñas del problema (los bloques o ladrillos) y si es mas pequeñas del problema (los bloques o ladrillos) y si es posible combinar estas soluciones para resolver todo o la mayoría del problema grande (hacer la pared)l Para nuestra actividad las “piezas pequeñas” fueron las figuras regulares, y la suma de todas las áreas, nos dio el área de la figura completa.

23FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 24: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l En equipos de 4 integrantes, tienen 15 minutos para resolver el siguiente problema

l Descripción:

Son el equipo campeón en armar rompecabezas y como parte de sus responsabilidades y experiencia, deben escribir una guía o instructivo para armar rompecabezas, que sirva de base para equipos novatos.

l Actividad:l Identificar y escribir en su cuaderno los componentes del problemal Identificar y escribir en su cuaderno los componentes del problemal Resolver el problemal Criterios para el éxito:l Cada equipo obtendrá la solución al problemal Todos los integrantes deben asegurarse que el resto de su equipo entendió satisfactoriamente el proceso de resolución del problema.

l Responsabilidad Individual:l Cualquier integrante del equipo podrá ser seleccionado al azar para explicar la solución al frente.

24FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 25: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Compartiendo la solución con todosl Explicar el proceso que siguieron para escribir la guía para armar un rompecabezas

25FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 26: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l ¿Logró el equipo resolver el problema y es capaz de explicar el proceso?

l ¿Cómo se podría mejorar la próxima vez?vez?

26FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 27: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l La técnica que acaban de utilizar se llama resolución por analogía.

l Consiste en relacionar un problema o una situación, con otra semejante que ya se ha resuelto anteriormente. Es decir, identificar algún patrón común.

27FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 28: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Instructivo para

28

Instructivo para construir papalotesReceta de cocina

Por AnalogíaGuía para armar Guía para armar Guía para armar Guía para armar rompecabezasrompecabezasrompecabezasrompecabezas

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 29: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l El punto es que puede haber más de un patrón en el problema, más de una respuesta correcta y más de una perspectiva desde la cual ver un problema.

l Mediante está técnica se han originado soluciones creativas. Por ejemplo, William Harvey fue el primero en aplicar la analogía de “bomba” al corazón, lo que llevó al descubrimiento del sistema circulatorio del cuerpo.

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 30: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

• Otra técnica que también podría aplicarse es la de buscar cosas que sean familiares.

l La idea es “nunca reinventar la rueda”. l Si una solución ya existe, usar esta. Es decir, si ya has resuelto el mismo o un problema similar antes, sólo repite la resuelto el mismo o un problema similar antes, sólo repite la solución.

l Incluso para escribir la guía, se podría investigar que existe en internet!

SimilarmenteSimilarmenteSimilarmenteSimilarmente

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 31: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Uno no aprende a ir a comprar el pan, después a ir a comprar leche, después huevo! , simplemente aprende uno a “ir a comprar a la tienda” , es decir, repite uno la misma solución. misma solución.

l En programación ciertos problemas se repiten uno y otra vez, por ejemplo obtener la máxima y mínima calificación de un grupo de alumnos, es igual a obtener la temperatura máxima y mínima de un conjunto de datos.

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 32: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 33: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l La técnica de análisis de medios y fines permite, trabajar con un objetivo o fin a la vez. Es decir, esta técnica consiste en descomponer el problema en sub-metas o sub-objetivos, ir escogiendo sub-metas para trabajar y solucionar una a una hasta completar la tarea, eliminando los obstáculos que le impiden llegar al eliminando los obstáculos que le impiden llegar al estado final.

l Un buen ejemplo donde aplicar está técnica, es para el problema de ir de una ciudad a otra, con varias ciudades intermedias. l En este caso las sub-metas son las ciudades intermedias y los medios son la forma de llegar de una ciudad a otra (avión, auto, caminando?)

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 34: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Ejemplo: l Si quisiéramos recorrer la ruta Maya, podríamos identificar las ciudades involucradas como sub-metas y decidir como llegar ahí, por ejemplo para llegar de Puebla a San Cristóbal, no podría ser por avión, tendríamos que buscar otra sub-meta, Tuxtla Gutiérrez, y de Tuxtla a San Cristóbal por auto, y así a cada localidad.

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 35: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l La última técnica para resolver problemas es combinar soluciones existentes.

l Esta técnica podría parecerse a la técnica de Buscar cosas que sean familiares, pero en este caso, es combinar las soluciones paso a paso, caso, es combinar las soluciones paso a paso, no solamente unir soluciones obtenidas separadamente.

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 36: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Ejemplo: l Para calcular el promedio de una lista de valores, debemos hacer dos cosas: l sumar los valores y l sumar los valores y l contarlos.

l Si tenemos dos soluciones separadas, una para sumar los valores y otra para contarlos, podemos combinarlas y así paso a paso ir sumando y contando y al final tendremos la solución al problema.

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 37: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

¿Qué hemos aprendido?

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 38: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Descripción del problema:l En un salón de 35 alumnos aprobaron el 40%. Determinar el número de alumnos reprobados.

l Actividad:l Actividad:l Analiza el problemal Explica que técnica (o técnicas) de resolución de problemas se adaptaría mejor para resolver este problema

l Resuelve el problema usando dicha técnica

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 39: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Compartiendo la solución con todos

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 40: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l En equipos de 5 integrantes, tienen 15 mins. resolver el siguiente problema

l Descripción:Supongamos que desea ir de Chihuahua a Cancún. Para logar esto se tienen varias opciones: usar el autobús, caminar, viajar en motocicleta, por tren, por avión o caminar. Dependiendo de las circunstancias, usted elegirá la opción que más le convenga. Si es que esta apurado, elegirá viajar por avión, si su Si es que esta apurado, elegirá viajar por avión, si su presupuesto no es muy alto, probablemente elija viajar por autobús.

l Actividad:l Analicen el problemal Explicar que técnica (o técnicas) de resolución de problemas se adaptarían mejor para resolver este problema. Sugieran al menos 3 técnicas

l Escriban el proceso que se debe seguir para resolver el problema.

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 41: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Criterios para el éxito:l Cada equipo obtendrá la solución al problemal Todos los integrantes deben asegurarse que el resto de su equipo entendió satisfactoriamente el resto de su equipo entendió satisfactoriamente el proceso de resolución del problema.

l Responsabilidad Individual:

l Cualquier integrante del equipo podrá ser seleccionado al azar para explicar la solución al frente.

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 42: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Inicio: ChihuahuaObjetivo: Cancún

Medios: Volar, caminar, motocicleta, manejar, Autobús

Inicio: ChihuahuaObjetivo: Cancún

Revisando medios:Volar a México y entonces a Cancún,Volar a Toluca y entonces a Cancún;

Solución: Medios - fines

Volar a Toluca y entonces a Cancún;volar a Puebla y entonces a Cancún

Inicio: ChihuahuaObjetivos intermedios:

MéxicoMeta: Cancún

Medios intermedios al objetivo: avión, caminar,motocicleta, manejar, autobús.

Solución: Tomar un vuelo cercano a México y entonces tomar otro vuelo a Cancún

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 43: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Algoritmo

¿Qué es un algoritmo?¿Qué es un algoritmo?

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 44: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

lHasta el momento, hemos hecho:ü Guías para armar un rompecabezasü Conjunto de instrucciones para

44

instrucciones para resolver un problemaü Descripción de procesos ü recetasü ect.

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 45: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Algoritmo

Acciones

Operaciones

Problema

Entrada Salida

Operaciones

Instrucciones

FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

EntradaEntradaEntrada SalidaEntrada

Page 46: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l En general, un algoritmo describe el método mediante el cual se realiza una tarea.

l Un algoritmo es una secuencia de instrucciones, las cuales, realizadas adecuadamente, dan lugar al resultado deseado.l La noción de algoritmo no es exclusiva de la computación ni de la Matemática. Existen algoritmos que describen toda clase de procesos de la vida real (por ejemplo, las recetas de cocina, las partituras musicales, los planos con las instrucciones para construir una casa, etc..).

46FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 47: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l Un algoritmo es un conjunto finito de reglas que dan lugar a una secuencia de operaciones para resolver un tipo específico de problema.

l Un algoritmo debe cumplir cinco importantes condiciones:l Finitud: Un algoritmo tiene que acabar siempre tras un número finito de pasos.finito de pasos.

l Definibilidad: Cada paso de un algoritmo debe definirse de modo preciso; las acciones a realizar han de estar especificadas para cada caso rigurosamente y sin ambigüedad

l Conjunto de entradas: Debe existir un conjunto especificado de objetos, cada uno de los cuales constituyen los datos iniciales del caso particular del problema que resuelve el algoritmo.

l Conjunto de salida: salida o respuesta que debe obtener el algoritmo para los diferentes casos particulares del problema.

l Efectividad: Un algoritmo debe ser efectivo.

47FCC - BUAP Otoño 2009MC Mireya Tovar Vidal

Page 48: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Partes de un algoritmo

l Entrada: Información dada al algoritmo.l Proceso: Operaciones o cálculos necesarios para encontrar la solución del problema.Salida: Respuestas dadas por el algoritmo o l Salida: Respuestas dadas por el algoritmo o resultados finales de los procesos realizados.

SalidaProceso

Entrada

Page 49: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Ejemplo l Desarrollar un algoritmo que calcule la superficie de un rectángulo proporcionando su base y altura.

l Preguntas:l Especificaciones de entrada

l ¿Que datos son de entrada?l ¿Cuántos datos se introducirán?l ¿Cuales son los datos de entrada válidos?l ¿Cuales son los datos de entrada válidos?

l Especificaciones de salidal ¿Cuáles son los datos de salida?l ¿Cuántos datos de salida se producirán?l ¿Qué formato y precisión tendrán los resultados?

l Algoritmo:Paso 1. Entrada desde el teclado, de los datos de base y altura.Paso 2. Cálculo de la superficie, multiplicando la base por la altura.Paso 3. Salida por pantalla de base, altura y superficie calculada.

Page 50: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

l El lenguaje algorítmico debe ser independiente de cualquier lenguaje de programación particular, pero fácilmente traducible a cada uno de ellos.

l Alcanzar estos objetivos conducirá al empleo de métodos normalizados para la representación de algoritmos, tales como los diagrama de flujo o pseudocódigo.

Verificación de algoritmosl Una vez que se ha terminado de escribir un algoritmo es necesario comprobar que realiza las tareas para las que se ha diseñado y produce el resultado correcto y esperado.

l El modo más normal de comprobar un algoritmo es mediante su ejecución manual, usando datos significativos que abarquen todo el posible rango de valores (prueba del algoritmo).

Page 51: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Ejemplo 1.1l Un procedimiento que realizamos varias veces al día consiste en lavarnos los dientes. Veamos la forma de expresar este procedimiento como un Algoritmo:1. Tomar la crema dental2. Destapar la crema dental3. Tomar el cepillo de dientes4. Aplicar crema dental al cepillo4. Aplicar crema dental al cepillo5. Tapar la crema dental6. Abrir la llave del lavamanos7. Remojar el cepillo con la crema dental8. Cerrar la llave del lavamanos9. Frotar los dientes con el cepillo10. Abrir la llave del lavamanos11. Enjuagarse la boca12. Enjuagar el cepillo13. Cerrar la llave del lavamanos14. Secarse la cara y las manos con una toalla

Page 52: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Ejemplo

l Veamos que algo tan común como los pasos para cambiar un foco se pueden expresar en forma de Algoritmo:

1. Ubicar una escalera o un banco debajo del foco fundido1. Ubicar una escalera o un banco debajo del foco fundido2. Tomar un foco nuevo3. Subir por la escalera o al banco4. Girar el foco hacia la izquierda hasta soltarlo5. Enroscar el foco nuevo hacia la derecha en el plafón hasta apretarlo

6. Bajar de la escalera o del banco7. Fin

Page 53: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Actividad

l Discutir en equipo el ejemplo del foco y proponer algunas mejoras.

l Luego, un voluntario debe pasar al pizarrón y escribir un Algoritmo con participación de escribir un Algoritmo con participación de toda la clase

Page 54: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Ejemplol Consideremos algo más complejo como el algoritmo de Euclides para hallar el Máximo Común Divisor (MCD) de dos números enteros positivos dados. Obsérvese que no se especifica cuáles son los dos números, pero si se establece claramente una restricción: deben ser enteros y positivos.

ALGORITMOALGORITMOPaso 1: Inicio.Paso 2: Leer los dos números (“a” y “b”). Avanzar al paso 3.Paso 3: Comparar “a” y “b” para determinar cuál es mayor. Avanzar al paso 4.Paso 4: Si “a” y “b” son iguales, entonces ambos son el resultado esperado y termina el algoritmo. En caso contrario, avanzar al paso 5.

Paso 5: Si “a” es menor que “b”, se deben intercambiar sus valores. Avanzar al paso 6; si “a” no es menor que “b”, avanzar al paso 6.

Paso 6: Realizar la operación “a” menos “b”, asignar el valor de “b” a “a” y asignar el valor de la resta a “b”. Ir al paso 3.

Page 55: Resolución de problemasmtovar/doc/MP/unidad1b.pdf · Fase de RESOLUCIÓN de PROBLEMAS Fase de IMPLEMENTACIÓN Tomado de: Programming and Problem Solving with Ja va. Nell Dale Chap

Ejercicio

l A un trabajador le pagan según sus horas y una tarifa de pago por horas. Si la cantidad de horas trabajadas es mayor a 40 horas. La tarifa se incrementa en un 50% para las tarifa se incrementa en un 50% para las horas extras. Calcular el salario del trabajador, dadas las horas trabajadas y la tarifa.