La Resolución de Problemas Utilizando
la
Computadora
Aunque el proceso de diseñar programas
es un proceso creativo, se puede conciderar tres pasos que ayudan al
programador en este proceso:
1. Análisis del problema
2.Diseño del algoritmo
3.Resolución de algoritmo en la
computadora
Fases para la Resolucion de Problemas
1. Analisis del Problema. En la fase de
analisis en el proceso de programaci´ on se determina que hace el
programa.
Esta fase requiere una clara definicion donde se contemple exactamente
lo que debe hacer el 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. Diseño del Algoritmo. En la fase
de diseño se determina como hace el programa la tarea solicitada. Los
metodos utilizados para el proceso del diseño 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 m´ as bajo, hasta que sea implementada una solucion en
la computadora. Este metodo se conoce tecnicamente como diseño
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 diseño 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.
3.1.- Codificacion y documentacion. Es
la
escritura en un lenguaje de programacion de la representacion 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 flujo 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 código, 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 documentación debe ser destacada por su
influencia en la etapa final, ya que programas pobremente documentados
son dificiles de leer, mas dificiles de depurar y casi imposibles de
mantener y modificar.
3.2.- Compilacion y ejecucion. Una vez
que
el algoritmo se ha convertido en un programa fuente, debe ser traducido
a lenguaje maquina. Este proceso se realiza con el compilador y el
sistema operativo que se encarga pr´ acticamente 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.
3.3.- 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