Ir ao conteúdo
  • Cadastre-se

VisualG Sempre falando que não é primo


Posts recomendados

Bom dia @Hotaru

 

Nós não podemos escrever o código para você, nós só podemos lhe auxiliar tirando duvidas e corrigindo algum código que você já tenha feito.

 

Se puder postar o código que você já fez ou colocar em qual parte do exercício você está com duvida, poderemos lhe ajudar melhor :D 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Leonardo0308

 

Esse é meu código, pensei que tava fazendo certo só que me embolei todo

algoritmo "numprimos"


var

   x,y,z, op:inteiro

inicio

   enquanto op > -1 faca
      escreval ("Digite um número para saber se ele é primo ou não" )
      leia (x)
      z <- y mod x
      se z < 0 entao
         escreval ("Este número não é Primo!" )
      senao
         se z > 0 entao
            escreval ("Este numéro é Primo!" )
         fimse
      fimse
   fimenquanto
fimalgoritmo

 

Link para o comentário
Compartilhar em outros sites

Bom dia, amigo. Veja só, primeiramente nunca programei nessa linguagem no entanto a lógica de programação é sempre a mesma em quase todas as linguagens de programação. Mas o que você poderia fazer para resolver o seu problema acima é, a partir do número lido do teclado, ir testando num laço de 1 até o próprio número digitado quantas vezes a divisão do número digitado pelo denominador que mudará o tempo todo for diferente de zero. Se o contador chegar em 2, é porque é primo, se não, não é.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@JuanFelipe

algoritmo "semnome"
var
   cont, i: inteiro //contador
   num: inteiro  //usuario
   p: inteiro //verificar se é primo

inicio
   p<-1
   escreva ("digite um valor:")
   leia (num)
   para cont de 1 ate num faca
      para i de 1 ate cont faca
         se (cont mod i=0) entao
            p <- p+1
            se (p=2) entao
               escreval ("O numero é primo")
            senao
            escreval (" O numero não é primo")
         fimse
            fimse
      fimpara
   fimpara
   
fimalgoritmo

eu fiz outro e saiu assim, mas ta aparecendo muita coisa

Link para o comentário
Compartilhar em outros sites

algoritmo "numprimos"


var

   x,num, cont: inteiro
   sair:inteiro

inicio

enquanto sair > -1 faca
 se aux > -2 entao
   Escreval("Digite um numero para saber se ele é PRIMO ou não!: ")
   leia(num)
   para x:=1 ate num faca
      se num mod x = 0 entao
         cont:=cont+1
      fimse
   fimpara
   se cont<=2 entao
      escreval("O numero é primo!")
   senao
      escreval("O número não é primo!")
   fimse
fimenquanto
fimalgoritmo

Alguem pode me ajudar? quero que repita, e sempre que coloco o enquanto ele entra em looping e sempre fala que não é primo, e meu objetivo é falar se é primo ou não ate o usuario querer sair

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
19 horas atrás, Hotaru disse:

Alguem pode me ajudar? quero que repita, e sempre que coloco o enquanto ele entra em looping e sempre fala que não é primo, e meu objetivo é falar se é primo ou não ate o usuario querer sair

 

O que verifica se é primo ou não? no caso é a "quantidade de divisores"... no seu algoritmo, está na variável cont... daí, ao repetir, o próximo número vai continuar a partir do valor do loop anterior... resumindo: basta zerar o cont.

 

Ex.:

algoritmo "Número primos"
var
   x, num, cont: inteiro
   sair :inteiro
inicio
   enquanto sair > (-1) faca
      escreval("Digite um numero para saber se ele é PRIMO ou não!: ")
      leia(num)
      cont <- 0
      para x <- 1 ate num faca
         se num mod x = 0 entao
            cont <- cont+1
         fimSe
      fimPara
      se cont <= 2 entao
         escreval("O numero é primo!")
      senao
         escreval("O número não é primo!")
      fimSe
      escreval("")
      escreval("")
   fimEnquanto
fimAlgoritmo

 

 

ADENDO:

Para verificar se é primo ou não, não bastar só ver a quantidade de divisores... existem outras regras... como: o 1 é primo? e o 0 , ele é primo? como fica a questão dos números negativos, eles tem podem ser verificados se são primos ou não? tudo isso faz parte do contexto e precisa ser tratado no seu código.

 

Pelo que consta, o 1 não é primo, mas o seu código está dizendo que é. ;)

 

 

ADENDO 2:

O recurso de "sair" não foi implementado.

 

Por ai vai.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Simon Viegas consegui resolver com isso

adicionado 8 minutos depois

@Simon Viegas ficou assim

algoritmo "numprimos"

var

   x, num, cont: inteiro
   sair :inteiro
   
inicio

   enquanto sair > (-1) faca
      escreval("Digite um numero para saber se ele é PRIMO ou não!: ")
      escreval ("Digite 0 ou pressione ENTER para sair. ")
      leia(num)
   se num = 0 entao
   interrompa
   senao
      cont <- 0
      para x <- 1 ate num faca
         se num mod x = 0 entao
            cont <- cont+1
         fimSe
      fimPara
      se cont <= 2 entao
         escreval("O numero é primo!")
      senao
         escreval("O número não é primo!")
      fimSe
      escreval("")
      escreval("")
   fimse
   fimEnquanto
   
fimAlgoritmo

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
1 hora atrás, Hotaru disse:

@Simon Viegas consegui resolver com isso

 

Conseguiu resolver o quê? não ficou claro para mim.

 

 

Temos o seguinte enunciado:

 

Em 11/11/2019 às 11:12, Hotaru disse:

Escrever um algoritmo que solicite um número inteiro ao usuário e informe se ele é um número primo ou não.

 

Faça uma espécie de teste de mesa. Por exemplo, abaixo escolhi 10 número inteiros:

2

3

4

6

27

29

0

1

-2

-6

 

No "mundo real", quais desses números são primos e quais não são primos?

No programa, quais desses números deram primos e quais deram não primos?

 

Então, para TODOS os números acima, o resultado deve ser igual entre o "mundo real" e o programa.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...