En esta sección describire brevemente las fases o pasos a seguir para la resolución de problemas con ayuda de la computadora.
Análisis del Problema
Esta fase requiere una clara definición donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada.
Dado que se busca una solución se precisan especificaciones de entrada y salida.
Para poder definir bien un problema es conveniente responder a las siguientes preguntas:
- ¿Qué entradas se requieren? (cantidad y tipo)
- ¿Cuál es la salida deseada? (cantidad y tipo)
- ¿Qué método produce la salida deseada?
Diseño del Algoritmo
En la fase de análisis en el proceso de programación se determina que hace el programa. En la fase de diseño se determina como hace el programa la tarea solicitada.
Los métodos utilizados para el proceso del diseño se basan en el conocido divide y vencerás. Es decir la resolución de un problema complejo se realiza diviendo el problema en subproblemas y a continuación dividir estos subproblemas en otros de nivel mas bajo, hasta que sea implementada una solución en la computadora. Este método se conoce tecnicamente como diseño descendente (top-down) o modular.
Verificación y depuración: Es el proceso de ejecución del programa con una amplia variedad de datos de entrada, llamados datos de test o prueba como son: valores normales de entrada, valores extemos de entrada que comprueben los límites del programa y valores de entrada que comprueben aspectos especiales del programa. Estos determinarán si el programa contiene errores o no.
Al ejecutar un programa se pueden producir tres tipos de errores:
- Errores de Compilación: Se producen normalmente por un uso incorrecto de las reglas del lenguaje de programación, suelen ser errores de sintaxis.
- Errores de Ejecución: Se producen por instrucciones que la computadora puede comprender pero no ejecutar. En estos casos se detiene la ejecución del programa y se imprime un mensaje de error. Ejemplo de esto puede ser una división por cero.
- Errores Lógicos: Se producen en la lógica del programa y la fuente del error suele ser el diseño del algoritmo, son mas dificiles de detectar puesto que el programa puede funcionar y no producir errores de compilación ni de ejecución pero regresará resultados incorrectos. En este caso se debe regresar a la fase de diseño, modificar el algoritmo, cambiar el programa fuente y compilar y depurar una vez mas.
Documentación: 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.
Puede ser interna y externa. La documentación interna es la contenida en lineas de comentarios. La documentación externa incluye análisis, diagramas de flujo y/o pseudocodigos, manuales de usuarios con instrucciones para ejecutar el programa y para interpretar los resultados.
La documentación es vital cuando se desea corregir posibles errores futuros o bien cambiar el programa. Estos cambios se denominan mantenimiento del programa.
Además es de buena costumbre para todo buen programador, dejar comentado su codigo, esto es para que el futuro programador pueda darle mantenimiento fácilmente a el programa, o incluso, si es el mismo creador quien debe darle mantenimiento.
Herramientas de Programación
Las herramientas de programación mas utilizadas comunmente para diseñar algoritmos son:
- Pseudocodigos
- Diagramas N-S
- Diagramas de flujo
Siendo el pseudocodigo el mas popular por su sencillez y su parecido a el lenguaje humano.
Cada programa bien diseñado consta de un programa principal (el módulo de nivel mas alto) que llama a subprogramas (módulos) de nivel mas bajo, que a su vez pueden llamar a otros subprogramas.
Los módulos pueden ser planeados, codificados, comprobados y depurados independientemente y a continuación combinarlos entre sí. Este proceso implica la ejecución de estos pasos hasta que el programa se ha terminado:
- Programar un módulo
- comprobar el módulo
- Si es necesario, depurar el módulo
- Combinar el módulo, con el resto de los otros módulos
El diseño del algoritmo es independiente del lenguaje de programación en el que se vaya a codificar posteriormente.Implementación del Algoritmo
Para implementar un algoritmo en la computadora, se debe ejecutar los siguientes pasos:
- Codificación
- Compilación y ejecución
- Verificación
- Depuración
- Documentación
Codificación: Es la escritura en un lenguaje de programación de la representación de un algoritmo. Dado que el diseño del algoritmo es independiente del lenguaje de programación utilizado en su implementación, el código puede ser escrito con igual facilidad en un lenguaje o en otro.
Compilación y ejecución: 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 operación 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 máquina. Este proceso se realiza con el compilador y el sistema operativo que se encarga practicamente de la compilación. Si al compilar el programa fuente se presentan errores (errores de compilación), 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, el cual todavía no es ejecutable directamente. Al ya no existir 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 ejecución (errores en tiempo de ejecución), se obtendrá la salida de resultados correctos del programa.

No hay comentarios:
Publicar un comentario