PASOS
PARA LA SOLUCIÓN DE PROBLEMAS
El proceso de
resolución de un problema con una computadora conduce a la escritura de un
programa y a su ejecución en la misma. Aunque el proceso de diseñar programas
es esencialmente un proceso creativo, se pueden considerar una serie de fases o
pasos comunes, que generalmente deben seguir todos los programadores.
Las siguientes
son las etapas que se deben cumplir para resolver con éxito un problema de
programación:
•
Definición del problema
•
Análisis del problema
•
Selección de la mejor
alternativa
•
Diagramación
•
Prueba de escritorio
•
Codificación
•
Trascripción
•
Compilación
•
Pruebas de computador
•
Documentación externa
DEFINICIÓN DEL PROBLEMA
Está dada por
el enunciado del problema, el cual debe ser claro y completo. Es importante que
conozcamos exactamente que se desea del computador; mientras qué esto no se
comprenda, no tiene caso pasar a la siguiente etapa.
ANÁLISIS DEL PROBLEMA
Entendido el
problema (que se desea obtener del computador), para resolverlo es preciso
analizar:
Una
recomendación muy práctica es el que nos pongamos en el lugar del computador, y
analizar que es necesario que me ordenen y en que secuencia, para poder
producir los resultados esperados. También da buenos resultados hacer
similitudes con la labor de un empleado que hace el mismo trabajo que deseamos
programarle al computador.
SELECCIÓN DE LA MEJOR
ALTERNATIVA
Analizado el
problema, posiblemente tengamos varias formas de resolverlo; lo importante es
determinar cual es la mejor alternativa: la que produce los resultados
esperados en el menor tiempo y al menor costo. Claro que aquí también es muy
válido el principio de que las cosas siempre se podrán hacer de una mejor
forma.
DIAGRAMACIÓN
Una vez que
sabemos cómo resolver el problema, pasamos a dibujar gráficamente la lógica de
la alternativa seleccionada. Eso es precisamente un Diagrama de Flujo: la
representación gráfica de una secuencia lógica de pasos a cumplir por el
computador para producir un resultado esperado.
La experiencia
nos ha demostrado que resulta muy útil trasladar esos pasos lógicos planteados
en el diagrama a frases que indiquen lo mismo; es decir, hacer
una codificación del programa pero utilizando instrucciones en Español. Como si
le estuviéramos hablando al computador. Esto es lo que denominaremos Algoritmo
o Pseudo código.
Cuando
logremos habilidad para desarrollar programas, es posible que no elaboremos el
diagrama de flujo; en su lugar podremos hacer directamente el pseudo código del
programa.
PRUEBA DE ESCRITORIO
Para
cerciorarnos de que el diagrama (y/o el pseudo código) esta bien, y, para
garantizar que el programa que codifiquemos luego también funcione
correctamente, es conveniente someterlo a una Prueba de Escritorio
. Esta prueba consiste en que damos diferentes datos de entrada al
programa y seguimos la secuencia indicada en el diagrama, hasta obtener los
resultados. El análisis de estos nos indicará si el diagrama esta correcto o si
hay necesidad de hacer ajustes (volver al paso 4). Se recomienda dar diferentes
datos de entrada y considerar todos los posibles casos, aun los de excepción o
no esperados, para asegurarnos de que el programa no producirá errores en
ejecución cuando se presenten estos casos.
CODIFICACIÓN
Una vez que
hayamos verificado el diagrama mediante las pruebas de escritorio, codificamos
el programa en el lenguaje de computador seleccionado. Esto es, colocamos cada
paso del diagrama en una instrucción o sentencia, utilizando un lenguaje que el
computador reconoce.
Todos los
lenguajes de programación proveen facilidades para incluir líneas de
comentarios en los programas. Estos comentarios aclaran lo que se ordena al
computador y facilitan entender el programa. Puesto que estos comentarios no
son tenidos en cuenta como instrucciones, y aparecen en los listados del
programa, resulta muy conveniente agregar abundantes comentarios a todo
programa que codifiquemos. Esto es lo que se denomina Documentación Interna.
TRANSCRIPCIÓN
El programa codificado es necesario que
lo llevemos a un medio que sea aceptado como entrada por el computador: lo
perforamos en tarjetas, lo grabamos en un disco flexible o lo grabamos en un
disco duro. Este programa es el que se conoce como Programa Fuente (Source).
COMPILACIÓN
Utilizamos
ahora un programa de computador llamado Compilador o Traductor, el cuál analiza
todo el programa fuente y detecta errores de sintaxis ocasionados por fallas en
la codificación o en la trascripción. Las fallas de lógica que pueda tener
nuestro programa fuente no son detectadas por el compilador. Cuando no hay
errores graves en la compilación, el compilador traduce cada instrucción del
programa fuente a instrucciones propias de la máquina (Lenguaje de Maquina),
creando el Programa Objeto.
Algunos computadores
utilizan Interpretadores, (Generalmente para el Lenguaje Basic), en reemplazo
de programas compiladores. La diferencia consiste en que el interpretador
recibe, desde una terminal, sólo una instrucción a la vez, la analiza y, si
esta bien, la convierte al formato propio de la maquina. Si la instrucción
tiene algún error, el interpretador llama la atención de la persona para que
corrija dicha instrucción.
Como resultado
de la corrida del compilador, podemos obtener varios listados:
Los errores
los debemos corregir sobre el mismo programa fuente, ya sea reemplazando las
tarjetas mal perforadas o reagravando en el disco flexible o en el disco duro.
Este paso de la compilación lo repetimos hasta eliminar todos los errores y
obtener el programa ejecutable.
PRUEBAS DE COMPUTADOR
Cuando tenemos
el programa ejecutable (en lenguaje de maquina), ordenamos al computador que lo
ejecute, para lo cual suministramos datos de prueba, como lo hicimos en la
prueba de escritorio (paso 5). Los resultados obtenidos los analizamos, luego
de lo cual puede ocurrir cualquiera de estas situaciones:
a.- La lógica
del programa esta bien, pero hay errores sencillos, los cuales los corregimos
modificando algunas instrucciones o incluyendo unas nuevas; el proceso debemos
repetirlo desde el paso 6.
b.- Hay
errores ocasionados por fallas en la lógica, lo que nos obliga a regresar a los
pasos 4 y 5 para revisión y modificación del diagrama.
c.- Hay
errores muy graves y lo más aconsejable es que regresemos al paso 2 para
analizar nuevamente el problema, y repetir todo el proceso.
d.- No hay
errores y los resultados son los esperados. En este caso, el programa lo
podemos guardar permanentemente en una librería o biblioteca del computador,
para sacarlo de allí cuando necesitemos ejecutarlo nuevamente.
DOCUMENTACIÓN EXTERNA
Cuando el
programa ya se tiene listo para ejecutar, es conveniente que hagamos su
documentación externa siguiendo las normas de la instalación o las
recomendaciones indicadas por el profesor. Una buena documentación incluye
siempre: