Exercício nº4
Conversor de Ângulos
Objetivos do Programa
Este programa converte ângulos em graus para radianos (1) e radianos para graus (2).
Para isso, é perguntado ao utilizador qual é a conversão que este deseja efetuar -(1) ou (2)- e é dada a informação que se este quiser sair do programa, basta que clique qualquer tecla que não o (1) ou o (2).
O programa pede para que seja introduzido o valor em graus ou em radianos e de seguida dá o resultado da conversão.
Algoritmia
Programa Conversor;
(Inserir variáveis)
Começar
Definir o valor de pi
Escrever (Informar o utilizador) o que é que o programa faz;
Pedir que o utilizador escolha uma opção (1- converter graus para radianos ou 2-converter radianos para graus) e dizer que para sair, basta que este digite algo diferente de 1 ou de 2;
Ler opção;
Se opção for 1 então:
Começar
Perguntar valor do ângulo em graus;
Ler o valor;
Converter o valor ( valor*pi/180);
Dar a resposta;
Acabar;
Se opção for 2 então:
Começar
Perguntar valor do ângulo em radianos;
Ler o valor;
Converter o valor ( valor*180/pi);
Dar a resposta;
Acabar;
Se a opção for algo diferente de 1 ou de 2 sair;
Acabar;
Repetir;
Fim.
Codificação
Program Conversor ;
var a,b: integer;
pi,c:real;
Begin
pi:=3.141593;
while 1=1 do
begin
writeln('Este programa converte graus para radianos e radianos para graus.');
writeln('Escolha uma opção, para sair, digite algo diferente de 1 ou de 2.');
writeln('1- Converter graus para radianos.');
writeln('2- Converter radianos para graus.');
readln(a);
begin
case a of
1: begin;
writeln('Introduza o valor em graus: ');
readln(b);
c:=b*pi/180;
writeln ('Em radianos: ',c);
end;
2: begin;
writeln('Introduza o valor em radianos: ');
readln(b);
c:=b*180/pi;
writeln ('Em radianos: ',c);
end
else exit
end;
writeln('');
end;
end;
End.
Obs:(Caso não se perceba bem, existe um printscreen da codificação no Pascal, mais abaixo).
Explicação
(alternativas e limitações)
Este programa foi feito para converter graus para radianos e radianos pra graus. Utilizei uma variável a que chamei pi e aribuí-lhe um valor, tornando-a assim constante já que não altero mais o valor dela ao longo do programa. De seguida, utilizo o while 1=1 para que o programa se repita. Em alternativa, poderia ter usado for ou repeat until, no entanto, o while tem vantagem uma vez que no case of, se a pessoa puser um outro dígito que não o 1 ou o 2. E, numa tentativa de contornar os erros fatais, eu resolvi informar a pessoa que esta só tem essas duas opções e se quiser sair, que digite algo diferente de 1 ou de 2. O repeat e o for ocupariam mais espaço no programa, mas a razão porque não escolhi o repeat é que estaria a repetir a condição para sair do programa e o for torna o programa limitado a um número fixo de ciclos (determinado ou pela pessoa ou pelo computador). De seguida, usei case of, em alternativa, pode;se usar o if, também é conveniente uma vez que temos poucas opções ( 1 , 2 ou outro), no entanto, considero a estrutura do case mais organizada e nos outros programas utilizei ifs, então aqui resolvi utilizar case of para mostrar que a vantagem de um sobre outro não é grande quando temos um número reduzido de opções. Este programa está bastante simples, é fácil de usar por quem tem poucos conhecimentos de informática e a própria estrutura do programa é básica. Os erros fatais estão aqui evitados uma vez que é dito para a pessoa escolher algo que não o 1 ou o 2 para o programa sair.
Funcionamento do Programa

Caso acima não se perceba bem, aqui está um print da codifica ção do ex..

Início

O utilizador quis sair do programa então pressionou um número que não o 1 ou o 2.

Caso acima não se perceba bem, aqui está um print da codificação do ex..