PRÁCTICA No 21 Diseñar un programa interactivo el cual presente

Anuncio
PRÁCTICA No 21
Diseñar un programa interactivo el cual presente un menú con 5 opciones de figuras geométricas: círculo,
rectángulo, triángulo, trapecio y sector. Una vez seleccionada la opción correspondiente, se debe introducir
por teclado la información necesaria para realizar el cálculo del área de la respectiva figura. Para una mejor
manipulación de la información, el programa debe presentar la siguiente pantalla de trabajo:
PANTALLA DE ENTRADA
PANTALLA DE SALIDA
SOLUCIÓN
Para la realización de la presente práctica, se debe utilizar el diagrama de flujo nombrado LAB_21 que se
encuentra ubicado en el apéndice en la sección DIAGRAMAS DE FLUJO.
De acuerdo al enunciado, el trabajo de selección de la respectiva figura se realiza mediante un menú. La
opción así seleccionada permite realizar los cálculos necesarios de acuerdo a las siguientes características:
Área de un círculo está dada por: AC    R
2
Área de un rectángulo está dada por: AR  B  H
BH
2
A B
H
Área de un trapecio dada por: ATr 
2
R 
Área de un sector está dada por: AS 
2
Área de un triángulo está dada por: AT 
Tomando como referencia estas ecuaciones necesarias para el cálculo correspondiente, las variables a ser
empleadas en el diagrama de flujo, presentan las siguientes características:
VARIABLES
TAREA A REALIZAR
OPC
Variable donde se solicita y almacena al opción de cálculo a realizar.
R
Variable donde se almacena el valor del radio de una figura.
B
Variable donde se almacena el valor de la base de una figura.
H
Variable donde se almacena el valor de la altura de una figura.
A
Variable que permite almacenar el ángulo del sector.
D
Variable que permite almacenar el valor del área calculado.
F
Variables para almacenar la ecuación empleada en el cálculo del área.
C
Variable que almacena el nombre de la figura seleccionada.
INICIO
@
NO
PANTALLA
DE ENTRADA
OPC
SE PRESIONÓ
SALIR
&
OPC IN
['1','2','3','4','5','X']
OPC='2'
SI
3
D = B*H
F = 'A=B*H'
D = B*H/2
F = 'A=B*H/2'
C = 'TRIANGULO'
SI
OPC='4'
SI
F = 'A=PI*R*R'
C = 'RECTANGULO'
SI
NO
D = (A+B)*H/2
NO
F = 'A=(A+B)*H/2'
C = 'TRAPECIO'
B, H
D = R*A/2
SI
F = 'A=R*A/2'
B, H
NO
OPC='4'
OPC='2'
R
NO
OPC='3'
D = PI*R*R
C = 'CIRCULO'
SI
OPC='3'
NO
LA OPCIÓN
ELEGIDA
NO EXISTE
SI
OPC='1'
NO
SI
OPC='1'
SI
NO
OPC = UPCASE(OPC)
NO
OPC<>X
C = 'SECTOR'
SI
A, B, H
NO
OPC='5'
SI
PANTALLA
DE SALIDA
R, A
NO
&
C, F, D
3
FIN
@
PANTALLA DE ENTRADA
PANTALLA DE SALIDA
CODIFICACIÓN LAB_21
PROGRAM
PRÁCTICA No 22
Diseñar un programa interactivo de carácter general que permita calcular el valor de la integral
b

5
f ( x)dx   xe x dx
a
2
1
Utilizando el método Cuadratura Gaussiana y que al mismo tiempo permita seleccionar el número de
puntos a ser utilizados en el cálculo correspondiente.
Para una mejor manipulación de la información y sobre todo de la cantidad de puntos a ser empleados, el
programa debe presentar un menú que permita realizar la selección correspondiente de acuerdo al
siguiente formato:
PANTALLA DE ENTRADA
PANTALLA DE SALIDA
SOLUCIÓN
Para orientar en la solución del problema, la ecuación que utiliza el presente método en la determinación
del valor de la integral dependiendo del número de puntos a ser utilizados, en forma general está facilitada
por la relación:
b

a
ba
f ( x)dx  
  w1 * F ( x1 )  w2 * F ( x2 )  w3 * F ( x3 )  w4 * F ( x4 )  
 2 
siendo:
xi 
ba
ab
 zi 
2
2
y donde:
wi , z i son constantes que dependen del número de puntos a ser empleados y:
Como se podrá observar, el diagrama así diseñado y enmarcado en el tema desarrollado, empleando solo
la sentencia If – Then - Else, muestra la necesidad de utilizar sentencias repetitivas y variables de tipo
arreglo, las mismas que permitirían simplificar el trabajo de codificación y al mismo tiempo hacer un
diagrama de flujo simplificado y legible. Las variables empleadas en el respectivo diagrama de flujo,
realizan las siguientes tareas:
VARIABLES
TAREA A REALIZAR
Li
Variable donde se almacena el límite inferior de la integral.
Ls
Variable donde se almacena el límite superior de la integral.
N
Variable que señala el número de puntos a ser utilizados.
W1, W2, …
Nombres de las constantes de la ecuación correspondiente.
Z1, Z2, …
Nombres de las constantes de la modificación del punto de cálculo.
F1, F2, …
Variable que permiten almacenar el valor de la función en el punto Zi.
X1, X2, …
Variables que realizan el cambio de coordenadas requerida por la ecuación.
A
Variable que almacena el resultado de la integral.
INICIO
&
W3 = 0
W4 = 0
W5 = 0
X1 = (Ls-Li)*Z1/2+(Ls+Li)/2
X2 = (Ls-Li)*Z2/2+(Ls+Li)/2
F1 = X1*EXP(SQR(X1))
F2 = X2*EXP(SQR(X2))
PANTALLA
DE ENTRADA
Ls, Li
NO
N
NO
N in
[2,3,4,5,9]
NO EXISTE
LA OPCIÓN
SEÑALADA
2
X3 = (Ls-Li)*Z3/2+(Ls+Li)/2
F3 = X3*EXP(SQR(X3))
SI
SI
N>3
NO
SI
N<8
NO
N=2
SELECCIONÓ
LA OPCIÓN
SALIR
1
SI
N>2
SI
W1 = 0.55555
W3 = W1
W2 = 0.88888
SI
N>4
NO
SI
X4 = (Ls-Li)*Z4/2+(Ls+Li)/2
F4 = X4*EXP(SQR(X4))
W1 = 1
W2 = 1
N=3
NO
X5 = (Ls-Li)*Z5/2+(Ls+Li)/2
F5 = X5*EXP(SQR(X5))
NO
N =4
SI
Z2 = 0.57735
Z1 = -Z2
NO
Z3 = 0.77459
Z1 = -Z3
Z2 = 0
W1 = 0.23692
W5 = W1
W2 = 0.47862
W4 = W2
W3 = 0.56888
Z5 = 0.90617
Z1 = -Z5
Z4 = 0.53846
Z2 = -Z4
Z3 = 0
W1 = 0.34785
W4 = W1
W2 = 0.65214
W3 = W2
Z4 = 0.86113
Z1 = -Z4
Z3 = 0.33998
Z2 = -Z3
A = W1*F1+W2*F2+W3*F3+W4*F4+W5*F5
A
2
1
FIN
&
PANTALLA DE ENTRADA
PANTALLA DE SALIDA
CODIFICACIÓN LAB_22
PROGRAM
Documentos relacionados
Descargar