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.
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
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();