Exercícios Resolvidos de Estruturas de Repetição: O laço For

Ver Teoria

Enunciado

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

Passo 1

E aí galera, vamos resolver mais um exercício de fixação?!

Primeiro de tudo, você deve lembrar que um número primo é qualquer número inteiro e positivo que só seja divisível por 1 e por ele mesmo.

Então, uma forma de testar se um número é ou não é primo é tentando dividir esse número por todos os números que vem antes dele. Se em alguma tentativa o resta da divisão for zero, então esse não é um número primo.

Então vamos criar um programa que usa o operador de resto da divisão ( % ). 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 começar, vamos escrever o cabeçalho do código:

Passo 2

Vamos declarar as variáveis do código.

De cara, a gente vai precisar de uma variável inteira n u m para receber o número do usuário. E para desenvolver o loop, a gente vai precisar de uma variável inteira i .

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 é a hora mais legal da questão. Vamos desenvolver um loop que testa se o número é ou não é primo.

Por definição, todo número primo é divisível por 1 , então não faz sentido testar essa divisão. Da mesma forma, todo número primo é divisível por ele memo, e este é outra divisão que não precisamos testar.

Por isso, vamos inicializar a variável de iteração em i = 2 , e vamos testar todos os números, de um em um, até i menor do que n u m . No código fica:

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 .

Uma coisa que legal que podemos fazer é imprimir o valor atual de i , e assim a gente vai saber qual foi o número que conseguiu dividir o n u m .

E é só isso. Temos um loop que testa se um determinado número é ou não é primo.

Passo 5

O loop está pronto. Mas ainda precisas imprimir a mensagem correta de se o número é ou não primo.

Pra isso podemos usar uma estrutura i f - e l s e que confere a variável p r i m o e imprime a mensagem adequada:

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