Pedrinhooo 0 Denunciar post Postado Agosto 3, 2007 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 ke por sinal não deu certo. Não so mto bom com algoritmo com repita entao uma negação mas nao vi outro geito, se puderem apontar o erro e me ajudar ficaria mtoo feliz >] var y, x, cont : inteiroinicio escreva ("Digite um número para saber se ele é primo ou não: ") leia (x) cont <- 2 repita Se x mod cont = 0 entao y <- 1 interrompa Senao y <- 2 fimse cont <- cont + 1 fimrepita Se y = 1 entao escreva ("Não é um número primo") Senao escreva ("É um número primo") fimsefimalgoritmo 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 pq realmente nao sei por onde começa esse :/ Obrigado desde já Pedrinhooo ;D Compartilhar este post Link para o post Compartilhar em outros sites
Rafael D 0 Denunciar post Postado Agosto 4, 2007 E ae,No primeiro problema.. uma solução interessante para descobrir se o número é primo:-Você deve ler o número (guarde em uma variável)-Descubra a raiz quadrada deste número (guarde em outra variável)-Tenha uma variavel de controle para guardar o número de divisores que você encontrar-Tenha um contador que começa com 1 e faça uma repetição com a estrutura: Enquanto o seu contador for menor do que a raiz do número, faça o mod do número pelo contador. Se o mod for igual a 0, adicione 1 a sua variavel de controle. No fim da repetição verifique se esta variavel tem valor 2, e pronto você sabe se o número é primo.É importante que nas suas estruturas de repetição você tenha condições de parada bem definidas, nesse caso é necessário verificar todos os números para contar o número de divisores.Se não souber como pegar a raiz quadrada do número, você pode fazer o contador de 1 até o próprio número que também dá certo, essa dica da raiz é apenas para deixar a verificação um pouco mais rápida.Veja se sua lógica é parecida com essa, e tente fazer os ajustes no seu algoritmo... qualquer dificuldade é só falar que eu te ajudo em algum trecho ;) Já no segundo problema, você tem que verificar se a soma de todos os divisores do número informado (exceto ele mesmo) é igual ao próprio número. Para isso, a lógica é parecida com a do número primo. Faça uma repetição que começa com contador igual a zero e vai até o número - 1.Dentro da repetição verifica se o número mod contador é igual a zero, se for some o seu contador a uma variavel de controle( Ex: x = x + contador). Depois que acabar a repetição verifique se sua variavel de controle é igual ao número inicial, e assim você vai descobrir se o número é perfeito.Tente montar esse algoritmo também, qualquer dúvida estamos ae =]flws o/ Compartilhar este post Link para o post Compartilhar em outros sites
Pedrinhooo 0 Denunciar post Postado Agosto 4, 2007 Rafael D ;Dbrigado pela resposta , mas na verdade consegui resolver os problemas em questao :Dquanto ao 1 exercicio vo dexa a resposta de como fiz pq axei um pouco mais simples de como você falou (nao sei por akele "code") :var x, y, cont : inteiroinicioescreva ("Digite um número para saber se ele é primo ou não: ")leia (x)cont <- 2repitaSe cont = x entaointerrompaSenaoSe x mod cont = 0 entaoy <- 1interrompaSenaoy <- 2fimsefimsecont <- cont + 1fimrepitaSe y = 1 entaoescreva ("Não é um número primo")Senaoescreva ("É um número primo")fimsefimalgoritmo mto obrigado pela resposta Rafael :D, mais agora to com otro problema se puder me ajudar tbm ^^. Queria fazer um algoritmo que mostrasse a Sequencia fibonacci , vo por o começo ke eu fiz mais nao ta certo entao se puderem me ajudar em linguagem de VisualG por favor fico agradecido :) var x, cont : inteiroinicio escreva ("1") x <- 1 repita escreval (x) cont <- x x <- x + cont fimrepitafimalgoritmoSoh pra constar Sequencia Fibonacci eh assim : 1 1 2 3 5 8 13 21 ...ou seja somase o numero com o anterior e escreve ele :DObrigado desde jáAbraços,Pedrinhooo ;D Compartilhar este post Link para o post Compartilhar em outros sites