Calculo Personalizado (PASCAL)
Autor: Everaldo | Publicado: 2012-04-05T09:49:00-03:00

Program Pzim ;
&nbsp;&nbsp;&nbsp;&nbsp; uses crt;
var
&nbsp;&nbsp;&nbsp; i,num1,num2,resultado:integer; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; opcao,sair:char;
&nbsp;&nbsp;&nbsp; num1d,num2d,resultadod:real;
&nbsp;&nbsp;&nbsp; nome:string;
&nbsp;Begin
&nbsp;&nbsp;&nbsp; clrscr ; 
&nbsp;&nbsp;&nbsp;&nbsp; textbackground( black ) ;
&nbsp;&nbsp;&nbsp;&nbsp; //for i := 9 to 15 do
&nbsp;&nbsp;&nbsp;&nbsp; //begin
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //textcolor( i ) ;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; textcolor( random( 15 ) ) ;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clrscr ;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write( 'Digite seu nome: ' ) ;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delay( 500 ) ;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp; //end;
&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp; read( nome ) ;&nbsp; 
&nbsp;&nbsp;&nbsp; sair := 'N';
&nbsp;&nbsp;&nbsp; clrscr ; 
&nbsp;&nbsp;&nbsp; i :=9;
&nbsp;&nbsp;&nbsp; repeat
&nbsp;&nbsp;&nbsp; &nbsp; repeat
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clrscr ; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ( (i&gt;= 9) and (i&lt;=14)) then 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; inc( i )
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; i :=9;;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; textcolor( i ) ;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( nome,' escolha qual operação deseja executar. ') ; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; writeln( '' ) ; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( '1 = Somar' ) ; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( '2 = Subtrair' ) ; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( '3 = Multiplicar' ) ; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( '4 = Dividir' ) ; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; opcao := readkey ; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( '' ) ; 
&nbsp;&nbsp;&nbsp; &nbsp; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ( opcao = '1' ) then 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; begin
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( nome,' informe dois numeros:' ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; readln( num1 ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; readln( num2 ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; resultado := num1 + num2;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( 'Resultado: ',resultado ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ( opcao = '2' ) then 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; begin
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( nome,' informe dois numeros:' ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; readln( num1 ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; readln( num2 ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ( num1 &gt;&nbsp; num2) then
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; begin
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; resultado := num1 - num2;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( 'Resultado: ',resultado ) ;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; end
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; begin
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; resultado := num2 - num1;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( 'Resultado: ',resultado ) ;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; end
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; end
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ( opcao = '3' ) then 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; begin
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( nome,' informe dois numeros:' ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; readln( num1 ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; readln( num2 ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; resultado := num1 * num2;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( 'Resultado: ',resultado ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; else

&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ( opcao = '4' ) then 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; begin
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( nome,' informe dois numeros:' ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; readln( num1d ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; readln( num2d ) ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; resultadod := num1d / num2d;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( 'Resultado: ',resultadod:0:1 ) ;
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; end
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; begin
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clrscr ; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( '' );
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( 'A opção ("' , opcao&nbsp; ,'") não está disponivel ' ) ;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; delay( 1000 ) ;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clrscr ; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; end ;
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; until ( (opcao = '1') or (opcao = '2') or (opcao = '3') or (opcao = '4') );
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; repeat 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; gotoxy( 1, 1 ) ;
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; write( 'Deseja efetuar um novo calculo ',nome,' ?&nbsp; (S/N)' ); 
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sair := upcase( readkey ) ;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ( (sair = 'N') or (sair = 'S') ) then 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; begin
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clrscr ; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; end&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; begin
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clrscr ; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writeln( 'A opção ("' , sair&nbsp; ,'") não está disponivel ' ) ;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; delay( 1000 ) ;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clrscr ;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; end;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; until ( (sair = 'N') or (sair = 'S') );
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; until (sair = 'N'&nbsp; );
&nbsp;&nbsp;&nbsp; clrscr ;
&nbsp;&nbsp;&nbsp; writeln( '' );
&nbsp;&nbsp;&nbsp; writeln( '' );
&nbsp;&nbsp;&nbsp; writeln( '' ); 
&nbsp;&nbsp;&nbsp; writeln( 'Obrigado por ter usando minha ferramenta de calculos' ) ; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; writeln( '' );
&nbsp;&nbsp;&nbsp; writeln( 'Creditos:' ) ;
&nbsp;&nbsp;&nbsp; writeln( '' ); 
&nbsp;&nbsp;&nbsp; write( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Everaldo José de Souza' ) ; 
&nbsp;&nbsp;&nbsp; writeln( ' - Aluno IFPR - Turma 2011' ) ; 
&nbsp;&nbsp;&nbsp; delay( 3000 ) ;&nbsp;&nbsp;&nbsp; 
&nbsp;End.