Advertisement
paulogp

Calculadora simples

Aug 7th, 2011
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.96 KB | None | 0 0
  1. { paulogp }
  2. Program Peda_02; {Executa uma operação matemática simples.}
  3.  
  4. Uses
  5.     WinCrt;
  6.  
  7. Const
  8.     Sinal = ['!','+','-','*',':','/','%'];
  9.  
  10. Var
  11.     Oper, Tecla: Char;
  12.     Entrada_A, Entrada_B, J, Fact: LongInt;
  13.     Resultado: Real;
  14.  
  15. Begin
  16.     Repeat
  17.         ClrScr;
  18.         WriteLn('Calculadora simples!');
  19.         WriteLn('~~~~~~~~~~~~~~~~~~~~');
  20.         WriteLn('Programado por: Paulo G.P.');
  21.         WriteLn;
  22.         WriteLn;
  23.         Write('Introduza o primeiro valor: ');
  24.         ReadLn(Entrada_A);
  25.         WriteLn;
  26.         WriteLn('Tabela de operacoes:');
  27.         WriteLn('-----------------------------');
  28.         WriteLn('"!" - Factorial');
  29.         WriteLn('"+" - Adicao');
  30.         WriteLn('"-" - Subtraccao');
  31.         WriteLn('"*" - Multiplicacao');
  32.         WriteLn('":" - Divisao inteira');
  33.         WriteLn('"/" - Divisao real');
  34.         WriteLn('"%" - Resto da divisão inteira');
  35.         WriteLn('-----------------------------');
  36.         WriteLn;
  37.         Write('Introduza a operacao pretendida: ');
  38.         Repeat
  39.             Oper:=ReadKey;
  40.         Until Oper in Sinal;
  41.         Write(Oper);
  42.         WriteLn;
  43.         If Oper='!' then
  44.         Begin
  45.             If Entrada_A<0 then WriteLn('Operacao impossivel em R!') else
  46.             Begin
  47.                 Fact:=1;
  48.                 For J:=Entrada_A downto 1 do Fact:=J*Fact;
  49.                 WriteLn;
  50.                 WriteLn('Resultado: ',Fact);
  51.             End;
  52.         End else
  53.         Begin
  54.             WriteLn;
  55.             Write('Introduza o segundo valor: ');
  56.             ReadLn(Entrada_B);
  57.             WriteLn;
  58.             If Entrada_B=0 then
  59.             Begin
  60.                 If (Oper=':') or (Oper='/') or (Oper='%') then
  61.                 WriteLn('Operacao impossivel em IR!');
  62.             End else
  63.             Begin
  64.                 Case Oper of
  65.                     '+': Resultado:=Entrada_A+Entrada_B;
  66.                     '-': Resultado:=Entrada_A-Entrada_B;
  67.                     '*': Resultado:=Entrada_A*Entrada_B;
  68.                     '/': Resultado:=Entrada_A/Entrada_B;
  69.                     ':': Resultado:=Entrada_A div Entrada_B;
  70.                     '%': Resultado:=Entrada_A mod Entrada_B;
  71.                 End;
  72.                 WriteLn('Resultado de ',Entrada_A,' ',Oper,' ',Entrada_B,' = ',Resultado:0);
  73.             End;
  74.         End;
  75.         WriteLn;
  76.         WriteLn;
  77.         Write('Repetir o programa (s/n)? ');
  78.         Tecla:=ReadKey;
  79.     Until (Tecla='N') or (Tecla='n');
  80.     DoneWinCrt;
  81. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement