thiago.iced 0 Denunciar post Postado Setembro 12, 2008 Olá, estou tendo que resolver uma lista de exercício para a faculdade e usa visualg, o enunciado do problema é: Escreva um programa que apresente a série de Fibonacci até o décimo quinto termo. Asérie de Fibonacci é formada pela sequência: 1, 1, 2, 3, 5, 8, 13, 21, 34 . . . etc., caracterizando-se pela soma de um termo posterior com o seu anterior subsequente. O meu código ate agora esta da seguinte forma: algoritmo "fibonacci.alg" var i,sFibonacci,temp,rec:inteiro inicio sFibonacci <- 0 para i de 0 ate 10 faca se (i < 2) entao sFibonacci <- 1 escreva(sFibonacci) fimse se (i = 2) entao rec <- (i - 1) sFibonacci <- (sFibonacci + rec) escreva(sFibonacci) temp <- 1 fimse se (i > 2) entao sFibonacci <- (sFibonacci + temp) temp <- (temp + 1) escreva(sFibonacci) fimse fimpara fimalgoritmo Para todo i maior que 2 eu faço um outro calculo, pelo o que eu consegui até agora desenvolver neste raciocicio o i estaria passando pela sua 3º vez achando o 4º termo da série e a variavel sFibonacci teria o valor de 3 que ele, ate ai tudo bem so que ele da como resultado os valores "1 1 2 3 5 8 12 17 23 30 38 47 57 68 80 93" onde até o 6º termo esta correto, so que na soma do 8 + seu termo anterior 5 que teria de dar 13 da 12 pois o sFibonacci tem o valor 8 com e ele soma com a variavel TEMP que vale 4 e deveria valer 5, dai fiz algumas GAMBIARRAS e consegui achar mais alguns termos, mas se eu fizer gambiarra a cada vez que ele não chegar ao número que eu quero eu vou escrever muitas linhas e sei que a lógica desta forma não estaria a correta. Sendo assim, se alguém puder me ajudar com a resolução ou ideias serias de grande ajuda! Obrigado! :) Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Setembro 12, 2008 Esse resultado é devido a essa linha: temp <- (temp + 1) Lembre-se do conceito. Fib(n) = Fib(n-1) + Fib(n-2) Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 12, 2008 olha vo postar um código q eu fiz no 2º semestre da facu, + foi coisa simples, o google tem td isso: Iterativa: Prototipação: Função inteiro Fibonacci (inteiro pos) Inicio Variáveis: Inteiro pos; Escreva(“Digite a posição que deseja ver o numero: “); Leia (pos); x <- fibonacci(pos); Escreva(“O numero na sequencia de fibonacci é: “+ x); Fim Função inteiro Fibonacci (inteiro posx) Inteiro: anterior, atual, y; atual <- 1; anterior <- 0; cont <- 0; Seq[0] <- anterior; i <- 1; Enquanto cont <> posx faça Aux <- atual; atual <- anterior + atual; Seq[i] <- atual; anterior <- aux; cont <- cont+1; i <- i +1; Fim_Enquanto; y <- seq[i-1] Retorna(y); Fim_função + de uma testada pq acho q a professora nem corrigiu :lol: []'s Compartilhar este post Link para o post Compartilhar em outros sites
thiago.iced 0 Denunciar post Postado Setembro 12, 2008 Vou dar uma testada aqui, mas mesmo assim obrigado pela ajuda pessoal. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 12, 2008 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif se você c enroscar em alguma parte, posta ae! []'s Compartilhar este post Link para o post Compartilhar em outros sites