Exercícios Resolvidos de Estruturas de Repetição: while e do-while

Ver Teoria

Enunciado

Ler um número e escreva se ele "é primo" ou "não é primo".

Passo 1

Oi pessoal, vamos lá resolver essa questão.

Vamos começar relembrando que um número primo é qualquer número inteiro e positivo que só seja divisível por 1 e por ele mesmo.

O programa que vamos criar vai usar o operador de resto da divisão ( % ). Se o resto da divisão de um número por outro for igual a zero, então esses números são divisíveis entre si. Por exemplo: 4 % 2 = 0 pois 4 é divisível por 2 . Por outro lado, 5 % 3 = 2 pois 5 não é divisível por 3 .

Pra descobrir se um número é primo, temos que tentar dividi-lo por todos os números menores do que ele. Se houver algum caso em que o resto da divisão seja zero, então o número não é primo.

Passo 2

Vamos começar declarando as variáveis. Vamos precisar de uma variável para conter o número inteiro digitado pelo usuário, chamada n u m . Uma outra variável inteira chamada i será a variável usada no nosso laço.

Também vamos criar uma variável lógica chamada p r i m o que será inicializada com o valor t r u e . Dessa forma, todo número é considerado primo até que se prove o contrário!

Então, vamos declarar essas variáveis no código:

Passo 3

Antes de escrever o laço precisamos receber o número do usuário. Usamos o c o u t para pedir o número e com o c i n armazenamos o valor na variável correta.

Passo 4

Agora vamos usar um laço w h i l e para testar se o número é ou não primo.

Pra começar, vamos inicializar a variável i = 2 . Por definição, já sabemos que os números primos são divisíveis por um, então não faz sentido testar a divisão por 1, por isso vamos começar os testes partindo do 2 . Da mesma forma, não faz sentido testar se o número é divisível por ele mesmo. Então, a expressão de teste do nosso laço vai ser:

i < n u m

Pra testar se o número é primo vamos usar uma condição i f . Se o n u m for divisível por i então ele não é primo, e o valor lógico da variável p r i m o deve ser mudado para f a l s e .

E no final de cada iteração, a variável i deve ser incrementada para que possamos testar o próximo número.

Passo 5

O nosso laço w h i l e está finalizado!

Agora vamos usar uma estrutura i f - e l s e para imprimir uma mensagem adequada.

Se o número for primo vamos imprimir uma mensagem dizendo “eh primo”. E caso não seja, devemos imprimir uma mensagem dizendo “não eh primo”

S E   p r i m o = = t r u e   E N T Ã O :   I m p r i m i r   “ e h   p r i m o ” .  

C A S O   C O N T R A R I O :   I m p r i m i r   “ n ã o   e h   p r i m o ” .

E é isso! Programa concluído.

Resposta