terça-feira, 11 de setembro de 2012

Exemolo de Sub-Rotina - Calculadora feito com procedure


{Procedures – Exemplo de subrotina – Calculadora Esse exemplo faz uma calculadora
 simples usando um procedimento para cada operação.
 Também faz uso do Case, uma alternativas a if (s) aninhados.}

Program CALCULADORA;
uses CRT;

var
opcao: char;

{*** Sub-rotinas de  calculos - Adição *** }

Procedure rot_adicao;

var
x, a, b: real;

Begin
clrscr;
gotoxy(32,01); write('Rotina de adição');
gotoxy(05,06); write('Entre um valor para   A: '); readln(a);
gotoxy(05,07); write('Entre um valor para   b: '); readln(b);
x:=a+b;
gotoxy(5,10); write('O resultado equivale a: ', x:6:2);
gotoxy(25,24); writeln('Pressione  para voltar para o menu ');
readln;
end;

{----------------------------------------------------------------------------}

{*** Sub-rotinas de calculos - Subtração ***}

Procedure rot_subtracao;

var
x, a, b: real;
Begin
clrscr;
gotoxy(32,01); write('Rotina de adição');
gotoxy(05,06); write('Entre um valor para  A: '); readln(a);
gotoxy(05,07); write('Entre um valor para   b: '); readln(b);
x:=a-b;
gotoxy(05,10); write('O resultado equivale a:   ', x:6:2);
gotoxy(25,24); writeln('Pressione  para voltar para o menu ');
readln;
end;

{-----------------------------------------------------------------------------}

{*** Sub-rotinas de calculos - Multiplicação***}

Procedure rot_multiplicacao;
var
x, a, b: real;

Begin
clrscr;
gotoxy(32, 1); write('Rotina de adição');
gotoxy(5, 6); write('Entre um valor para  A:   '); readln(a);
gotoxy(5, 7); write('Entre um valor para   b:   '); readln(b);
x:=a*b;
gotoxy(5,10); write('O resultado equivale a: ', x:6:2);
gotoxy(25,24); writeln('Pressione  para voltar para o menu ');
readln;
end;

{-----------------------------------------------------------------------------}

{*** Sub-rotinas dee calculos - Divisão ***}

Procedure rot_divisao;
var
x, a, b: real;
Begin
clrscr;
gotoxy(32,01); write('Rotina de adição');
gotoxy(05,06); write('Entre um valor para  A:   '); readln(a);
gotoxy(05,07); write('Entre um valor para  b:   '); readln(b);
x:=a/b;
gotoxy(05,10); write('O resultado equivale a:   ', x:6:2);
gotoxy(25,24); writeln('Pressione  para voltar para o menu ');
readln;
end;

{-----------------------------------------------------------------------------}

BEGIN { PROGRAMA PRINCIPAL}

textColor(yellow + blink); { altero a cor da fonte }
textBackground(BLUE); { altero a cor do plano de fundo }

clrscr;
opcao:='0';
while (opcao  < '5') do
    Begin
        clrscr;
gotoxy(33,01);    write('Menu principal');
gotoxy(22,06);   write('1  Soma');
gotoxy(22,08);   write('2  Subtracao');
gotoxy(22,10); write('3 Multiplicacao');
gotoxy(22,12); write('4  Divisao');
gotoxy(22,14); write('5 Fim de programa');
gotoxy(22,18); write(' Escolha uma opcao ......: ');
readln(opcao);
Case opcao of
           '1': rot_adicao;
     '2': rot_subtracao;
     '3': rot_multiplicacao;
     '4': rot_divisao
Else
     Writeln('Byeee');
end;
    end;
END.

Nenhum comentário:

Postar um comentário