Jump to content


Rocc0

Member Since 04/11/2009
Offline Last Active 05/11/2009, 07:45
-----

Topics I've Started

Ajuda Para Encontrar Erro

04/11/2009, 13:17

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

IPB Skin By Virteq