PROGRAMACIÓN: UNIDAD I METODOLOGIA PARA LA SOLUCIÓN DE PROBLEMAS BASADOS EN COMPUTADORA EJEMPLO Nº 1 PLANTEAMIENTO DEL PROBLEMA: calcular la resistencia combinada en ohmios cuando tres resistencias están conectadas en paralelo. La fórmula de la resistencia combinada es: 1 1/Resistencia1 + 1/Resistencia2 + 1/Resistencia3 ANALISIS comenzamos por identificar todos los elementos que están á involucrados en el problema planteado y entender en qué consiste la solución del mismo. Por ejemplo, llamaremos RC a la resistencia combinada, R1, R2 y R3 a las resistencias 1, 2 y 3 respectivamente observamos q que la solución del p problema consiste en resolver la fórmula dada ahora podemos responder las preguntas planteadas a continuación. ANALISIS ¿qué necesitamos para obtener lo que nos piden? ¿cómo obtener lo que nos piden? ENTRADA PROCESO R1 R2 R3 RC = 1 1/R1 + 1/R2 + 1/R3 ESPECIFICACIÓN FUNCIONAL ¿qué nos piden? SALIDA RC ANALISIS seguidamente nos corresponde documentar todos los argumentos utilizados; es decir, qué significa cada una de las variables o constantes utilizadas en la entrada, en el proceso y en la salida ¿R1? ¿R2? ¿R3? ¿RC? argumentos identificador tipo longitud condición Resistencia 1 R1 real 5.1 variable >0 Resistencia 2 R2 real 5.1 5. variable a ab e >0 0 Resistencia 3 R3 real 5.1 variable >0 Resistencia combinada RC real 5.1 variable >0 especificación de los argumentos restricción DISEÑO luego debemos documentar el programa, especificando su nombre, su función, los argumentos involucrados en el mismo y el lenguaje que será utilizado para su codificación nombre del programa resistencia función calcular la resistencia combinada de tres resistencias conectadas en paralelo argumentos R1, R2, R3, RC argumentos de entrada R1, R2, R3 argumentos de salida RC lenguaje de programación Turbo Pascal especificación del programa DISEÑO a continuación se diseña la lógica del programa mediante la realización de un algoritmo escrito o un algoritmo gráfico algoritmo escrito algoritmo gráfico conjunto finito de pasos en secuencia que indican como se resuelve un determinado problema. a) Número finito de pasos sin ambigüedades. b) Numeración de cada paso en orden secuencial c) La acción a realizar se indica con un verbo o con un gráfico. d) Condicionado a las estructuras básicas de la programación estructurada. e) Eficiente (menor número de pasos pero lo más claro posible) DISEÑO comienzo 1. COMIENZO (resistencia) entrada entrada 2. LEER (R1, R2, R3) proceso proceso 3. RC salida salida 4. ESCRIBIR (RC) fin 5. FIN (resistencia) 1 1/R1+1/R2+1/R3 algoritmo escrito DISEÑO resistencia comienzo entrada R1 R2 R1, R2, R3 entrada proceso salida proceso RC 1 1/R1 + 1/R2 + 1/R3 salida RC fin fin algoritmo gráfico CODIFICACIÓN consiste en la traducción de la lógica diseñada mediante el algoritmo, sea este escrito o gráfico, al código de Turbo Pascal. 1. COMIENZO (resistencia) resistencia 2. LEER (R1, R2, R3) R1,, R2,, R3 3. RC 1 1/R1+1/R2+1/R3 4. ESCRIBIR (RC) RC 1 1/R1 + 1/R2 + 1/R3 5. FIN (resistencia) RC fin ¿código en Turbo Pascal? CODIFICACIÓN veamos paso a paso como trasladar el algoritmo escrito al código del Turbo Pascal 1. COMIENZO (resistencia) 2. LEER (R1, R2, R3) 3. RC 1 1/R1+1/R2+1/R3 4. ESCRIBIR (RC) 5. FIN (resistencia) ¿código en Turbo Pascal? CODIFICACIÓN Program resistencia; Uses 1. COMIENZO (resistencia) comienzo crt; Var R1,R2,R3,RC: real; Begin ClrScr; 2. LEER (R1, R2, R3) entrada Writeln(‘introduzca los valores de R1,R2 y R3’); Readln(R1,R2,R3); 3. RC 1 1/R1+1/R2+1/R3 4. ESCRIBIR (RC) 5 FIN (resistencia) 5. proceso salida fin RC:= 1/(1/R1+1/R2+1/R3); Writeln(‘resistencia combinada:’,RC:6:3) End. Codificación en Turbo Pascal CODIFICACIÓN veamos paso a paso como trasladar el algoritmo gráfico al código del Turbo Pascal resistencia R1, R2, R3 1 RC 1/R1 + 1/R2 + 1/R3 RC fin ¿Código en Turbo Pascal? CODIFICACIÓN Program resistencia; Uses resistencia comienzo crt; Var R1,R2,R3,RC: real; Begin ClrScr; R1, R2, R3 entrada Writeln(‘introduzca los valores de R1,R2 y R3’); Readln(R1,R2,R3); RC 1 1/R1 + 1/R2 + 1/R3 RC f fin proceso salida fin RC:= 1/(1/R1+1/R2+1/R3); Writeln(‘resistencia combinada:’,RC:6:3) End. Codificación en Turbo Pascal CODIFICACIÓN finalmente, este es el programa fuente codificado en el lenguaje Turbo Pascal para solucionar mediante el uso del computador el problema planteado Program resistencia; Uses crt; Var R1,R2,R3,RC:real; Begin ClrScr; writeln (‘introduzca ( introduzca los valores de R1, R1 R2, R2 R3 R3’); ); readln (R1,R2,R3); RC:= 1/(1/R1+1/R2+1/R3); writeln (‘resistencia combinada = ‘,RC:6:3) End. cabecera del programa + declaraciones de variables cuerpo del programa fin del programa EDICIÓN una vez realizada la codificación debemos introducir el programa fuente al computador mediante el editor del Turbo Pascal y almacenarlo bajo un nombre, en este caso: resistencia FILE EDIT SEARCH RUN COMPILE DEBUG TOOLS OPTIONS WINDOW HELP Program resistencia; Uses crt; Var R1,R2,R3,RC:real; Begin ClrScr; writeln (‘introduzca los valores de R1,R2,R3’); readln (R1,R2,R3); RC : = 1/(1/R1+1/R2+1/R3); writeln (‘resistencia combinada= ‘,RC:6:3) End. SAVE RESISTENCIA COMPILACIÓN una vez almacenado el programa en la memoria del computador procedemos a compilarlo; es decir, a verificar los posibles errores de sintaxis que pueda tener mediante el comando COMPILE COMPILE CORREGIR ¿hay errores de sintaxis? EJECUTAR EJECUCIÓN corregidos los errores de sintaxis el programa puede ejecutarse mediante el comando RUN obteniéndose como salida los resultados del mismo, siempre que no existan errores de ejecución (por ejemplo: divisiones por cero)) RUN Introduzca los valores de R1,R2 ,R3 20 25 30 Resistencia combinada= 8.065 En Turbo Pascal se puede compilar y ejecutar un programa utilizando solamente el comando RUN VERIFICACIÓN Y DEPURACIÓN ahora debemos interpretar los resultados obtenidos y volver a ejecutar el programa con una amplia variedad de datos para detectar posibles errores de lógica; es decir, errores en el diseño de su algoritmo. De presentarse errores de lógica en la prueba del programa debemos encontrar la causa de los mismos y corregirlos DEPURAR ¿hay errores? DOCUMENTAR Y MANTENER DOCUMENTACIÓN finalmente debemos describir los pasos dados en el proceso de resolución del problema y ejecución del programa, lo cual se plasma mediante dos tipos de documentación 1 documentación interna • comentarios en el programa 2 documentación externa • análisis • especificación del programa • algoritmos • manuales MANTENIMIENTO puede ocurrir que el usuario del programa requiera realizarle cambios o que en el futuro surjan q j nuevos errores, por p ello la necesidad de hacerle mantenimiento a los programas, lo cual consiste básicamente, en la actualización de los cambios y corrección de posibles nuevos errores. usuario correcciones