Documente Academic
Documente Profesional
Documente Cultură
El proceso de resolucin de un problema con una computadora conduce a la escritura de un programa y su ejecucin en la misma. Aunque el proceso de disear programas es esencialmente un proceso creativo, se pueden considerar una serie de fases o pasos comunes, que generalmente deben seguir todos los programadores. Las fases de resolucin de un problema con computadora son: Definicin del problema Anlisis del problema Diseo del algoritmo Codificacin Prueba y Depuracin (Verificacin del programa: Compilacin y ejecucin) Documentacin Mantenimiento
tres primeras fases conducen a un diseo detallado escrito en forma de algoritmo. Durante la cuarta etapa (codificacin) se implementa el algoritmo en un cdigo escrito en un lenguaje de programacin, reflejando las ideas desarrolladas en las fases de anlisis y diseo. La fase de compilacin y ejecucin traduce y ejecuta el programa. En las fases de verificacin y depuracin el programador busca errores de las etapas anteriores y los elimina. Por ltimo, se debe realizar la documentacin del programa. Para dar seguimiento con el Mantenimiento.
Definicin/Anlisis del problema Esta fase requiere una clara definicin, donde se contemple exactamente lo que debe hacer el programa y el resultado o solucin deseada. Dado que se busca una solucin por computadora, se precisan especificaciones detalladas de entrada y salida. La siguiente figura muestra los requisitos que se deben definir en el anlisis,
Para poder definir bien un problema es conveniente responder a las siguientes preguntas: que debe hacer el programa ? Qu entradas se requieren? (tipo y cantidad) Cul es la salida deseada? (tipo y cantidad) Qu mtodo produce la salida deseada?
Ejemplo 1: Definicin Se desea obtener una tabla con las depreciaciones acumuladas y dos valores reales de cada ao de un automvil comprado en $380,000 en el ao 1996, durante los seis aos siguientes suponiendo un valor de recuperacin o rescate de $50,000. Realizar el anlisis del problema, conociendo la frmula de depreciacin anual constante D para cada ao de vida til.
Anlisis: Entradas:
Salida:
Proceso:
Depreciacin acumulada Clculo de la depreciacin acumulada cada ao Clculo del valor del automvil en cada ao
Depreciacin anual por ao Depreciacin acumulada en cada ao Valor del automvil en cada ao
Ao Depreciacin
1 2 3 4 5 6 1996 1997 1998 1999 2000 2001 55,000 55,000 55,000 55,000 55,000 55,000
la etapa de anlisis del proceso de programacin se determina qu hace el programa. En la etapa de diseo se determina cmo hace el programa la tarea solicitada. Cada sub-problema es resuelto mediante un mdulo (subprograma) que tiene un solo punto de entrada y un solo punto de salida.
dos herramientas ms utilizadas para disear algoritmos son: diagramas de flujo y pseudocdigos.
DIAGRAMAS
DE FLUJO
Un
diagrama de flujo (flowchart) es una representacin grfica de un algoritmo. (los smbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalizacin (ANSI, por sus siglas en ingls) y los ms frecuentemente empleados se muestran en la siguiente tabla:
Terminal
Subprograma
Entrada/salida
Decisin
Proceso
Conectores
El pseudocdigo es una herramienta de programacin en que las instrucciones se escriben en palabras similares al ingls o espaol, que facilitan tanto la escritura como la lectura de programas. En esencia, el pseudocdigo se puede definir como un lenguaje de especificaciones de algoritmos. Aunque no existen reglas para escritura del pseudocdigo en espaol, se ha recogido una notacin estndar que es muy empleada en los libros de programacin en espaol. Las palabras reservadas bsicas se representan en letras negritas minsculas. Estas palabras son traduccin libre de palabras reservadas de lenguajes como C, Pascal, etc.
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 operacin se realiza con un programa editor, posteriormente el programa fuente se convierte en un archivo de programa que se guarda (graba) en disco. programa fuente debe ser traducido a lenguaje mquina, este proceso se realiza con el compilador y el sistema operativo que se encarga particularmente de la compilacin.
El
Si tras la compilacin se presentan errores (errores de compilacin) en el programa fuente, es preciso volver a editar el programa, corregir los errores y compilar nuevamente. Este proceso se repite hasta que no se producen errores, obtenindose el programa objeto que todava no es ejecutable directamente. Suponiendo que no existen errores en el programa fuente, se debe instruir al sistema operativo para que realice la fase de montaje o enlace (link), es decir, la carga del programa objeto con las libreras del programa de compilador. El proceso de montaje produce un programa ejecutable. Cuando el programa ejecutable se ha creado, se puede ya ejecutar desde el sistema operativo con solo teclear su nombre.
La verificacin de un programa es el proceso de ejecucin del programa con una amplia variedad de datos de entrada, llamados datos de test o prueba, que determinarn si el programa tiene errores (bugs). Para realizar la verificacin se debe desarrollar una amplia gama de datos de test: valores normales de entrada, valores extremos de entrada que comprueben los lmites del programa y valores de entrada que comprueben aspectos especiales del programa. La depuracin es el proceso de encontrar los errores del programa y corregir o eliminar dichos errores.
Errores de ejecucin. Estos errores se producen por instrucciones que la computadora puede comprender pero no ejecutar. Ejemplos tpicos son: divisin entre cero y races cuadradas de nmeros negativos. En estos casos se detiene la ejecucin del programa y se imprime un mensaje de error.
Errores de lgica. Se producen en la lgica del programa y la fuente del error suele ser el diseo del algoritmo. Estos errores son los ms difciles de detectar, ya que el programa puede funcionar y no producir errores de compilacin ni de ejecucin, y slo puede advertir el error por la obtencin de resultados incorrectos. En este caso se debe volver a la fase de diseo del algoritmo, modificar el algoritmo, cambiar el programa fuente y compilar y ejecutar una vez ms.
La documentacin de un problema consta de las descripciones de los pasos a dar en el proceso de resolucin de un problema. La importancia de la documentacin debe ser destacada por su decisiva influencia en el producto final. Programas pobremente documentados son difciles de leer, ms difciles de depurar y casi imposibles de mantener y modificar. La documentacin de un programa puede ser interna y externa. La documentacin interna es la contenida en lneas de comentarios. La documentacin externa incluye anlisis, diagramas de flujo, pseudocdigos, manuales de usuario con instrucciones para ejecutar el programa y para interpretar los resultados. La documentacin es vital cuando se desea corregir posibles errores futuros o bien cambiar el programa. Tales cambios se denominan mantenimiento del programa. Despus de cada cambio la documentacin debe ser actualizada para facilitar cambios posteriores.