Buscar

Como fazer um algoritmo para mostrar os 10 primeiros números de Fibonacci e depois mostrar os pares e impares embaixo de tudo?

Algoritmo - VisualG

💡 6 Respostas

User badge image

RD Resoluções

A sequencia de Fibonacci é uma sequencia de números inteiros que normalmente se inicia de 0 e 1, assim o próximo número sempre é a soma dos seus dois números antecessores. Dessa forma podemos obter:

0,1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144...


Assim, para desenvolvermos um algoritmo que apresente os 10 primeiros termos da série de Fibonacci é necessário definir as variáveis utilizadas, assim teremos:

algoritmo "Fibonacci"

var

i, atual, temp, ant : inteiro

V:vetor[1..10] de inteiro//termos da série

Vpar:vetor[1..10] de inteiro//variáveis utilizadas na segunda parte do programa

Vimpar:vetor[1..10] de inteiro

contimpar,contpar:inteiro


Com isso, podemos calcular os 10 primeiros valores da série tomando 0 e 1 como termos iniciais e assim salvando-os em um vetor de 10 posições, utilizando laços de repetições com repetições de 8 vezes já que os dois valores inicias são conhecidos e já os imprimindo na tela. Assim, teremos:

inicio

escreva("0")

V[1]<-0

atual <- 1

V[2]<-1

para i de 2 ate 10 faca

escreva(atual)

V[i]<-atual//salva valor atual no vetor

ant <- atual//variável anterior recebe o valor do último termo.

atual <- atual + temp//calcula o próximo termo da série utilizando o último e penúltimo termo calculado.

temp <- ant//salva o valor do penúltimo termo da série

fimpara


Com isso, teremos que definir se cada número presente no vetor é par ou ímpar. Assim, utilizaremos o resto da divisão inteira para definir se há um termo par ou ímpar. Dessa forma, se o resto da divisão for 0 o número será par e será armazenado no vetor Vpar, caso contrário será armazenado em Vimpar.

contimpar<-1//inicializar controle de posições de vetores em 1.

contpar <-1

para i de 1 ate 10 faca

se (V[i]%2 = 0) então//verifica resto da divisão

Vpar[contpar]<-V[i]

contpar<-contpar+1//próxima posição do vetor

senao

Vimpar[contimpar]<-V[i]

contimpar<-contimpar+1

fimse

fimpara


Finalmente, só nos resta apresentar os valores impares e pares. Assim, através das variáveis contimpar e contpar decrescido de 1, é possível apresentar os valores contidos nos vetores Vpar e Vimpar e encerrar o algoritmo.

escreval("")

escreval("Pares")

para i de 1 ate contpar-1 faca

escreva(Vpar[i])//escreve números pares

fimpara

escreval("")

escreval("Impares")

para i de 1 ate contimpar-1 faca

escreva(Vimpar[i])//escreve números ímpares

fimpara

fimalgoritmo

1
Dislike0
User badge image

Marcos Souza

fiz em C++ porém a lógica é a mesma Int a=0,b=1,C=0,cont; If(Cont=0;cont<1000;cont++) { c=A+b; a=b; b=c; If (c %2==0) { Printf ("%i é Par! ",c); } Else { Printf ("%i é ímpar! ",c); } }
0
Dislike0
User badge image

Marcos Souza

Int a=0,b=1,C=0,cont; If(Cont=0;cont<1000;cont++) { c=A+b; a=b; b=c; If (c %2==0) { Printf ("%i é Par! ",c); } Else { Printf ("%i é ímpar! ",c); } }
0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais