aula 71

Exercício 3 | Leia um número x e diga se ele é primo ou não em Fluxograma

Você sabe identificar se um número é primo?

Você sabe verificar se o número 179 é primo?

E o 231 é primo?

Matematicamente falando, um número x é dito primo se ele for divisível apenas por 1 e por ele mesmo. A seguir apresento alguns números primos:

Alguns números primos: 2, 3, 7, 11, 13, 53, 59, 179, 181, 191, 449

Como descobrir se um número é primo?

Como mencionei acima, um número é primo se for divisível de forma exata apenas por 1 e por ele mesmo, ou seja, todo número primo possui exatamente 2 divisores, o 1 e ele próprio.

A estratégia mais simples para descobrir se um número é primo é contar seus divisores por meio da operação de resto da divisão, assim:

Estratégia: 179 é primo?:
179 % 1 = 0
179 % 2 = 1
179 % 3 = 2

179 % 178 = 1
179 % 179 = 0

Se, ao final dessa contagem, tivermos apenas 2 divisores então x é um número primo. É exatamente isso que vamos fazer no fluxograma a seguir.

Perceba que ao ler o valor de x verificamos se ele é maior que zero. Caso não seja, imprimirmos que o valor é inválido e finalizamos o algoritmo. Essa foi uma decisão de projeto. Se preferir, você pode colocar uma repetição para garantir que seja digitado um valor maior que zero.

O resto das divisões será calculado de 1 até x, por isso a variável valor foi inicializada com 1. Como iremos contar os divisores, a variável divisores foi inicializada com zero.

Na sequência temos a nossa repetição. Enquanto valor for menor ou igual a x, calcularemos o resto da divisão e, se for igual a zero, incrementamos divisores em uma unidade. É importante não esquecer de incrementar a variável valor, senão teremos um loop infinito, uma repetição que não termina.

Por fim, basta olharmos o valor da variável divisores. Se for exatamente 2, então x é primo, senão, x não é primo.

algoritmo primo em fluxograma
Algoritmo em fluxograma para verificar se um número é primo.


Deixe um comentário

onze + 14 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.