You are on page 1of 3

UNIDAD II DISEO DE ALGORITMOS 2.1 Metodologa para la solucin de problemas.

Para resolver, o al menos plantear una posible solucin, de cualquier tipo de problema existen diferentes metodologas basadas en modelos de acuerdo al problema en cuestin. En la solucin propuesta para resolver problemas por computadoras, existe una metodologa en 7 pasos que se describen a continuacin; los cuales de recomiendan seguir en ese orden. Paso 1.-Definicin (planteamiento) del problema. Esta dada por el enunciado del problema, el cual debe ser claro y completo. Es importante que se conozca exactamente que es lo que se desea que realice la computadora, mientras esto no se conozca del todo, no tiene mucho caso continuar con la siguiente etapa. Paso 2.- Anlisis del problema. Esta fase requiere una clara definicin donde se contemple exactamente lo que debe hacer el programa y el resultado o solucin deseada. Dado que se busca una solucin se precisan especificaciones de entrada y salida. Para definir bien un problema es conveniente responder a las siguientes preguntas: Qu entradas se requieren? (cantidad y tipo) Cul es la salida deseada? (cantidad y tipo) Qu mtodo(s) produce(n) la salida deseada? Paso 3.- Diseo del algoritmo. En la fase de anlisis en el proceso de programacin se determina que hace el programa. En la fase de diseo se determina como hace el programa la tarea solicitada. Los mtodos utilizados para el proceso del diseo se basan en el conocido divide y vencers. Es decir la resolucin de un problema complejo se realiza diviendo el problema en subproblemas y a continuacin dividir estos subproblemas en otros de nivel mas bajo, hasta que sea implementada una solucin en la computadora.

Cada programa bien diseado consta de un programa principal (el mdulo de nivel mas alto) que llama a subprogramas (mdulos) de nivel mas bajo, que a su vez pueden llamar a otros subprogramas. Los mdulos pueden ser planeados, codificados, comprobados y depurados independientemente y a continuacin combinarlos entre s. Este proceso implica la ejecucin de estos pasos hasta que el programa se ha terminado: Programar un mdulo. comprobar el mdulo. Si es necesario, depurar el mdulo. Combinar el mdulo, con el resto de los otros mdulos.

El diseo del algoritmo es independiente del lenguaje de programacin. Paso 4.- Codificacin. Es la escritura en un lenguaje de programacin de la representacin de un algoritmo. Dado que el diseo del algoritmo es independiente del lenguaje de programacin utilizado en su implementacin, el cdigo puede ser escrito con igual facilidad en un lenguaje o en otro. Una vez que el algoritmo se ha convertido en un programa fuente, es preciso introducirlo en memoria mediante el teclado y almacenarlo posteriormente en un disco. Esta operacin se realiza con un editor de texto, posteriormente el programa fuente se convierte en un archivo de programa que se guarda en un disco. El programa fuente debe ser traducido a lenguaje mquina. Este proceso se realiza con el compilador y el sistema operativo que se encarga prcticamente de la compilacin. Si al compilar el programa fuente se presentan errores (errores de compilacin), es necesario volver a editar el programa, corregir los errores y compilar de nuevo. Esto se repite hasta que ya no se presenten ms errores, obtenindose el programa objeto, el cual todava no es ejecutable directamente. Al ya no existir errores en el programa fuente se debe instruir al sistema operativo para que efecte la fase de montaje o enlace, del programa fuente con las libreras del programa del compilador. Este proceso de montaje produce un programa ejecutable. Cuando se ha creado un programa ejecutable este se puede ya ejecutar desde el sistema operativo con solo teclear su nombre. Suponiendo que no existen errores durante la ejecucin (errores en tiempo de ejecucin), se obtendr la salida de resultados correctos del programa. Paso 5.- Prueba y depuracin. Es el proceso de ejecucin del programa con una amplia variedad de datos de entrada, llamados datos de test o prueba como son: valores normales de entrada, valores extremos de entrada que comprueben los lmites del programa y valores de entrada que

comprueben aspectos especiales del programa. Estos determinarn si el programa contiene errores o no. Al ejecutar un programa se pueden producir tres tipos de errores: Errores de Compilacin: Se producen normalmente por un uso incorrecto de las reglas del lenguaje de programacin, suelen ser errores de sintaxis. Errores de Ejecucin: Se producen por instrucciones que la computadora puede comprender pero no ejecutar. En estos casos se detiene la ejecucin del programa y se imprime un mensaje de error. Ejemplo de esto puede ser una divisin por cero. Errores Lgicos: Se producen en la lgica del programa y la fuente del error suele ser el diseo del algoritmo, son ms difciles de detectar puesto que el programa puede funcionar y no producir errores de compilacin ni de ejecucin pero regresar resultados incorrectos. En este caso se debe regresar a la fase de diseo, modificar el algoritmo, cambiar el programa fuente y compilar y depurar una vez ms. Paso 6.- Documentacin. La importancia de la documentacin debe ser destacada por su influencia en la etapa final, ya que programas pobremente documentados son difciles de leer, mas difciles de depurar y casi imposibles de mantener y modificar. Puede ser interna y externa. La documentacin interna es la contenida en lneas de comentarios. La documentacin externa incluye anlisis, diagramas de flujo y/o pseudocdigos, manuales de usuarios con instrucciones para ejecutar el programa y para interpretar los resultados. Paso 7.- Mantenimiento. La documentacin es vital cuando se desea corregir posibles errores futuros o bien cambiar el programa. Estos cambios se denominan mantenimiento del programa. Adems es de buena costumbre para todo buen programador, dejar comentado su cdigo, esto es para que el futuro programador pueda darle mantenimiento fcilmente a el programa, o incluso, si es el mismo creador quien debe darle mantenimiento.

You might also like