terça-feira, 11 de setembro de 2012
Exemplo Calculadora com procedure e function
{[pascal] Outra calculadora com uso de funções}
Program CALCULADORA;
uses crt;
var
OPCAO: char;
X, A, B: real;
PROCEDURE ENTRADA;
begin
gotoxy(05,06); write('Entre com um valor para A: '); readln(A);
gotoxy(05,07); write('Entre com um valor para B: '); readln(B);
end;
{**** Funcao para realizar a escolha do calculo que será realizado ****}
function CALCULO (R, T: REAL; OPERADOR: char):real;
begin
Case OPERADOR of
'+' : CALCULO :=R+T;
'-' : CALCULO :=R-T;
'*' : CALCULO :=R*T;
'/' : CALCULO :=R/T;
END;
end;
{**** Procedimento para mostrar o resultado do calculo ****}
Procedure SAIDA;
VAR
TECLA: char;
begin
gotoxy(05,10); write('O resultado equivale a ', X:5:2);
gotoxy(25,24); writeln('Tecle algo para voltar ao menu');
TECLA:= readkey;
end;
{Procedimento para realizar o calculo da Adicao entre o
valores armazenados nas variáveis globais A e B ***}
procedure ROT_ADICAO;
begin
clrscr;
gotoxy(32,01); write('Rotina de Adicao');
ENTRADA;
x:= Calculo(A, B, '+');
SAIDA;
end;
{Procedimento para realizar o calculo da Subtracao entre o valores
armazenados nas variáveis globais A e B ***}
procedure ROT_SUBTRACAO;
begin
clrscr;
gotoxy(30, 1); write('Rotina de Subtração');
ENTRADA;
x:= Calculo(A, B, '-');
SAIDA;
end;
{Procedimento para realizar o calculo da Multiplicacao entre o valores
armazenados nas variáveis globais A e B ***}
procedure ROT_MULTIPLICACAO;
begin
clrscr;
gotoxy(28,01); write('Rotina de Subtração');
ENTRADA;
x:= Calculo(A, B, '*');
SAIDA;
end;
{Procedimento para realizar o calculo da Divisao entre o valores
armazenados nas variáveis globais A e B}
procedure ROT_DIVISAO;
begin
clrscr;
gotoxy(32, 1); write('Rotina de Subtração');
ENTRADA;
x:= Calculo(A, B, '/');
SAIDA;
end;
{**** P R I N C I P A L ****}
BEGIN
OPCAO:='0';
while (OPCAO '5') do begin
begin
clrscr;
gotoxy(33,01); write('Menu principal');
gotoxy(28,06); write('1.....................Soma');
gotoxy(28,08); write('2............Subtracao');
gotoxy(28,10); write('3......Multiplicacao');
gotoxy(28,12); write('4................Divisao');
gotoxy(28,14); write('5..Fim do programa');
gotoxy(28,18); write('Escolha uma opcao ..........: ');
readln(OPCAO);
IF (OPCAO < '5') THEN
case OPCAO OF
'1': ROT_ADICAO;
'2': ROT_SUBTRACAO;
'3': ROT_MULTIPLICACAO;
'4': ROT_DIVISAO;
ELSE
gotoxy(27,25); writeln('Opcao invalida - tecle algo');
OPCAO := readkey;
end;
end;
END.
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário