Estou aprendendo a criar algoritmo em Pascal, mas quando uso a função Mod não dá! Com If dá, mas no Case não.
Alguém pode criar pra mim?
Vamos escrever o algoritmo em Pascal. É importante ficar atento ao formato de um programa padrão em Pascal e às estruturas para não cometer erros simples que o deixam confuso em relação ao que realmente está errado. No programa abaixo é lido um número n e escrita sua paridade:
program paridade;
var
n: Integer;
begin
Read(n);
case n Mod 2 of
0 : Write('par');
1 : Write('impar');
end;
end.
Se for inserido um número par, o programa escreverá par. Se for inserido um número ímpar, o programa escreverá impar. Esse algoritmo foi testado no site https://ideone.com.
Não conheço pascal, vou mostrar em C, daí você transpõe pra pascal. A lógica é simples. Acho que será fácil transpor.
int num = 5; //número que quero testar
int i; //variável para pegar o valor do módulo do numero anterior.
i = 5 % 2; //aqui i receberá 1, pois é o resto da divisão.
switch (i){
case 1: printf("%d eh um numero impar", num);
break;
case 0: printf("%d eh um numero par", num);
break;
}
No visualG se faz assim:
var
modulo, numero:inteiro
inicio
escreval("Digite o número: ")
leia(numero)
modulo <- numero mod 2
se (modulo = 0) entao
escreval("O número é Par")
senao
escreval("O número é ímpar")
fimse
fimalgoritmo
Utilizando a opção de conversão de código do próprio visualG, o código em s PASCAL fica assim:
var
modulo, numero:integer;
begin
writeln('Digite o número: ');
readln(numero);
modulo := numero mod 2;
case (modulo) of
0 :
begin
writeln('O número é Par');
end;
1 :
begin
writeln('O número é ímpar');
end;
end;
Desculpe, postei o código em visualG errado, utiliando "se... então", o codigo utilizando o "switch.. case" é esse :
var
modulo, numero:inteiro
inicio
escreval("Digite o número: ")
leia(numero)
modulo <- numero mod 2
escolha (modulo)
caso 0
escreval("O número é Par")
caso 1
escreval("O número é ímpar")
fimescolha
fimalgoritmo
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar