Seguidores

lunes, 3 de septiembre de 2012

Modelo de Solucion La Resolución de Problemas Utilizando la Computadora

Fases para la Resoluci´ on de Problemas
1. Analisis del Problema. En la fase de analisis en el proceso de programacion se determina que hace el
programa. Esta fase requiere una clara defenicion donde se contemple exactamente lo que debe hacer el
2

programa y el resultado o solucion deseada. Dado que se busca una solucion se precisan especificaciones
de entrada y salida. Para poder definir bien un problema es conveniente responder a las siguientes
preguntas: ¿Que entradas se requieren? (cantidad y tipo) ¿Cual es la salida deseada? (cantidad y
tipo) ¿Que metodo produce la salida deseada?
2. Diseno del Algoritmo. En la fase de diseno se determina como hace el programa la tarea solicitada. Los
metodos utilizados para el proceso del dise no se basan en el conocido divide y venceras: la resolucion de
un problema complejo se realiza dividiendo el problema en subproblemas y a continuacion dividir estos
en otros de nivel mas bajo, hasta que sea implementada una solucion en la computadora. Este metodo se
conoce tecnicamente como diseno descendente (top-down) o modular. El programa principal (el modulo
de nivel mas alto) llama a subprogramas (modulos) de nivel mas bajo, que a su vez pueden llamar
a otros subprogramas. Estos modulos pueden ser planeados, codificados, comprobados y depurados
independientemente y luego combinarlos entre si. Este proceso implica la ejecucion de estos pasos
hasta que el programa se ha terminado. El diseno del algoritmo es independiente del lenguaje de
programacion en el que se vaya a codificar posteriormente.
3. Implementacion del Algoritmo. Para implementar un algoritmo en la computadora, se debe ejecutar
los siguientes pasos: Codificacion y documentacion, Compilacion y ejecucion, Verificacion y finalmente
la Depuracion.
(a) Codificacion y documentacion. Es la escritura en un lenguaje de programacion de la repre-
sentacion de un algoritmo, en el caso de este curso se utilizan como lenguajes Octave o Matlab.
La codificacion se conoce como programa fuente. La documentacion puede ser interna y externa.
La documentacion interna es la contenida en lineas de comentarios. La documentacion externa
incluye analisis, diagramas de fiujo y/o pseudo codigos, manuales de usuarios con instrucciones
para ejecutar el programa y para interpretar los resultados. La documentacion es vital cuando se
desea corregir posibles errores futuros o bien cambiar el programa. Estos cambios se denominan
mantenimiento del programa. Ademas es de buena costumbre para todo buen programador, dejar
comentado su codigo, para que el futuro programador pueda darle mantenimiento facilmente a el
programa, o incluso, si es el mismo creador quien debe darle mantenimiento. La importancia de
la documentacion debe ser destacada por su influencia en la etapa final, ya que programas pobre-
mente documentados son dificiles de leer, mas dificiles de depurar y casi imposibles de mantener
y moficar.
(b) Compilacion y ejecucion. Una vez que el algoritmo se ha convertido en un programa fuente, debe
3

ser traducido a lenguaje maquina. Este proceso se realiza con el compilador y el sistema operativo
que se encarga practicamente de la compilacion. Si al compilar el programa fuente se presentan
errores (errores de compilacion), es necesario volver a editar el programa, corregir los errores y
compilar de nuevo. Esto se repite hasta que ya no se presenten mas errores, obteniendose el
programa objeto. Cuando no existen errores en el programa fuente se debe instruir al sistema
operativo para que efectue la fase de montaje o enlace, del programa fuente con las librerias 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 ejecucion (errores en tiempo de
ejecucion), se obtendra la salida de resultados correctos del programa.
(c) Verificacion y depuracion. Es el proceso de ejecucion 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 limites del programa y valores de entrada que
comprueben aspectos especiales del programa. Estos determinaran si el programa contiene errores
o no.

No hay comentarios:

Publicar un comentario