Está en la página 1de 5

PROGRAMACIN 10 Prof. Dolores Cuias H. APUNTES N 1. METODOLOGA PARA LA CONSTRUCCIN DE PROGRAMAS.

Presentaremos de forma muy general los principales pasos que se deben seguir para resolver problemas aplicando tcnicas de programacin. Esta metodologa ser desarrollada a lo largo de todo el curso, en la medida que se estudien las restantes unidades del mismo.

Recuerde que estos son apuntes muy simplificados que deber completar con la bibliografa recomendada

1. FORMULACIN Y ANLISIS DEL PROBLEMA Consiste en entender de qu se trata el problema planteado y esbozar su posible solucin, concluyendo con una clara definicin de tres aspectos: 1 qu es lo que nos piden, es decir, definicin del resultado o solucin deseada (para qu). 2 cmo obtener lo que nos piden (qu hacer). 3 qu necesitamos para obtener los resultados pedidos (con qu). Esto ltimo nos facilitar la construccin de lo que denominaremos Especificacin Funcional. 1.1.- Especificacin Funcional: Consiste en determinar las funciones que se van a realizar (qu hacer) y sus respectivas entradas (con qu) y salidas (para qu):
ENTRADA PROCESO SALIDA

Donde: entrada son los argumentos (variables o constantes) que se requieren para resolver un problema, salida son los resultados (argumentos) que se desean obtener una vez resuelto el problema y proceso es el procedimiento(s) u operacin(es) que deben efectuarse sobre las entradas para obtener las salidas deseadas. 1.2.- Especificacin de los Argumentos o Parmetros: Consiste en la documentacin de los argumentos o parmetros (sean estos de entrada, salida o intermedios) requeridos en la solucin del problema, mediante la elaboracin de una tabla que contemple los siguientes aspectos:
descripcin del argumento identificador tipo longitud condicin restriccin

1.3.- Establecimiento de Restricciones y Atributos: Consiste en determinar bajo qu restricciones se ha de operar y cuales son las medidas de rendimiento y calidad que debe tener el sistema (programa). Este aspecto no se realizar en este curso dada la simplicidad de los problemas tratados. 2. DISEO. Consiste en disear cmo hace el programa la tarea solicitada. En forma general consiste en dividir el programa en subprogramas y cada subprograma en mdulos. + general
Este tpico se tratar con mayor detalle en la unidad 6. Inicialmente no dividiremos el programa en subprogramas.

+ especfico

El criterio de descomposicin ms utilizado es el de tipo funcional, el cual produce una estructura jerrquica en la que cada mdulo ejecuta una o ms funciones y para cada mdulo se produce una especificacin de programa o mdulo, la cual contiene lo siguiente: Nombre del Programa o Mdulo. Funcin que desarrolla.

Parmetros o Argumentos. Parmetros o Argumentos de Entrada. Parmetros o Argumentos de Salida. Estructura de Datos Requerida. Lenguaje de Programacin. Algoritmo

Estructura de datos no se utilizar en este curso dado que el mismo es dado a nivel introductorio

Donde ALGORITMO es un conjunto finito de pasos en secuencia que indican como se resuelve un determinado problema. Propiedades de los algoritmos estructurales: a) Nmero finito de pasos sin ambigedades. b) Numeracin de cada paso en orden secuencial c) La accin a realizar se indica con un verbo o con un grfico. d) Condicionado a las estructuras bsicas de la programacin estructurada. e) Eficiente (menor nmero de pasos pero lo ms claro posible) Herramientas para disear algoritmos: a) Diagramas de Flujo: representacin grfica de un algoritmo. b) Pseudocdigo: lenguaje de especificacin de algoritmos (el algoritmo se representa mediante palabras similares al ingls o al espaol, para facilitar tanto la lectura como la escritura de programas. Los smbolos o la notacin para elaborar, respectivamente, los diagramas de flujo o los pseudocdigos, sern indicados en los siguientes apuntes, en la medida que se estudie las correspondientes estructuras de programacin. 3. CODIFICACIN. Es la escritura en un lenguaje de programacin de la representacin del algoritmo desarrollado en la etapa de diseo. El resultado de la codificacin es un programa fuente. 4. COMPILACIN Y EJECUCIN. Es el proceso de traduccin del programa fuente al lenguaje de mquina. Este proceso se realiza con el compilador y el Sistema Operativo. El resultado, si no hay errores, es la obtencin del programa objeto que todava no es ejecutable directamente. Luego, mediante el Sistema Operativo se realiza la carga del programa objeto con las libreras del programa compilador, el resultado es un programa ejecutable. Cuando el programa ejecutable se ha creado, se puede ejecutar el programa desde el Sistema Operativo generalmente con slo teclear su nombre. Si no hay errores se obtiene como salida los resultados del programa. NOTA: El Turbo Pascal compila y ejecuta con una sola orden. 5. VERIFICACIN Y DEPURACIN. Es el proceso de probar que el programa trabaje correctamente y cumpla con los requerimientos del usuario. VERIFICAR: es el proceso de ejecucin del programa con una amplia variedad de datos de entrada (test o pruebas) que determinarn si el programa tiene errores. DEPURAR: es el proceso de encontrar los errores del programa y corregir o eliminar dichos errores. TIPOS DE ERRORES: a) Errores de compilacin: suelen ser errores de sintaxis. b) Errores de ejecucin: suelen ser instrucciones que la computadora comprende pero que no puede ejecutar. Ejemplo: divisiones por cero, races negativas, etc. c) Errores de lgica: se producen en la lgica del programa, en el diseo del algoritmo. Se detectan porque los resultados son incorrectos.

6. DOCUMENTACIN Y MANTENIMIENTO. Consta de la descripcin de los pasos a dar en el proceso de resolucin de un problema. La documentacin de un programa puede ser: Interna: contenida en las lneas de comentarios del propio programa. Externa: Incluye el anlisis, la especificacin del programa, el algoritmo, los manuales de los usuarios, etc. El mantenimiento consiste en la actualizacin de los programas con los cambios requeridos por el usuario o correccin de posibles errores futuros. Grficamente la metodologa puede ilustrarse de la siguiente manera: ANALISIS DISEO CODIFICACIN EDICIN COMPILACIN

Especificacin funcional Especificacin de argumentos Algoritmo Programa Fuente Programa Fuente tipeado en el editor del Turbo Pascal Programa Objeto

error?

CARGA EJECUCIN VERIFICACIN Y DEPURACIN

Programa Ejecutable Resultados

error?

DOCUMENTACIN MANTENIMIENTO

Manuales de documentacin Programas actualizados

NOTA: Esta metodologa es una simplificacin de la utilizada para el desarrollo de sistemas ms complejos. En este curso ser aplicada an ms esquemticamente tal como se plantea en el siguiente ejemplo y en los restantes explicados en clase. EJERCICIO PARA ILUSTRAR LA METODOLOGA . 1. Planteamiento del problema: calcular la resistencia combinada cuando tres resistencias (R1, R2 y R3) estn conectadas en paralelo. La frmula de la resistencia combinada es: 1 1/R1 + 1/R2 +1/R3 El programa debe producir la siguiente salida: Resistencia Combinada en Ohmios es: xxxxxx 2. Anlisis. a) Especificacin funcional: suponiendo que llamo RC a la Resistencia Combinada, del anlisis deduzco que requiero de R1, R2 y R3 (entradas) para poder realizar el clculo (proceso) de la RC (salida). ENTRADA R1 R2 R3 RC= PROCESO 1 1/R1 + 1/R2 + 1/R3 SALIDA RC

b) Especificacin de los argumentos: se trata de la documentacin de los argumentos utilizados. argumentos Resistencia 1 Resistencia 2 Resistencia 3 Resistencia Combinada identificador R1 R2 R3 RC tipo real real real real longitud 5.1 5.1 5.1 7.1 condicin variable variable variable variable restriccin >0 >0 >0 >0

3. Diseo. Especificacin del Programa: Nombre del Programa: resistencia Funcin: Calcular la Resistencia Combinada de 3 resistencias conectadas en paraleloArgumentos: R1, R2, R3, RC Argumentos de Entrada: R1, R2, R3 Argumentos de Salida: RC Lenguaje de Programacin: Turbo Pascal Algoritmo: (nota: puede utilizarse pseudocdigo o diagrama de flujo). Pseudocdigo o algoritmo escrito: 1. 2. 3. 4. 5. Comienzo (resistencia) Leer (R1, R2, R3) RC 1/((1/R1)+(1/R2)+(1/R3)) Escribir (Resistencia Combinada en Ohnios es:, RC) Fin (resistencia)

Diagrama de flujo o algoritmo grfico:

resistencia

R1, R2, R3

RC

1 1/R1 + 1/R2 + 1/R3

RC

fin

4. Codificacin en Turbo Pascal PROGRAM RESISTENCIA; {Programa escrito por: xxxxxxxxxxxxxxxxx} {Fecha: xx / xx / xx} {Este programa calcula la resistencia combinada de tres resistencias conectadas en paralelo} USES CRT; VAR R1,R2,R3,RC:REAL; BEGIN CLRSCR; WRITELN(INTRODUZCA EL VALOR DE R1, R2 Y R3 CONSECUTIVAMENTE); READLN(R1,R2,R3); RC:= 1/(1/R1 + 1/R2 + 1/R3); {CALCULO DE LA RESISTENCIA COMBINADA} CLRSCR; WRITELN(LA RESISTENCIA COMBINADA EN OHMIOS ES=,RC:8:1) END. 5. Edicin: tipear el programa anterior (programa fuente) en el computador. 6. Compilacin y Ejecucin del programa editado: para la obtencin de los resultados previa correccin de posibles errores de sintaxis o de ejecucin. 7. Verificacacin y Depuracin de los resultados: para corregir los posibles errores de lgica que puedan existir. 8. Documentacin. 9. Mantenimiento.
NOTA: Los conceptos anteriores son tomados bsicamente de: Programacin en Turbo/Borland. Pascal 7. Luis Joyanes Aguilar Diseo de Algoritmos. Isabel Besembel Metodologa para el Desarrollo de Sistemas. Jonas Montilva

También podría gustarte