sábado, 21 de maio de 2011

Algoritmo Fibonacci no Visualg

Encontrei na internet outras formas de fazer esse algoritmo, mas nenhum no visualg que fosse simples de entender, então fiz esse usando estruturas bem básicas:


algoritmo "AlgoritmoFibonacci"
// Função :Exibir na tela os n primeiros numeros da cadeia Fibonacci
// Autor : Bentes
// Data : 21/5/2011
// Seção de Declarações
var
cont, n, num, atual, ant : inteiro
inicio
// Seção de Comandos


cont <- 0       //atribuindo valor ao contador

escreval ("Quantos numeros da cadeia fibonacci deseja ver?")
escreval ("Digite um numero maior que zero!")
leia (n)

se n <=0 entao

escreval ("Numero Inválido!!!")
senao

   se (n=1) entao

      escreval ("")  //linha em branco
      escreval ("O primeiro numero da cadeia Fibonacci: ") //o primeiro n° da cadeia
      escreval ("0 ")
   senao
      escreval ("")  //linha em branco
      escreval ("Os",n," primeiros numeros da cadeia Fibonacci: ")
      se n=2 entao

      escreval ("0 - 1 ")   // os dois primeiros n°s da cadeia!

      senao


         escreva ("0 - 1  ")

         atual <- 1
         ant <- 0
         repita
            num <- atual + ant  // o numero da vez é igual ao atual + o anterior!
            escreva ("- ", num, "  ")
            ant <- atual
            atual <- num
            cont <- cont + 1
         ate (cont = n-2)  // os dois primeiros n°s já foram impressos!
      fimse
   fimse
fimse
escreval ("")    //linha em branco
fimalgoritmo

6 comentários:

  1. algoritmo "Sequência de Fibonacci"
    // Função : Estrutura de repetição: PARA
    // Autor : Alex Dias
    // Data : 23/10/2013
    // Seção de Declarações
    var

    n, a, b, c, x: inteiro

    inicio
    // Seção de Comandos

    escreva("número de termos: ")
    leia(n)
    escreval()

    //a sequência começa com a=0 e b=1
    a:= 0
    b:= 1

    escreval("Sequência de Fibonacci com",n," termos:")
    escreval()

    para x de 1 ate n faca //a sequência irá se repetir "n" vezes

    //essa é a fórmula da sequência, não tem porque ficar bolando programas
    // enormes pra algo tão simples, todo mundo ja estudou isso na escola

    c<-a+b
    escreval(a) //imprimi "a" aqui para a sequência comerçar no "0"
    a<-b
    b<-c

    fimpara

    fimalgoritmo

    ResponderExcluir
  2. algoritmo "Questão 01, Fibonacci"
    // Função : fibonacci...** o meu funciona e é simples****
    // Autor :Nathan
    // Data : 06/05/2015
    // Seção de Declarações
    var

    a,b,c,d,f,g:inteiro


    inicio
    // Seção de Comandos

    escreva("entre com um nª: ")
    leia(a)
    c<-1
    d<-1
    g<-1
    f<-1
    escreva(c,d)
    para b de 1 ate a faca
    f<-c+d
    c<-d
    d<-f

    se f<=a entao
    escreva(f)
    f<-f+1
    fimse

    fimpara


    fimalgoritmo

    ResponderExcluir
  3. Poderia fazer usando Portugol por favor????

    ResponderExcluir
  4. algoritmo "semnome"
    // Função : Mostrar os 15 primeiros números da sequencia de Fibonacci
    // Autor : Cassiano Belitzki
    // Data : 29/10/2020
    // Seção de Declarações
    var
    c, n1, n2, n3 : inteiro
    inicio
    // Seção de Comandos
    n1 <- 0 //Atribuindo o primeiro valor de N1
    Escreva(n1)
    n2 <- 1 //Atribuindo o primeiro valor de N2
    Escreva(n2)
    Para c := 3 ate 15 faca //Laço de repetição para mostrar a
    partir do terceiro valordasequência
    n3 := n1 + n2 //N3 recebe a soma de N1 + N2
    Escreva(n3)
    n1 := n2 //N1 recebe seu novo valor
    n2 := n3 //Assim como N2
    fimPara
    fimalgoritmo

    ResponderExcluir