Program LetraH; var pot,base : real; i,aux,aux1:integer; //POG - Programação Orientada a Gambiarra Begin writeln('Os valores da base e da potencia tem de ser (inteiros e positivos)!'); writeln; writeln('Informe a Base :'); readln(base); {A função ” frac ” me retorna a parte fracionária de um número, ou seja o que vem depois do ponto} {A função ” int ” me retorna a parte inteira do número} if not (frac(base)=0) and (base > 0) then begin writeln('o numero da base informado nao é inteiro/positivo!'); Exit; end; writeln; writeln('Informe a Potencia :'); readln(pot); if not (frac(base)=0) and (base > 0) then begin writeln('o numero da potencia informado nao é inteiro/positivo!'); Exit; end; //Round serve para arredondar o valor! aux:=Round(pot); //armazena o valor da potencia para usar no resultado aux1:=Round(base); //armazena o valor da base para usar no resultado i:=1; while (i < aux) do begin base:=base*aux; i:=i+1; end; writeln; writeln('O resultado de , ',aux1,'^',aux,' = ', base:4:0); //e o outro modo abaixo mais simples de se usar exponenciação //writeln (exp(i * ln(3))); End.