Saudações pessoal...
Preciso de uma ajuda novamente de vocês, sou iniciante e a minha dificuldade em lógica é legendária rsss..
Tenho um problema:
Desenvolva um algoritmo que receba um número e identifique se ele é primo sabendo:
a)O 0 (zero) não é classificável
b)Valores menores que 4 são primos
c)Valores pares não são primos
d)Valores primos são divisíveis por 1 e pelo próprio valor.
Fizemos a seguinte solução:
Algoritmo: NumPrimo
Declara:num,i
Inicio
num <- ler
se num =0, então
escreva “não classificável”
senão
se num < 4, então
escreva “é primo”
senão
se num /2 =0, então
escreva “não é primo”
senão
i <- 3
enquanto num/i ≠ 0, faça
i <- i + 2
fim
se num / i = 0, então
escreva “não é primo”
senão
escreva “é primo”
fimse
fimse
fimse
fimalgoritmo
Preciso fazer um teste de mesa somente na parte em vermelho e principalmente explicar porque o comando "enquanto num/i ≠ 0, faça " esta incorreto, ocorre que não consigo encontrar o porque, visto que para encontrar um numero primo que não seja zero, seja maior que 3, com esta definição não encontra a saída, porém meu professor afirma que sim... ele afirma que o correto seria enquanto num/i = 1, faça.
vou por meu teste de mesa com o teste assumindo o numero 11 a variavel num gostaria que avaliassem também , apesar que o mais importante é a resposta do porquê...
Teste de mesa
Linha num i mod saida
0 11 0 0
1 11 3 0
4 11 3 3 não é primo
5 11 5
4 11 5 1 não é primo
5 11 7
4 11 7 4 não é primo
5 11 9
4 11 9 2 não é primo
5 11 11
4 11 11 0 é primo



Postagens
Não informado
