Un algoritmo informático es una secuencia de instrucciones finitas
que llevan a cabo una serie de procesos para dar respuesta a
determinados problemas. Es decir, un algoritmo informático
resuelve cualquier problema a través de unas instrucciones y
reglas concisas, mostrando el resultado obtenido.
Definición
Fases para la Resolución de Problemas
1. 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?
2. Diseño del Algoritmo
En la fase de análisis en el proceso de programación se determina qué hace el programa. En la fase de
diseño se determina cómo 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 dividiendo el problema en subproblemas y a continuación dividir estos sub problemas en otros
de nivel más bajo, hasta que sea implementada una solución en la computadora. Este método se
conoce técnicamente como diseño descendente (top-down) o modular. Cada programa bien diseñado
consta de un programa principal (el módulo de nivel más alto) que llama a subprogramas (módulos) de
nivel más 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.
3. 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
4. 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.
5. 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 prácticamente
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 más
errores, obteniéndose 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 efectúe la fase de montaje o enlace, del programa
fuente con las librerías 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.
6. 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 externos 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 inco
· 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 más difíciles 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 más.
7. Documentación:
La importancia de la documentación debe ser destacada por su influencia en la etapa final, ya que
programas pobremente documentados son difíciles de leer, mas difíciles de depurar y casi imposibles
de mantener y modificar.
Puede ser interna y externa. La documentación interna es la contenida en líneas de comentarios. La
documentación externa incluye análisis, diagramas de flujo y/o seudocódigos, 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 código, 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.
Lisaury Milagros Cuevas
González #20 4to de
Informatica