Fatorial em Portugol com para (VisuAlg)

O fatorial de n (escrito n!) é o produto de todos os inteiros de 1 até n: 5! = 1 × 2 × 3 × 4 × 5 = 120.

O laço para i de 1 ate n faca multiplica o acumulador fat por cada valor de i. O acumulador começa em 1, e não em 0, porque é usado em uma multiplicação.

Dialeto: VisuAlg para leia acumulador

Código em Portugol

algoritmo "fatorial"
var
   n, i, fat: inteiro
inicio
   escreva("Digite um número: ")
   leia(n)
   fat <- 1
   para i de 1 ate n faca
      fat <- fat * i
   fimpara
   escreval("O fatorial de ", n, " é ", fat)
fimalgoritmo

Executar no editor online

Saída do programa

Digitando 5 quando o programa pede:

Digite um número: 5
O fatorial de 5 é 120

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 "fatorial" — traduzido do Portugol para C.
// Para compilar: gcc programa.c -o programa

#include <stdio.h>

int main(void) {
    int n = 0;
    int i = 0;
    int fat = 0;

    printf("Digite um número: ");
    scanf("%d", &n);
    fat = 1;
    for (i = 1; i <= n; i++) {
        fat = fat * i;
    }
    printf("O fatorial de %d é %d\n", n, fat);

    return 0;
}
O mesmo programa em Java
// Algoritmo "fatorial" — traduzido do Portugol para Java.
// Salve como Main.java e execute: java Main.java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        int n = 0;
        int i = 0;
        int fat = 0;

        System.out.print("Digite um número: ");
        n = Integer.parseInt(entrada.nextLine().trim());
        fat = 1;
        for (i = 1; i <= n; i++) {
            fat = fat * i;
        }
        System.out.println("O fatorial de " + n + " é " + fat);
    }
}
O mesmo programa em JavaScript
// Algoritmo "fatorial" — traduzido do Portugol para JavaScript.
// Para executar (Node.js): node programa.js

const readline = require('node:readline');

// Lê uma linha digitada no teclado.
const teclado = readline.createInterface({ input: process.stdin });
const linhas = teclado[Symbol.asyncIterator]();
async function leia() {
  const linha = await linhas.next();
  return linha.done ? '' : linha.value;
}

async function main() {
  let n = 0;
  let i = 0;
  let fat = 0;

  process.stdout.write("Digite um número: ");
  n = parseInt(await leia(), 10);
  fat = 1;
  for (i = 1; i <= n; i++) {
    fat = fat * i;
  }
  console.log(`O fatorial de ${n} é ${fat}`);

  teclado.close();
}

main();

Outros exemplos de Portugol