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.

Dialeto: VisuAlg repita / ate decremento

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

Executar no editor online

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!");

Outros exemplos de Portugol