Contagem regressiva em Portugol com repita (VisuAlg)
O repita ... ate testa a condição no fim do laço, então o bloco sempre executa pelo menos uma vez. O laço termina quando a condição fica verdadeira, ao contrário do enquanto, que continua enquanto ela é verdadeira.
Código em Portugol
algoritmo "contagem_regressiva"
var
i: inteiro
inicio
i <- 10
repita
escreva(i, " ")
i <- i - 1
ate i = 0
escreval("Fogo!")
fimalgoritmo
Saída do programa
10 9 8 7 6 5 4 3 2 1 Fogo!
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 "contagem_regressiva" — traduzido do Portugol para C.
// Para compilar: gcc programa.c -o programa
#include <stdio.h>
int main(void) {
int i = 0;
i = 10;
do {
printf("%d ", i);
i--;
} while (!(i == 0));
printf("Fogo!\n");
return 0;
}
O mesmo programa em Java
// Algoritmo "contagem_regressiva" — traduzido do Portugol para Java.
// Salve como Main.java e execute: java Main.java
public class Main {
public static void main(String[] args) {
int i = 0;
i = 10;
do {
System.out.print(i + " ");
i--;
} while (!(i == 0));
System.out.println("Fogo!");
}
}
O mesmo programa em JavaScript
// Algoritmo "contagem_regressiva" — traduzido do Portugol para JavaScript.
// Para executar (Node.js): node programa.js
let i = 0;
i = 10;
do {
process.stdout.write(`${i} `);
i--;
} while (!(i === 0));
console.log("Fogo!");