Sequência de Fibonacci em Portugol (VisuAlg)
Na sequência de Fibonacci cada termo é a soma dos dois anteriores: 0, 1, 1, 2, 3, 5, 8, 13…
O algoritmo guarda os dois últimos termos em a e b. A cada volta do laço, escreve a e calcula o próximo termo, deslocando os valores.
Código em Portugol
algoritmo "fibonacci"
var
a, b, proximo, i: inteiro
inicio
a <- 0
b <- 1
escreval("Os 10 primeiros termos de Fibonacci:")
para i de 1 ate 10 faca
escreva(a, " ")
proximo <- a + b
a <- b
b <- proximo
fimpara
escreval("")
fimalgoritmo
Saída do programa
Os 10 primeiros termos de Fibonacci:
0 1 1 2 3 5 8 13 21 34
Tradução para outras linguagens
O editor traduz qualquer programa em Portugol para C, Java e JavaScript. Veja como fica este exemplo:
O mesmo programa em C
// Algoritmo "fibonacci" — traduzido do Portugol para C.
// Para compilar: gcc programa.c -o programa
#include <stdio.h>
int main(void) {
int a = 0;
int b = 0;
int proximo = 0;
int i = 0;
a = 0;
b = 1;
printf("Os 10 primeiros termos de Fibonacci:\n");
for (i = 1; i <= 10; i++) {
printf("%d ", a);
proximo = a + b;
a = b;
b = proximo;
}
printf("\n");
return 0;
}
O mesmo programa em Java
// Algoritmo "fibonacci" — traduzido do Portugol para Java.
// Salve como Main.java e execute: java Main.java
public class Main {
public static void main(String[] args) {
int a = 0;
int b = 0;
int proximo = 0;
int i = 0;
a = 0;
b = 1;
System.out.println("Os 10 primeiros termos de Fibonacci:");
for (i = 1; i <= 10; i++) {
System.out.print(a + " ");
proximo = a + b;
a = b;
b = proximo;
}
System.out.println("");
}
}
O mesmo programa em JavaScript
// Algoritmo "fibonacci" — traduzido do Portugol para JavaScript.
// Para executar (Node.js): node programa.js
let a = 0;
let b = 0;
let proximo = 0;
let i = 0;
a = 0;
b = 1;
console.log("Os 10 primeiros termos de Fibonacci:");
for (i = 1; i <= 10; i++) {
process.stdout.write(`${a} `);
proximo = a + b;
a = b;
b = proximo;
}
console.log("");