program calc_av3_pascal; uses crt; var tecla : char; n1, n2 : real; begin while ord ( tecla ) <> 27 do begin clrscr; writeln ( '>A< - Adicionar >Q< - Quadrado' ); writeln ( '>S< - Subtrair >R< - Raiz Quadrada' ); writeln ( '>D< - Dividir >F< - Fatorial' ); writeln ( '>M< - Multiplicar >ESC< - Fim' ); writeln ( '' ); write ( 'Escolha uma op‡ao indicada no destaque: ' ); tecla := readkey; write ( tecla ); case upcase ( tecla ) of 'A': begin writeln ( '' ); writeln ( '' ); writeln ( 'Opera‡ao: Adi‡ao!' ); writeln ( '' ); write ( 'Digite o primeiro n£mero: ' ); readln ( n1 ); write ( 'Digite o segundo n£mero: ' ); readln ( n2 ); writeln ( '' ); writeln ( 'Resultado:' ); writeln ( '' ); write ( n1:0:2, ' + ', n2:0:2, ' = ', n1 + n2:0:2 ); readln; end; 'S': begin writeln ( '' ); writeln ( '' ); writeln ( 'Opera‡ao: Subtra‡ao!' ); writeln ( '' ); write ( 'Digite o primeiro n£mero: ' ); readln ( n1 ); write ( 'Digite o segundo n£mero: ' ); readln ( n2 ); writeln ( '' ); writeln ( 'Resultado:' ); writeln ( '' ); write ( n1:0:2, ' - ', n2:0:2, ' = ', n1 - n2:0:2 ); readln (); end; 'D': begin writeln ( '' ); writeln ( '' ); writeln ( 'Opera‡ao: Divisao!' ); writeln ( '' ); write ( 'Digite o primeiro n£mero: ' ); readln ( n1 ); write ( 'Digite o segundo n£mero: ' ); readln ( n2 ); writeln ( '' ); writeln ( 'Resultado:' ); writeln ( '' ); write ( n1:0:2, ' / ', n2:0:2, ' = ', n1 / n2:0:2 ); readln (); end; 'M': begin writeln ( '' ); writeln ( '' ); writeln ( 'Opera‡ao: Multiplica‡ao' ); writeln ( '' ); write ( 'Digite o primeiro n£mero: ' ); readln ( n1 ); write ( 'Digite o segundo n£mero: ' ); readln ( n2 ); writeln ( '' ); writeln ( 'Resultado:' ); writeln ( '' ); write ( n1:0:2, ' * ', n2:0:2, ' = ', n1 * n2:0:2 ); readln (); end; 'Q': begin writeln ( '' ); writeln ( '' ); writeln ( 'Opera‡ao: Elevar ao quadrado!' ); writeln ( '' ); write ( 'Digite o n£mero: ' ); readln ( n1 ); writeln ( '' ); writeln ( 'Resultado:' ); writeln ( '' ); write ( n1:0:2, ' ao quadrado ‚ igual a ', sqr(n1):0:2 ); readln (); end; 'R': begin writeln ( '' ); writeln ( '' ); writeln ( 'Opera‡ao: Raiz quadrada!' ); writeln ( '' ); write ( 'Digite o n£mero: ' ); readln ( n1 ); writeln ( '' ); writeln ( 'Resultado:' ); writeln ( '' ); write ( 'A raiz quadrada de ', n1:0:2, ' ‚ ', sqrt(n1):0:2 ); readln (); end; 'F': begin writeln ( '' ); writeln ( '' ); writeln ( 'Opera‡ao: Fatora‡ao!' ); writeln ( '' ); write ( 'Digite o n£mero a ser fatorado: ' ); readln ( n1 ); writeln ( '' ); n2 := n1 - 1; writeln ( 'Fatorando o n£mero : ', n1:0:2 ); writeln ( '' ); while ( n2 > 1 ) do begin writeln ( n1:0:2, ' * ', n2:0:2, ' = ', n1 * n2:0:2 ); n1 := n1 * n2; n2 := n2 -1; end; writeln ( '' ); write ( 'Resultado: ', n1:0:2 ); readln (); end; end; end; writeln ( '' ); writeln ( '' ); write ( 'Fim de programa, pressione qualquer tecla para sair' ); readkey; end.