Calculadora em Portugol com leia (VisuAlg)

Este exemplo usa o comando leia para receber valores digitados pelo usuário. As variáveis são declaradas na seção var, cada uma com seu tipo: caractere para texto e real para números com casas decimais.

O se ... entao ... senao ... fimse evita a divisão por zero, um erro clássico em exercícios de lógica de programação.

Dialeto: VisuAlg var leia real caractere se / senao

Código em Portugol

algoritmo "calculadora"
var
   nome: caractere
   a, b: real
inicio
   escreva("Qual é o seu nome? ")
   leia(nome)
   escreva("Digite o primeiro número: ")
   leia(a)
   escreva("Digite o segundo número: ")
   leia(b)
   escreval("")
   escreval(nome, ", a soma é ", a + b)
   se b <> 0 entao
      escreval("E a divisão é ", a / b)
   senao
      escreval("Não dá para dividir por zero!")
   fimse
fimalgoritmo

Executar no editor online

Saída do programa

Digitando Ana, 10, 4 quando o programa pede:

Qual é o seu nome? Ana
Digite o primeiro número: 10
Digite o segundo número: 4

Ana, a soma é 14.0
E a divisão é 2.5

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

#include <stdio.h>

#define TAM_TEXTO 256

int main(void) {
    char nome[TAM_TEXTO] = "";
    double a = 0.0;
    double b = 0.0;

    printf("Qual é o seu nome? ");
    scanf(" %255[^\n]", nome);
    printf("Digite o primeiro número: ");
    scanf("%lf", &a);
    printf("Digite o segundo número: ");
    scanf("%lf", &b);
    printf("\n");
    printf("%s, a soma é %g\n", nome, a + b);
    if (b != 0) {
        printf("E a divisão é %g\n", a / b);
    } else {
        printf("Não dá para dividir por zero!\n");
    }

    return 0;
}
O mesmo programa em Java
// Algoritmo "calculadora" — 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);
        String nome = "";
        double a = 0.0;
        double b = 0.0;

        System.out.print("Qual é o seu nome? ");
        nome = entrada.nextLine();
        System.out.print("Digite o primeiro número: ");
        a = Double.parseDouble(entrada.nextLine().trim().replace(",", "."));
        System.out.print("Digite o segundo número: ");
        b = Double.parseDouble(entrada.nextLine().trim().replace(",", "."));
        System.out.println("");
        System.out.println(nome + ", a soma é " + (a + b));
        if (b != 0) {
            System.out.println("E a divisão é " + a / b);
        } else {
            System.out.println("Não dá para dividir por zero!");
        }
    }
}
O mesmo programa em JavaScript
// Algoritmo "calculadora" — 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 nome = "";
  let a = 0.0;
  let b = 0.0;

  process.stdout.write("Qual é o seu nome? ");
  nome = await leia();
  process.stdout.write("Digite o primeiro número: ");
  a = Number((await leia()).replace(",", "."));
  process.stdout.write("Digite o segundo número: ");
  b = Number((await leia()).replace(",", "."));
  console.log("");
  console.log(`${nome}, a soma é ${a + b}`);
  if (b !== 0) {
    console.log(`E a divisão é ${a / b}`);
  } else {
    console.log("Não dá para dividir por zero!");
  }

  teclado.close();
}

main();

Outros exemplos de Portugol