Ir para conteúdo
Fórum Script Brasil
  • 0

Se Puderem Ajudar Fico Grato.


Pedrinhooo

Pergunta

Olá, sou iniciante em programação no momento estou apenas começando um curso técnico e to com dificuldade em 2 problemas se puderem me ajudar fico grato.

1º- A intenção é que o usuário digite um número e o programa (no caso como estou começando ainda uso Visualg) diz se ele é primo ou não, fiz alguma coisa que por sinal não deu certo. Não so muito bom com algoritmo com repita então uma negação mas não vi outro jeito, se puderem apontar o erro e me ajudar ficaria mtoo feliz >]

var

y, x, cont : inteiro

inicio

escreva ("Digite um número para saber se ele é primo ou não: ")

leia (x)

cont <- 2

repita

Se x mod cont = 0 então

y <- 1

interrompa

Senao

y <- 2

fimse

cont <- cont + 1

fimrepita

Se y = 1 então

escreva ("Não é um número primo")

Senao

escreva ("É um número primo")

fimse

fimalgoritmo

2º- Nesse a ideia é gerar numeros perfeitos. não faço ideia de como começar se puderem me ajudar pelo menos com uma luz posso tentar fazer e postar porque realmente não sei por onde começa esse :/

Obrigado desde já

Pedrinhooo ;D

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
1º- A intenção é que o usuário digite um número e o programa (no caso como estou começando ainda uso Visualg) diz se ele é primo ou não, fiz alguma coisa que por sinal não deu certo. Não so muito bom com algoritmo com repita então uma negação mas não vi outro jeito, se puderem apontar o erro e me ajudar ficaria mtoo feliz >]

numero primo só é disivel por 1 e por ele mesmo, certo?? então veja o seu while. você vai dividindo por todos numeros a partir de 2, certo?? se por acaso ele encontra um outro numero que a divisao da exata, ele sai do while e seta a variavel pra avisar que o numero não é primo certo??

mas veja que quando ele chegar nele mesmo, a divisao VAI dar EXATA, e você vai setar que o numero não é primo, mas ele é sim. por isso antes de fazer o mod, você tem que testar se a variavel cont é igual a x e, se for, você tem que sair do while.

2º- Nesse a ideia é gerar numeros perfeitos. não faço ideia de como começar se puderem me ajudar pelo menos com uma luz posso tentar fazer e postar porque realmente não sei por onde começa esse :/

o que é um numero perfeito??

Link para o comentário
Compartilhar em outros sites

  • 0

Kuroi muito obrigado pelo primeiro exercicio ^^

só para se alguém quiser saber ficou assim corrigido

var

y, x, cont : inteiro

inicio

escreva ("Digite um número para saber se ele é primo ou não: ")

leia (x)

cont <- 2

repita

Se cont = x então

interrompa

Senao

Se x mod cont = 0 então

y <- 1

interrompa

Senao

y <- 2

fimse

fimse

cont <- cont + 1

fimrepita

Se y = 1 então

escreva ("Não é um número primo")

Senao

escreva ("É um número primo")

fimse

fimalgoritmo

agora com relaçao ao segundo, numero perfeito é um numero que se somados os seus divisores (que resultam em mod 0 ou resto 0) , sem contar ele mesmo, resulta nele. EX:

6, pois seus divisores são 1 - 2 - 3 e 1 + 2 + 3 = 6.

Link para o comentário
Compartilhar em outros sites

  • 0

a cara, num é dificil não. tipo faca um while mais ou menos como esse do primeiro exercicio, que va tirando o mod de todos os numeros ate chegar no digitado. quando o mod for igual a 0, some esse numero numa segunda variavel.

quando o while acabar, veja se o resultado da soma é igual ao numero digitado. se for, o numero é perfeito.

Link para o comentário
Compartilhar em outros sites

  • 0

Kuroi exato!

voce xegou na raiz do meu problema. isso que voce falou no começo me pareceu um tanto obvio, porem quando meu professor completou o exercicio que me confundiu a cabeça. O usuario não vai digitar um numero, o programa vai Gerar numeros primos entende, não é uma verificacao como no primeiro e SIM uma "criacao" de numeros primos, ai que eu me perdi cara :/

só editando acho que o que você quis me dizer foi algo como isso

//x é o valor digitado pelo usuario e y minha variavel para descobrir se é primo e cont o contador

enquanto cont < x faca

Se x mod cont = 0 então

y <- y + cont

fimse

cont <- cont +1

fimenquanto

acho que foi algo como isso não é? :/

meu problema ta mesmo em gerar axei muito complicado

Editado por Pedrinhooo
Link para o comentário
Compartilhar em outros sites

  • 0

numeros primos ou perfeitos??

cara mais isso tem um limite não?? tipo achar todos os numeros perfeitos ate 100 ou ate 1000, certo?? ou tipo existe um limite de numeros perfeitos e você tem que achar todos??

bom, seja como for, isso não dificulta mta coisa não. é so você por esse while que você já tem dentro de um outro while que comece em 1 e va testando todos os numeros.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Será que você podia colocar o algoritmo do segundo exercícios pra mim ver como é que fica!!!

cara tenho um exercícios pra fazer que tenho que pegar os números perfeitos até 5000 e depois somas com uns valores de tabela do exercício mais não consego fazer a primeira parte e gerar os valores perfeitos...

será que você podia me ajudar????

Link para o comentário
Compartilhar em outros sites

  • 0

Eu vi esta idéia em java e passei pra português estruturado pra ficar melhor pra vc:

algoritmo "semnome"
// Função :
// Autor :
// Data : 5/7/2015
// Seção de Declarações
var
cont,i,num:inteiro
inicio
// Seção de Comandos
cont<-0
leia(num)
para i de 1 ate num faca
se num%i=0 então
cont<-cont+1
fimse
fimpara
se cont>2 então
escreval(num," não é primo.")
senao
escreval(num," é primo.")
fimse
fimalgoritmo

Ele conta quantas vezes um numero é dividido (cont). todo numero é divisivel por 1 e por ele mesmo, ou seja, ao final do loop 'para' cont vai estar com, no mínimo, o valor 2. Se o numero ao longo do loop for dividido mais de duas vezes, então ele não é primo, uma vez que os números primos só são divisiveis por 1 e por ele mesmo (2 vezes). :)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...