Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kandrade

Sequencia de Fibonacci

Recommended Posts

leia (fib); // esse número será a condição de parada do laço.
atual = 1; // atual recebe 1 
ant = 0; // anterior recebe 0
se fib < 2 então // se eu quero menos de duas sequencias então apresento 1 na tela.
   escreva 1;
senao // senao, isso significa que quero uma sequencia maior ou igual a 2
   escreva "1, ";  
   para i de 2 ate fib faca
	  fib = atual + ant;
	  escreva "fib, "
	  aux = atual;
	  atual = fib;
	  ant = aux;
   fim_para
fim_se

 

Epero que voce entendam até o senao.

Apartir dai vamos analisar o que acontece por exemplo se fib for igual a 4

1 aparece na tela

fib = 1 + 0 = 1

1 aparece na tela

aux = 1

atual = 1

ant = 1

volta ao começo do laço

fib = 1 + 1 = 2

2 aparece na tela

aux = 1

atual = 2

ant = 1

volta ao começo do laço

fib = 1 + 2

3 aparece na tela

aux = 2

atual = 3

ant = 2

sai do laço

 

resultado em tela:

 

1, 1, 2, 3

 

essa é a sequencia até a quarta posição

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara tive q fazer isso usando recursividade foi meio f**** hehe..

+ o meu naum mostra a sequencia e sim ql o numero na posicao desejada.

 

Prototipação: Função inteiro Fibonacci (inteiro pos)

Início
   Inteiro pos;
   Escreva ("Digite a posição que desejar ver da sequência de Fibonacci: ");
   Leia (pos);
   x<-fibonacci(pos);
   Escreva("O numero na seqüência de Fibonacci é: "+x);
Fim

função inteiro fibonacci(inteiro posx)
	inteiro y;
   se (posx = 1 ou posx = 2)
	   y<-1;	
	   retorna y;
   senão
	   y<- fibonacci(posx-1)+ fibonacci(posx-2)
	   retorna y;
   fim_se
fim_função

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou deixar aqui a minha contribuição

 

algoritmo "fibonacci"

// Função :

// Autor :

// Data : 18/10/2007

// Seção de Declarações

var

a,at,pr, c : inteiro

//a : atual; at : anterior; pr : proximo

//C : contador

n : inteiro

//Valor para n

b : inteiro

//Operação para usar o limpatela

soma : inteiro

 

inicio

b <- 1

enquanto (b=1) faca

limpatela

a <- 1

at <- 1

pr <- 1

soma <- 0

escreva("Digite um valor de n")

leia(n)

para c de 1 ate n passo 1 faca

escreva(" ",at)

a <- at

at <- pr

pr <- a + at

soma <- soma + a

escreval

fimpara

escreval("A soma eh ",soma)

escreval("Deseja continuar? (1)Sim (0)Não")

leia(B)

fimenquanto

fimalgoritmo

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

 

 

cara tive q fazer isso usando recursividade foi meio f**** hehe..

+ o meu naum mostra a sequencia e sim ql o numero na posicao desejada.

 

Prototipação: Função inteiro Fibonacci (inteiro pos)

Início
   Inteiro pos;
   Escreva ("Digite a posição que desejar ver da sequência de Fibonacci: ");
   Leia (pos);
   x<-fibonacci(pos);
   Escreva("O numero na seqüência de Fibonacci é: "+x);
Fim

função inteiro fibonacci(inteiro posx)
	inteiro y;
   se (posx = 1 ou posx = 2)
	   y<-1;	
	   retorna y;
   senão
	   y<- fibonacci(posx-1)+ fibonacci(posx-2)
	   retorna y;
   fim_se
fim_função

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.