1 Problemas

15
Introducción Introducción Ing. Paulo Guerra Terán. Ing. Paulo Guerra Terán. Ing. Geográfica Ing. Geográfica

description

En esta presentación se da una introducción a los problemas que pueden ser resueltos mediante el uso de los algoritmos

Transcript of 1 Problemas

Page 1: 1 Problemas

IntroducciónIntroducción

Ing. Paulo Guerra Terán.Ing. Paulo Guerra Terán.

Ing. GeográficaIng. Geográfica

Page 2: 1 Problemas

En la vida real todos resolvemos dos tipos de problemasEn la vida real todos resolvemos dos tipos de problemas

Problemas Cualitativos:Problemas Cualitativos: Estos resuelven problemas de la vida Estos resuelven problemas de la vida cotidiana.cotidiana.

Ejemplos:Ejemplos: Subirse a una bicicleta, realizar una llamada telefónica, Subirse a una bicicleta, realizar una llamada telefónica,

cambiar una llanta a un auto, etc.cambiar una llanta a un auto, etc.

Problemas Cuantitativos:Problemas Cuantitativos: Estos resuelven problemas Estos resuelven problemas Matemáticos aplicados a cualquier rama de la ciencia.Matemáticos aplicados a cualquier rama de la ciencia.

Ejemplos:Ejemplos: Matemáticas (aritmética, algebra), Física (velocidad, masa, Matemáticas (aritmética, algebra), Física (velocidad, masa,

Fuerzas, tiempo, distancia, etc.), Química, etc.Fuerzas, tiempo, distancia, etc.), Química, etc.

Page 3: 1 Problemas

Clasificación de los problemasClasificación de los problemas

Los problemas se clasifican en solubles, no solubles e indecidible.Los problemas se clasifican en solubles, no solubles e indecidible. Un problema se dice Un problema se dice SOLUBLE SOLUBLE si se sabe de antemano que si se sabe de antemano que

existe una solución para él.existe una solución para él. Un problema se dice Un problema se dice INSOLUBLEINSOLUBLE si se sabe que no existe una si se sabe que no existe una solución para él. solución para él. Un problema se dice Un problema se dice INDECIDIBLEINDECIDIBLE si no se sabe si existe o si no se sabe si existe o no existe solución para él. no existe solución para él.

A su vez, los problemas solubles se dividen en dos clases: los A su vez, los problemas solubles se dividen en dos clases: los algorítmicos y los no algorítmicos.algorítmicos y los no algorítmicos.

Un problema se dice Un problema se dice ALGORÍTMICOALGORÍTMICO si existe un algoritmo si existe un algoritmo que permita darle solución.que permita darle solución. Un problema se dice Un problema se dice NO ALGORÍTMICONO ALGORÍTMICO si no existe un si no existe un algoritmo que permita encontrar su solución. algoritmo que permita encontrar su solución.

Page 4: 1 Problemas

EjemplosEjemplos

Sean los puntos Sean los puntos P=(a ,b)P=(a ,b) y y Q=(c ,d)Q=(c ,d) que definen una recta, que definen una recta, encontrar un segmento de recta perpendicular a la anterior que encontrar un segmento de recta perpendicular a la anterior que pase por el punto medio de los puntos dados. pase por el punto medio de los puntos dados.

OBJETOS CONOCIDOS OBJETOS CONOCIDOS Los puntos Los puntos PP y y Q.Q. CONDICIONES CONDICIONES El segmento de recta debe pasar por el punto El segmento de recta debe pasar por el punto

medio entre medio entre PP y y QQ, y debe ser perpendicular a la recta trazada , y debe ser perpendicular a la recta trazada entre entre PP y y QQ

TIPO DE PROBLEMA TIPO DE PROBLEMA Soluble-algorítmico. Es soluble por Soluble-algorítmico. Es soluble por que ya existe un algoritmo que permite encontrar la solución del que ya existe un algoritmo que permite encontrar la solución del mismo.mismo.

Page 5: 1 Problemas

SoluciónSoluciónINICIO

PASO 1 PASO 2

PASO 3 PASO 4

Page 6: 1 Problemas

De las siguientes cuatro imágenes, ¿cuál es la más De las siguientes cuatro imágenes, ¿cuál es la más llamativa?llamativa?

OBJETOS DESCONOCIDOS OBJETOS DESCONOCIDOS Una de las cuatro Una de las cuatro imágenes. imágenes.

OBJETOS CONOCIDOS OBJETOS CONOCIDOS Las cuatro imágenes.Las cuatro imágenes. TIPO DE PROBLEMA TIPO DE PROBLEMA Soluble-no algorítmico. La Soluble-no algorítmico. La

solución existe, pero no existe un algoritmo que solución existe, pero no existe un algoritmo que permita determinar cual es, ya que el concepto de permita determinar cual es, ya que el concepto de imagen más llamativa no esta bien definido.imagen más llamativa no esta bien definido.

Page 7: 1 Problemas

Fases para resolución de un ProblemaFases para resolución de un Problema

El proceso de resolución de problema mediante El proceso de resolución de problema mediante computadora se lo realiza con la escritura de un computadora se lo realiza con la escritura de un programa y su ejecución. Este proceso se lo puede programa y su ejecución. Este proceso se lo puede realizar siguiendo las siguientes fases o pasos comunes:realizar siguiendo las siguientes fases o pasos comunes:

2.2. Análisis del problemaAnálisis del problema3.3. Diseño del algoritmoDiseño del algoritmo4.4. CodificaciónCodificación5.5. Compilación y ejecuciónCompilación y ejecución6.6. VerificaciónVerificación7.7. MantenimientoMantenimiento8.8. Documentación. Documentación.

Page 8: 1 Problemas

n Análisis. Análisis. Se debe examinar cuidadosamente el Se debe examinar cuidadosamente el problema a fin de obtener una idea clara sobre lo que problema a fin de obtener una idea clara sobre lo que se solicita y determinar los datos necesarios para se solicita y determinar los datos necesarios para resolverloresolverlo..

En esta fase se debe determina En esta fase se debe determina quéqué hace el programa. hace el programa.

n Diseño. Diseño. Una vez analizado el problema, se diseña Una vez analizado el problema, se diseña una solución (algoritmo) que resuelva el problema.una solución (algoritmo) que resuelva el problema.

En esta fase se determina En esta fase se determina cómocómo hace el programa la hace el programa la tarea solicitada. tarea solicitada.

Un Un algoritmoalgoritmo es secuencia ordenada de pasos, sin es secuencia ordenada de pasos, sin ambigüedades, que conducen a la resolución de un ambigüedades, que conducen a la resolución de un problema dado y expresado en lenguaje natural, por problema dado y expresado en lenguaje natural, por ejemplo el castellano.ejemplo el castellano.

Page 9: 1 Problemas

Finito: Al seguir el algoritmo, este debe terminar en algún momento, es decir tener un número finito de pasos.Preciso: cada instrucción debe indicar de forma inequívoca que se tiene que hacerDefinido: debe producir los mismos resultados para las mismas condiciones de entrada.Para diseñar un algoritmo se debe comenzar por identificar las tareas más importantes para resolver el problema y disponerlas en el orden en el que han de ser ejecutadas

Page 10: 1 Problemas

Secciones de un algoritmoSecciones de un algoritmo

¿Qué datos pertinentes necesito para resolver este problema?

Representa la operación o conjunto de operaciones secuenciales

¿Que es lo que quiero de salida, que resultados?

Page 11: 1 Problemas

EjemploEjemplo PROBLEMA:PROBLEMA: Cambiar la rueda pinchada de un Cambiar la rueda pinchada de un

automóvil teniendo un gato mecánico en buen automóvil teniendo un gato mecánico en buen estado, una rueda de reemplazo y una llave estado, una rueda de reemplazo y una llave inglesa.inglesa.

InicioPASO 1. Aflojar los tornillos de la rueda pinchada con la llave inglesa.PASO 2.    Ubicar el gato mecánico en su sitio.PASO 3.    Levantar el gato hasta que la rueda pinchada pueda girar libremente.PASO 4.    Quitar los tornillos y la rueda pinchada.PASO 5.    Poner rueda de repuesto y los tornillos.PASO 6.    Bajar el gato hasta que se pueda liberar.PASO 7.    Sacar el gato de su sitio.PASO 8.    Apretar los tornillos con la llave inglesa.Fin

Page 12: 1 Problemas

EjemploEjemplo

Para calcular el promedio de 3 calificaciones, me dan la siguiente Para calcular el promedio de 3 calificaciones, me dan la siguiente información calificación1, calificación2, calificación3, edad, nombre, información calificación1, calificación2, calificación3, edad, nombre, estatura, temperatura del ambiente.estatura, temperatura del ambiente.

Definir:Definir:

Datos de EntradaDatos de Entrada

ProcesoProceso

Datos de Salida Datos de Salida

Calificación1, Calificación2,Calificación3

P=(Calificación1+Calificación2+Calificación3)/Total de Calificaciones

P

Page 13: 1 Problemas

n Codificación(implementación). Codificación(implementación). Es la escritura Es la escritura en un lenguaje de programación de la representación del en un lenguaje de programación de la representación del algoritmo desarrollado en las etapas precedentes.algoritmo desarrollado en las etapas precedentes.

Para que un algoritmo pueda ser ejecutado por una Para que un algoritmo pueda ser ejecutado por una computadora se necesita expresar el algoritmo en computadora se necesita expresar el algoritmo en instrucciones comprensibles por la computadora, para instrucciones comprensibles por la computadora, para esto se requiere de un determinado lenguaje de esto se requiere de un determinado lenguaje de programación. Al algoritmo expresado en un determinado programación. Al algoritmo expresado en un determinado lenguaje de programación, se denomina programa.lenguaje de programación, se denomina programa.

Page 14: 1 Problemas

1.1. Ejecución, verificación y depuraciónEjecución, verificación y depuración El programa se ejecuta, se comprueba El programa se ejecuta, se comprueba

rigurosamente y se eliminan todos los errores que rigurosamente y se eliminan todos los errores que puedan aparecer.puedan aparecer.

n Mantenimiento.Mantenimiento. El programa se actualiza y El programa se actualiza y modifica, cada vez que sea necesario de modo modifica, cada vez que sea necesario de modo que se cumpla todas las necesidades de cambio que se cumpla todas las necesidades de cambio de sus usuarios. de sus usuarios.

n Documentación.Documentación. Escritura de las diferentes Escritura de las diferentes fases, esencialmente el análisis, diseño y fases, esencialmente el análisis, diseño y codificación, unidos a manuales de usuario y de codificación, unidos a manuales de usuario y de referencia, así como normas de mantenimiento.referencia, así como normas de mantenimiento.

Page 15: 1 Problemas

TECNICAS PARA LA FORMULACION TECNICAS PARA LA FORMULACION DE ALGORITMOSDE ALGORITMOS

Las técnicas para la formulación de algoritmos Las técnicas para la formulación de algoritmos más populares son: más populares son:

Diagramas de flujoDiagramas de flujo

PseudocódigoPseudocódigo

Diagrama estructurado (N-S)Diagrama estructurado (N-S)