Sie sind auf Seite 1von 6

Metodologa para la Solucin de Problemas Algortmicos (MAPS)

Metodologa para la Solucin de Problemas Algortmicos (MAPS)


A continuacin se describen las etapas de la Metodologa para la Resolucin de Problemas
Algortmicos propuesta por Tucker et al., denominada por sus siglas en ingles "MAPS". Son
siete las etapas, que a continuacin se describen:
Etapa 1: El Dialogo
Comprender el problema. Leer el enunciado del problema y hacer preguntas sobre las
caractersticas de las entradas y las salidas. Consiste en la identificacin de las entradas, las
salidas y sus respectivas limitaciones, para un problema determinado, como fruto de un proceso
de anlisis, en el cual se le sugiere al estudiante aplicar un enfoque sistmico para realizar una
correcta delimitacin del problema.
Etapa 2: Las Especificaciones
Comprendido el paso anterior se procede a definir las especificaciones a partir de las entradas y
salidas identificadas en la etapa anterior. Este proceso tiene como fin predecir las pre y post
condiciones expresadas como predicados, que en un futuro permitirn evaluar la consistencia
del algoritmo ya sea utilizndolas como estados iniciales, intermedios o finales.
El estudiante debe tener conocimiento previos de lgica matemtica para lograr
especificaciones claras de las pre y post condiciones. Escribir pre y postcondiciones que sean
completas y consistentes. Es decir, asegurarse de que las precondiciones cubren todas las
posibles entradas, que las postcondiciones definen la salida para todas las posibles entradas, y
que tanto las precondiciones como las postcondiciones son interna y mutuamente consistente.
Etapa 3: La Divisin
Esta etapa consiste en la elaboracin del algoritmo, diseo del mismo, fundamentada en las
tcnicas y herramientas que se expusieron anteriormente. Realizar subdivisiones del proceso en
una coleccin de pasos diferentes. Repetir este proceso para cada paso hasta que la subdivisin
no tenga sentido.
Identificar las relaciones de control entre los distintos pasos. Es decir Qu paso debe preceder
a cul ?, Qu pasos son parte de otro mas complejo?, Qu pasos deben repetirse dentro de un
bucle?, y as sucesivamente.
Etapa 4: Definicin de Abstracciones
En esta etapa se determinan cules de los pasos que se han utilizado, recolectndolos y
adaptarlos en una solo rutina para ser utilizada en la situacin presente. Se debe identificar
rutinas que se puede reutilizar en el programa, ya sea que existan o que necesite desarrollar l
Fuente: http://czsistemas.net63.net/index.php?page=algoritmo6 Adaptado por: Ing. Zamantha Gonzlez

Metodologa para la Solucin de Problemas Algortmicos (MAPS)

mismo, esto le permitir realizar sus programas mas fcilmente y de tal forma que su
mantenimiento y comprensin sea mas fcil.
En muchos casos, esta tarea implica la construccin de nuevas rutinas a partir de otras, o
incluso construir una nueva para una utilizacin mas especializada.
Etapa 5: Codificacin
Se trata de trasladar el algoritmo a un lenguaje de programacin, crear el programa fuente con
base en la sintaxis propuesta por el lenguaje de programacin escogido, compilarlo y por ultimo
depurarlo.
Etapa 6: Prueba y Verificacin
Se realizan las pruebas y verificaciones del programa con miras a que este sea: un programa
correcto, robusto y amigable. La prueba se realiza para el conjunto de entradas que permita
explorar todo el rango de valores permitidos por las precondiciones, para cada ejecucin,
comprobar que las salidas satisfacen las poscondiciones.
Etapa 7: Presentacin
Se debe crea la documentacin necesaria, esta debe ser tanto interna (expresada en lneas de
texto dentro del programa) como externa (creando un documento anexo que exponga los
aspectos clave del programa para su mantenimiento posterior), de forma tal, que su
mantenimiento sea fcil.
Se debe identificar el programa, el autor la fecha, una explicacin de cada rutina utilizada, no
hay lmite en cuanto a comentarios, de tal manera que faciliten la modificacin programa.
Ahora bien, el desarrollo de estas etapas involucra dos conceptos fundamentales como son:
Anlisis, que consiste en definir las partes en funcin de un comportamiento, o sea, de algo
general y desconocido obtener algo especfico y conocido. Es ir del todo a las partes. Es
responder a preguntas que involucran Qu?, consiste en indagar. Por ejemplo: Qu debe
entrar al problema?, Qu resultados deben salir del problema? y Qu procesos debe ejecutar
el problema para convertir las entradas en salidas?
Sntesis, que consiste en definir un comportamiento a partir de una serie de partes, es ir de las
partes al todo, de algo conocido a lo desconocido, consiste en crear. Es responder a preguntas
sobre Cmo?. Por ejemplo: Cmo se debe desarrollar este proceso para lograr convertir las
entradas en salidas?

Fuente: http://czsistemas.net63.net/index.php?page=algoritmo6 Adaptado por: Ing. Zamantha Gonzlez

Metodologa para la Solucin de Problemas Algortmicos (MAPS)

Ejemplo. Metodologa para la Solucin de Problemas algortmicos


Ya estamos en capacidad de dar solucin a un problema utilizando una metodologa, es este
caso aplicaremos la metodologa MAPS desde el principio al fin.
El Dialogo
Deseamos calcular el promedio de las notas de los estudiantes de un curso de Introduccin a la
programacin. El promedio se va a realizar para cada estudiante individualmente.
Los datos de entrada sern introducidos por el teclado, hasta que se desee finalizar la
introduccin de los datos utilizando un valor especfico para tal fin.
Despus de haber introducido los valores por el teclado se procede a calcular el promedio de la
nota para el estudiante. Terminado este proceso se presenta el promedio de la nota por la
pantalla, permitiendo elegir para ingresar otros datos de entrada para otro estudiante o permitir
salir del sistema.
Las notas de los estudiantes estarn comprendidas entre 1 y 20 puntos, la cantidad de
estudiantes no est limitada, se podrn calcular todos los promedios de notas que se deseen
realizar o hasta salir del sistema.
Tenemos como datos de entrada: las calificaciones de los estudiantes.
Datos de salida: el promedio de las calificaciones.
Las Especificaciones:
Si denotamos por Nota1 la primera calificacin, Nota2 la segunda y as sucesivamente. A
continuacin se presenta una descripcin precisa del problema, en forma de precondiciones y
poscondiciones:
{pre: entrada = (Nota1, Nota2, ..., Nota n) ^ n>0 ^ i = nai =
{post: entrada = (PM1, PM2, , PMn) ^ n>0 ^ i = n
salida = Sum i = ain
Llamamos a Sum la suma de las calificaciones, n el nmero de las calificaciones y PM el
promedia de las calificaciones. Por lo tanto Sum, n y PM son variable del problema.
La forma de presentar la precondicin y poscondicin es el lenguaje de la lgica de predicados.
Cuando se utiliza la lgica de predicados de esta forma, se dice que realizamos aciertos acerca
de los estados inicial y final del proceso.
En el ejemplo no se deja duda sobre la exclusin del caso en que existan cero entradas en el
problema. Por lo tanto la solucin algortmica de este problema no tiene que ocuparse de este
caso.
Fuente: http://czsistemas.net63.net/index.php?page=algoritmo6 Adaptado por: Ing. Zamantha Gonzlez

Metodologa para la Solucin de Problemas Algortmicos (MAPS)

El haber escrito entrada = Vaco en la poscondicin significa que, al final del proceso, la
entrada estar vaca. Es decir que todas las entradas habrn sido ledas por el proceso, pero no
pueden ser ledas de nuevo. Es decir que un valor no puede ser obtenido de nuevo despus de
haberse obtenido una vez, y los valores individuales de entrada se obtienen exactamente en el
orden en que se introducen por el teclado.
La Particin
Los pasos de este problema son evidentes, si nos ponemos a pensar en el dialogo y las
especificaciones, podemos definir los siguientes pasos :
paso 1 : Obtener la lista de calificaciones
paso 2 : calcular n = nmero de notas de la lista
paso 3 : calcular Sum = la suma de las calificaciones de la lista
paso 4 : Calcular prom = Promedio de las notas = Sum / n
paso 5 : Presentar el promedio prom
La forma de presentar el algoritmo es la siguiente:

Fuente: http://czsistemas.net63.net/index.php?page=algoritmo6 Adaptado por: Ing. Zamantha Gonzlez

Metodologa para la Solucin de Problemas Algortmicos (MAPS)

Definicin de abstracciones
En esta parte vamos a definir las rutinas. Una rutina es una parte de un algoritmo que puede
reutilizarse en otros contextos de resolucin de problemas algortmicos.
Un algoritmo o parte de l, que parcialmente puede ser reutilizado recibe el nombre de rutina.
Algunas rutinas son comunes y estn incluidas en los lenguajes de programacin, para
utilizarlas en los programas.
Consideremos la abstraccin: Promediodelistas, una rutina que realiza el clculo del promedio
de los valores de una lista de notas. El procedimiento para definir una rutina es le siguiente.
nombrar la abstraccin, asignarle un nombre que identifique claramente el algoritmo que
representa.
Redefinir precondiciones y poscondiciones del problema, de tal manera que la solucin pueda
implementarse como una rutina.
Implementar la abstraccin como un procedimiento o funcin. Comprobacin de la integridad
de la abstraccin: Antes de utilizar una rutina, debemos asegurarnos de que hemos realizado
correctamente el proceso de abstraccin. como mnimo, esto requiere reestructurar el
programa original del que hemos partido para realizar la abstraccin, y comprobar que el
programa sigue satisfaciendo las especificaciones originales con la abstraccin realizada.
El algoritmo de nuestro ejemplo quedara implementado de la siguiente forma:

Fuente: http://czsistemas.net63.net/index.php?page=algoritmo6 Adaptado por: Ing. Zamantha Gonzlez

Metodologa para la Solucin de Problemas Algortmicos (MAPS)

Definicin de la rutina

Codificacin.
En pocas palabras la codificacin es la traslacin de la solucin del algoritmo a un programa,
junto con su documentacin. En la solucin de un problema algortmico parte del cdigo se
obtiene
durante
las
etapas
de
Particin
y
Abstraccin.
Prueba y Verificacin. El Objetivo es garantizar lo mas posible que la solucin diseada es
correcta y completa en todos sus extremos. Es decir comprobar que para todas la
precondiciones se producir un resultado consistente con las poscondiciones.
Presentacin. La presentacin de un solucin completa de un problema, debe incluir, adems
del
propio
texto
del
programa,
los
elementos
siguientes:
Una introduccin escrita en castellano, identificando los autores, y que describa el problema,
la solucin y de un aspecto importante.
Un ejemplo de entradas y las respectivas salidas obtenidas, en una o varias ejecuciones del
programa.
Un resumen de los resultados de verificacin y/o prueba del programa, en los casos que sea
adecuada. En pocas palabras, la presentacin de la solucin a un problema debe hacerse de
forma que un lector interesado sea capaz de comprenderla.

Fuente: http://czsistemas.net63.net/index.php?page=algoritmo6 Adaptado por: Ing. Zamantha Gonzlez

Das könnte Ihnen auch gefallen