sábado, 16 de marzo de 2013

Introducción a MTP IV

Seguimos con la introducción del curso de metodología de la programación, para acceder al indice de contenidos pulsa sobre este enlace.

Solución de problemas.



Definición del Problema.


Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa.  
Tomar en cuenta que la solución del problema debe estar en función de lo que el problema requiera y no en función de lo que el programador quiera. 
Es importante que se conozca lo que se desea que realice la aplicación.

Análisis del Problema.

Al comenzar a abordar un problema hay que tener en cuenta que para la mayoría de ellos hay muchas maneras de resolverlos y pueden existir muchas soluciones.
El propósito del análisis del problema es ayudar al programador para llegar a una cierta comprensión de la naturaleza del problema.
Una buena definición del problema junto con una descripción detallada de las especificaciones  de entrada y de salida, son los requisitos más importantes para llegar a una solución eficaz. 

Usar toda la información útil disponible en el enunciado del problema. 
Hacer explícitas las reglas y datos que aparezcan.
Profundizar en el problema considerado.
Dividir el problema complejo en subproblemas más simples. Que se pueden resolver independientemente y después combinar sus solucione

Una vez que se ha comprendido lo que se desea del ordenador, es necesario definir:  
  • Los datos de entrada.  
  • Cual es la información que se desea producir (salida)  
  • Los métodos y fórmulas que se necesitan para procesar los datos. 
Ejercicio.
  • Leer el radio de circulo y calcular e imprimir su superficie.Definición del problema.

    Análisis del problema.
    Entrada:
    Salida:
Solución Ejercicio.
  • Leer el radio de circulo y calcular e imprimir su superficie.Definición del problema. Calcular la superficie de una circunferencia Análisis del problema. Entrada: El radio de la circunferencia de tipo real. Salida:La superficie de tipo real. 
Diseño del Algoritmo

Un algoritmo es la secuencia de pasos para resolver un problema.

Las características de un buen algoritmo son:  
  • Debe tener un punto de inicio.  
  • Debe estar bien definido(no interpretaciones) .
  • Debe ser general, soportar las variantes que se puedan presentar en la definición del problema.  
  • Debe ser finito en tamaño y tiempo de ejecución.


Diseño descendente (Top-Down)

Es una serie de descomposiciones sucesivas del problema inicial.
Consiste en establecer una serie de niveles de mayor a menor complejidad que den solución al problema.

Se crean etapas para resolver el problema cada etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de información.

La utilización de la técnica de diseño descendente tiene los siguientes objetivos:  
  • Simplificación del problema y de los sub programas de cada descomposición.  
  • Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por diferentes personas.   
  • El programa final queda estructurado en forma de bloque o módulos lo que hace mas sencilla su lectura y mantenimiento.

Ejemplos:

Entrar en casa



Calcular tiempo conducir entre dos ciudades.


Divide y vencerás.

Consiste en descomponer un  problema en sub problemas, resolver independientemente  los sub problemas para luego combinar sus soluciones y obtener una solución del problema original.
Esta técnica puede ser utilizada con éxito en problemas como multiplicación de matrices, ordenación de vectores, etc.

Ejemplos:

Encontrar la puerta de salida en un pasillo.



¿Probar con la primera puerta?

Si es la de salida entonces fin.

Buscar en las restantes puertas.

Buscar pagina en un libro.

Elegir una pagina

¿Es la buscada?

Si entonces fin.

Sino
¿La página actual es menor que la buscada?
Si, Buscar desde el inicio a la página actual
No, Buscar desde actual al fin.

Factorial de 10.
Si N es 0 su factorial es 1 fin
Sino
Si N es 1 su factorial es 1 fin
Sino
                Factorial de N es N*Factorial de N-1


Verificación del algoritmo.


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

El modo más normal de comprobar un algoritmo es mediante la ejecución manual, usando datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel  las modificaciones que se producen en las diferentes fases hasta la obtención de los resultados.


No hay comentarios:

Publicar un comentario