Lógica, perguntado por AnaluRodrigues9811, 10 meses atrás

(algoritmo) FAÇA UM PROGRAMA QUE RECEBA DEZ NÚMEROS INTEIROS E MOSTRE A QUANTIDADE DE NÚMERO PRIMOS DENTRE OS NÚMEROS QUE FORAM DIGITADOS.

Soluções para a tarefa

Respondido por arthurvergacas
0

Podemos dividir o problema em alguns passos:

  1. Criar uma variável para monitorar a quantidade de números primos ja vistos;
  2. Para cada número recebido pelo programa, cheque se ele é primo;
  3. Se sim, adicione um no contador;
  4. Repita o processo para até que todos os números tenham sido checados (no nosso caso, 10 vezes).

Um possível pseudocódigo para este problema pode ser:

função primos(números):

 contador = 0

 para cada número em números:

   se éPrimo(número) == true:

     contador += 1

 retorne contador

É claro, isso implica na função éPrimo(n), um problema clássico na ciência da computação. Muitos são os métodos para a definição de um número como primo ou composto (compostos são aqueles números que não são primos, como 4, 6, 8, 9...). Embora não seja o mais performático, o método de tentativa e erro pode ser aplicado nesse caso, contanto que os números a serem testados não sejam muito grandes.

Uma sequência de de passos possível para a elaboração de uma função que receba um número e retorne true se for primo e false caso contrário, é a seguinte:

  1. Se o número for igual a 2, retorne true;
  2. Se o número for par, retorne false;
  3. Divida cada número menor que a raiz quadrada do número a ser testado, e se o resultado for um número inteiro, significa que o número tem divisores, e portanto não é primo. Se for esse caso, retorne false;
  4. Se após que todos os números tiverem sido testados nenhum conseguir dividir o número sendo testado, o número é primo, portanto retorne True.

Um possível pseudocódigo é o seguinte:

função éPrimo(n):

 se n == 2:

   retorne true

 se n % 2 == 0:

   retorne false

 para cada i menor que \sqrt{n}:

   se n % i == 0:

     retorne false

 retorne true

Respondido por anapaulavida5
0

Resposta:

programa

{

 

funcao inicio()

{

 inteiro num, result

 

     result = 0

     

     escreva("Olá!!! \n")

 escreva("Digite um número menor ou igual a 30 : ")

 leia(num)

 

 se (num <= 30)

 {

 para (inteiro i = 2 ; i <= num / 2; i++)

 {

         se (num % i == 0)

         {

             result++

         }

 }

     se (result == 0 )

     {

         escreva("O Numero digitado é um número PRIMO!!")

     }

     senao se(num % 2 == 0)

     {

         escreva("Número PAR!")

     }

     senao

     {

         escreva("Número IMPAR!")

     }

 }

 senao

 {

     escreva("Você digitou um número Maior que 30!!!")

 }

}

}

 

Explicação:

Perguntas interessantes