VisuAlg Web

Operações Matemáticas Básicas

Estude um exemplo completo de calculadora em VisuAlg usando leitura de dados, operacoes matematicas, escolhas e repeticao.

Chegou a hora de juntar as peças do quebra-cabeça! Neste primeiro projeto real, vamos unir Entradas (leia), Variáveis numéricas e Estruturas de Decisão Múltiplas (Escolha Caso) para criar uma máquina de cálculo útil no dia a dia.

Exemplo de codigoVisuAlg
algoritmo "CalculadoraV1"

var
  op: inteiro
  n1, n2, res: real

inicio
  escreval("=== CALCULADORA SIMPLES ===")
  escreval("[1] Soma | [2] Subtração | [3] Multiplicação | [4] Divisão")
  leia(op)

  escreva("Digite o primeiro valor: ")
  leia(n1)
  escreva("Digite o segundo valor: ")
  leia(n2)

  escolha op
    caso 1
      res <- n1 + n2
      escreval("Resultado: ", res)
    caso 2
      res <- n1 - n2
      escreval("Resultado: ", res)
    caso 3
      res <- n1 * n2
      escreval("Resultado: ", res)
    caso 4
      se (n2 = 0) entao
        escreval("ERRO: Divisão por zero não é permitida")
      senao
        res <- n1 / n2
        escreval("Resultado: ", res)
      fimse
    outrocaso
      escreval("ERRO: Operador inválido")
  fimescolha

fimalgoritmo

A calculadora V1 desliga logo após a primeira conta. Na Versão 2 abaixo, inserimos um gigantesco laço de Repetição envolvendo tudo e englobamos o LimpaTela. Assim, temos um programa contínuo estilo software de comércio.

Exemplo de codigoVisuAlg
algoritmo "CalculadoraInfinita"

var
  op: inteiro
  n1, n2, res: real

inicio
  op <- -1

  enquanto op <> 0 faca
    limpatela
    escreval("=== CALCULADORA INFINITA ===")
    escreval("[1] Somar | [2] Diminuir | [0] FECHAR PROGRAMA")
    escreva("Escolha uma opção: ")
    leia(op)

    se op = 0 entao
      // encerra o laço
    senao
      se (op = 1) ou (op = 2) entao
        escreva("Primeiro valor: ")
        leia(n1)
        escreva("Segundo valor: ")
        leia(n2)

        se op = 1 entao
          res <- n1 + n2
        senao
          res <- n1 - n2
        fimse

        escreval("Resultado: ", res)
      senao
        escreval("Opção inválida! Use 1, 2 ou 0.")
      fimse

      escreval("Aperte Enter para continuar...")
      pausa
    fimse
  fimenquanto

  escreval("Sistema Finalizado. Adeus!")

fimalgoritmo
Desafio: Incremente a CalculadoraV2 adicionando blindagem (SE divisao, verifique se N2 é 0 antes de realizar o cálculo, pois divisão por zero quebra o programa!).