Metodología Solución Problemas en Computadora

Anuncio
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
Descargar