Está en la página 1de 6

SENTENCIA TOMA DE DECISION

2.1 SIMBOLO GRÁFICO.

.
SI NO
COND

2.2 SINTAXIS GENERAL.


La sintaxis general que presenta esta sentencia de toma de decisión es:

IF Condición THEN Begin


Sentencia 1;
:
Sentencia n;
End
ELSE Begin
Sentencia 1;
:
Sentencia n;
End ;

2.3 EJEMPLOS DE CODIFICACIÓN.


EJEMPLO 1. Codificación de una sentencia de toma de decisión en la que solo presenta sentencia
en su salida por si.
CODIFICADO

NO SI
A<>5
IF A<>5 THEN Begin
A=A+1
A:=A+1;
B = 5*A B:=5*A;
End;
A, B WriteLn (A, B);

EJEMPLO 2. Diagrama que presenta la forma de codificar una sentencia de toma de decisión que
presenta sentencias por ambas salidas, por si y por no.
CODIFICADO

NO SI
IF A>10 THEN Begin
A>10 A:=A+1;
A, C
A=A+1 B:=5*A;
End
B = 5*A
ELSE Begin
WriteLn (A, C);
C=C+1
End;
C:=C+1;
EJEMPLO 3. Diagrama de flujo que muestra la manera de codificar una toma de decisión que
presenta otra o otras sentencias de toma de decisión.
CODIFICADO

SI NO
IF A<>10 THEN Begin
A<>10 A:=A+2;
A=A+1 B:=B-1;
End
A=A+2
ELSE Begin
NO SI
B>5 A:=A+1;
B=B-1 IF B>5 THEN
B=B+1
ELSE Begin
B:=B+1;
End;
A, B End;
WriteLn (A, B)

PROBLEMA PLANTEADO
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 DEL PROBLEMA


De acuerdo con el 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 con 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


Área de un triángulo está dada por: AT = B  H
2
A+ B
Área de un trapecio dada por: ATr = H
2
Área de un sector está dada por: AS = R  
2
VARIABLES A UTILIZAR
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 la 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.

DISEÑO DEL DIAGRAMA DE FLUJO

INICIO @

PANTALLA NO SI
DE ENTRADA OPC<>X

SI
OPC OPC='1' D = PI*R*R F = 'A=PI*R*R'
SE PRESIONÓ
SALIR
OPC = UPCASE(OPC) NO
C = 'CIRCULO'

SI
& OPC='2' D = B*H F = 'A=B*H'
NO OPC IN
['1','2','3','4','5','X'] NO
C = 'RECTANGULO'

SI
SI OPC='3' D = B*H/2 F = 'A=B*H/2'

SI NO
OPC='1' C = 'TRIANGULO'
R
NO SI
OPC='4' D = (A+B)*H/2 F = 'A=(A+B)*H/2'

SI NO
LA OPCIÓN OPC='2' C = 'TRAPECIO'
ELEGIDA
B, H
NO EXISTE NO D = R*A/2

SI F = 'A=R*A/2'
OPC='3'
B, H
NO C = 'SECTOR'
3
SI
OPC='4'
A, B, H
NO

SI PANTALLA
OPC='5'
R, A DE SALIDA

NO
& C, F, D

FIN
@
CODIFICADO DEL DIAGRAMA

PROGRAM LAB_21;
USES
CRT;
VAR
OPC : Char;
A,B,H,R,D : Real;
F,C : String;
BEGIN
Clrscr;
WriteLn(' Universidad Técnica de Oruro');
WriteLn(' Facultad Nacional de Ingeniería');
WriteLn(' Departamento de Matemáticas');
WriteLn;
WriteLn(' DIAGRAMA No 21');
WriteLn;
WriteLn(' MENU');
WriteLn(' +-------------------------------+');
WriteLn(' | Círculo 1 |');
WriteLn(' | Rectángulo 2 |');
WriteLn(' | Triángulo 3 |');
WriteLn(' | Trapecio 4 |');
WriteLn(' | Sector 5 |');
WriteLn(' | |');
WriteLn(' | Salir X |');
WriteLn(' +------------------------------+');
WriteLn(' Opción de Cálculo ?');
GotoXY(43,17);ReadLn(OPC);
OPC:=UPCASE(OPC);
IF OPC IN ['1','2','3','4','5','X'] THEN
BEGIN
WRITELN;
WRITELN(' DATOS REQUERIDOS');
WRITELN(' -------------------------------');
IF OPC='1' THEN
BEGIN
GOTOXY(29,21);WRITE('RADIO = ');
READLN(R);
END
ELSE BEGIN
IF OPC='2' THEN
BEGIN
GOTOXY(29,21);WRITE('BASE = ');
READLN(B);
GOTOXY(29,22);WRITE('ALTURA = ');
READLN(H);
END
ELSE BEGIN
IF OPC='3' THEN
BEGIN
GOTOXY(29,21);WRITE('BASE = ');
READLN(B);
GOTOXY(29,22);WRITE('ALTURA = ');
READLN(H);
END
ELSE BEGIN
IF OPC='4' THEN
BEGIN
GOTOXY(29,21);WRITE('BASE SUPERIOR = ');
READLN(A);
GOTOXY(29,22);WRITE('BASE INFERIOR = ');
READLN(B);
GOTOXY(29,23);WRITE('ALTURA = ');
READLN(H);
END
ELSE BEGIN
IF OPC='5' THEN
BEGIN
GOTOXY(29,21);WRITE('RADIO = ');
READLN(R);
GOTOXY(29,22);WRITE('ANGULO = ');
READLN(A);
END;
END
END
END
END;
IF OPC<>'X' THEN
BEGIN
IF OPC='1' THEN BEGIN
D:=PI*R*r;
F:='A=pi*R*R';
C:='CIRCULO';
END
ELSE BEGIN
IF OPC='2' THEN BEGIN
D:=B*H;
F:='A=B*H';
C:='RECTANGULO';
END
ELSE BEGIN
IF OPC='3' THEN BEGIN
D:=B*H/2;
F:='A=B*H/2';
C:='TRIANGULO';
END
ELSE BEGIN
IF OPC='4' THEN BEGIN
D:=(A+B)*H/2;
F:='A=(A+B)*H/2';
C:='TRAPECIO';
END
ELSE BEGIN
D:=R*A/2;
F:='A=R*A/2';
C:='SECTOR';
END;
END
END
END;
Clrscr;
WriteLn(' Universidad Técnica de Oruro');
WriteLn(' Facultad Nacional de Ingeniería');
WriteLn(' Departamento de Matemáticas');
WriteLn;
WriteLn(' DIAGRAMA No 21');
WriteLn;
WRITELN(' RESULTADOS');
WRITELN(' +--------------------------------------+');
WRITELN(' | FIGURA = |');
WRITELN(' | FORMULA = |');
WRITELN(' | AREA = |');
WRITELN(' +--------------------------------------+');
GOTOXY(35,9);WRITELN(C);
GOTOXY(35,10);WRITELN(F);
GOTOXY(35,11);WRITELN(D:5:3);
END
ELSE BEGIN
GOTOXY(25,19);WRITELN('SE PRESIONO SALIR');
END
END
ELSE BEGIN
GOTOXY(20,19);WRITELN('LA OPCION ELEGIDA NO EXISTE');
END;
GOTOXY(1,24);WRITE('Presione ENTER para terminar');READLN;
END.

También podría gustarte