Jump to content
MichaelCommando

[Resolvido] Algoritimo visualg

Recommended Posts

olá galera!, Sou novo no forum e estou iniciando em algoritmos com o visualg, e estou sentindo dificuldades nas estruturas de repetiçao. O exercicio é o seguinte:

Faça um algortmo que receba dois numeros naturais X e Y e escrever todos os numeros primos entre eles.

eu apenas consegui fazer o algoritimo mostrar se o numero é primo ou nao:

algoritmo "Questao 5"

// Função : Escrever os números primos entre X e Y
// Autor : Michael Jordan - Turma 722
// Data : 20/08/2010
// Seção de Declarações 
var
N, x, nn, c: inteiro

inicio

escreval("numeros primos")
escreval
escreval("Informe um numero")
leia(n)
 se N > 0 entao
 nn<- 1
 para c de 2 ate (n-1) faca
 se n mod c = 0 entao
 x<- x+1
 fimse
 fimpara
 se x <> 0 entao
 escreval(N, " nao faz parte dos numeros primos")
 senao
 se x= 0 entao
 escrevaL(n, " faz parte dos numeros primos")
 fimse
 fimse
 fimse
// Seção de Comandos 
fimalgoritmo

Essa questão faz parte de uma lista com 12 questoes para ser entregue nesta segunda. Se puderem me ajudar, desde já agradeço.

Edited by João Batista Neto
Remover palavra ajuda do título ou descrição por desrespeitar as regras do fórum

Share this post


Link to post
Share on other sites

cara tu fez a parte mais dificil :P

 

vou te passar a logica pq nao conheco esse treco que usa.

 

Informe um numero

(grava em x)

Informe outro numero

(grava em y)

 

se x > y

para x ate y

aqui você testa se eh primo com o mod como você jah fez

se y > x

para y ate x

aqui você testa se eh primo com o mod como você jah fez

senao

Digite numeros diferentes

 

 

uma pequena observação, existem professores que sao chatos quanto ao que pedem. Ele nao pediu para você dizer o que cada numero eh, pediu apenas para imprimir os primos.

 

meu professor sempre diz, faça exatamente o que o cliente pediu, depois se ele quizer mais coisa, terá de pagar por elas.

 

espero ter ajudado. qualquer coisa posta de novo

Edited by Mário Monteiro

Share this post


Link to post
Share on other sites

obrigado pela ajuda, más ainda não consegui responder. O algoritmo lê os dois numeros que digito e fala se eles são primos ou não, porem o que eu quero é mostrar se os números entre eles são primos ou não. Por exeemplo: eu informo dois numeros, 1 e 5, o algoritmo deve falar se 1, 2, 3, 4, e 5 são primos ou não.

 

o alg ficou assim:

algoritmo "Questao 2"
// Função : Determinar se um numero é primo ou nao
// Autor : Michael Jordan - Turma 722
// Data : 20/08/2010
// Seção de Declarações 
var
N, x, nn, c, n2, d, y: inteiro

inicio

escreval("numeros primos")
escreval("Informe um numero")
leia(n)
 se N > 0 entao
 nn<- 1
      para c de 2 ate (n-1) faca
           se n mod c = 0 entao
           x<- x+1
           fimse
      fimpara
escrevaL("informe outro numero")
leia(n2)
        para d de 2 ate (n2-1) faca
             se n2 mod d = 0 entao
             y<- x+1
             fimse
        fimpara
             se x <> 0 entao
             escreval(N, " nao faz parte dos numeros primos")
                         senao
                         se x= 0 entao
                         escrevaL(n, " faz parte dos numeros primos")
                         fimse
             se y <> 0 entao
             escreval(n2, "nao faz parte dos numeros primos ")
                         senao
                         se y= 0 entao
                         escreval(n2, " faz parte dos numeros primos")
                         fimse
             fimse
             fimse
             fimse
// Seção de Comandos 
fimalgoritmo

desde já agradeço.

Edited by quitZAUMMM
Troca das tags [quote] por [code]

Share this post


Link to post
Share on other sites

Leia (n1, n2);
Para i de n1 até n2 faça
    Escreva("Numero: " + i);
    Se ((i  mod 2) = 0) Escreva (" Primo");
    Senão               Escreva (" não Primo");
Fim_Para

isso?

Share this post


Link to post
Share on other sites

Aê galera. Consegui responder em sala, meus problemas eram o mod junto com a repeiçao. Era so colocar um contador pra contar quantas vezes o mod era igual a 0, ai entra um "se" para falar se é primo ou nao. o algoritimo ficou assim:

 

para i de x ate y faca
     para j de x ate i faca
          se i mod j = 0 entao
          c<- c+1
          fimse
          fimpara
     se c = 2 entao
     escreval("numeros primos sao", i) 
Pode fechar o topico.

Vlw pela ajuda!

Edited by quitZAUMMM
Troca de tag [quote] por [code]

Share this post


Link to post
Share on other sites

Um ótimo vídeo explicando o passo a passo é esse ;) ->

 

 

 

Em VisuAlg;

algoritmo "primo"
// Função :
// Autor :
// Data : 09/07/2016
// Seção de Declarações 
var
contador, soma, numero, divisor:inteiro
inicio
// Seção de Comandos 
contador<-0
soma<-0
escreva("Digite o número : ")
leia(numero)

repita
      contador<-contador+1
      se(numero%contador=0)entao
                                soma<-soma+1
                                divisor<-contador
                                escreval(numero," Divisivel por ",divisor)
      fimse
ate(contador>=numero)
se(soma=2)entao
               escreval(numero, " É Primo !!")
senao
               escreval(numero, " Não é primo ")
fimse
fimalgoritmo

Em Python(Dentro de uma função);

def primo(numero):
    soma=0
    contador=0
    while(numero>contador):
        contador=contador+1
        if(numero%contador==0):
            soma=soma+1
            print(numero, " é divisil por ",contador," = ",numero/contador)
    if(soma==2):
        print(numero," É primo!")
        return True
    else:
        print(numero," Não é primo!")
        return False
numero=eval(input(" Digite o número : "))
print(primo(numero))

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.