image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image

JS

Jéssica Sousa29/09/2025 13:58
Compartilhe

Algoritmo no VisuAlg - "Exercicio_11_Calculadora"

    Olá pessoal.

    Sou Dev Jess e tenho um Canal no YouTube chamado Desenvolvendo e Aprendendo.

    Link: https://youtube.com/@Desenvolvendo_e_Aprendendo?si=-_Ro1v5lW0seC1ga

    Gravei um Algoritmo simulando uma Calculadora Simples e gostaria de compartilhar com vocês.

    Se quiserem ver como eu faço o passo-a-passo do Algoritmo é só ir conferir o Canal:

    Algoritmo "Exercicio_11_Calculadora"
    
    // EXERCÍCIO 11 - CALCULADORA
    
    // CRIAR UM ALGORITMO QUE DESENVOLVA UMA CALCULADORA SIMPLES, LEIA
    // ATÉ 10 NÚMEROS E FAÇA O CÁLCULO SEQUENCIALMENTE, COM 2 NÚMEROS
    // E UMA OPERAÇÃO (+, -, *, /), ATÉ QUE SEJA DIGITADO O IGUAL (=),
    // E MOSTRAR O RESULTADO. EXEMPLO:
    
    // 1,58 + 4,65 * 8,46 - 3,94 + 4,48 / 2 = 26,6229
    
    // 5 * 6 / 2 + 25 - 4 = 36
    
    // 5 / 2 + 35 / 4     = 9,375
    
    Var
    // Variáveis
    Sinal, Erro_Divisao_Zero  : Caractere
    i                         : Inteiro
    Resultado, Anterior       : Real
    
    // Vetores
    Vet_Numero: Vetor [0..9] de Real
    Vet_Sinal : Vetor [0..9] de Caractere
    
    Inicio
    // Seção de Comandos, procedimento, funções, operadores, etc...
    escreval(" -------- CALCULADORA PADRÃO -------- ")
    escreval
    
    leia(Vet_Numero[0])
    
    enquanto (Vet_Numero[0] = 0) faca
      escreval("0")
      leia(Vet_Numero[0])
    fimenquanto
    
    Resultado <- Vet_Numero[0]
    
    leia(Vet_Sinal[0])
    
    Sinal <- Vet_Sinal[0]
    
    enquanto ((Sinal <> "+") e (Sinal <> "-") e (Sinal <> "*") e (Sinal <> "/")) faca
      se (Sinal = "=") entao
        escreval(Resultado)
      fimse
      
      leia(Vet_Sinal[0])
      
      Sinal <- Vet_Sinal[0]
    fimenquanto
    
    para i de 1 ate 9 faca
      se ((Sinal <> "=") e (Sinal <> "")) entao
        leia(Vet_Numero[i])
        
        se ((Vet_Numero[i] = 0) e ((Sinal = "+") ou (Sinal = "-"))) entao
          enquanto (Vet_Numero[i] = 0) faca
            escreval(Vet_Numero[i - 1], " ", Sinal)
            leia(Vet_Numero[i])
          fimenquanto
        fimse
        
        Anterior <- Resultado
      fimse
      
      escolha Sinal
        Caso "+"
          Resultado <- Resultado + Vet_Numero[i]
          
        Caso "-"
          Resultado <- Resultado - Vet_Numero[i]
    
        Caso "*"
          Resultado <- Resultado * Vet_Numero[i]
    
        Caso "/"
          se (Vet_Numero[i] = 0) entao
            Erro_Divisao_Zero <- "Não é possível dividir por zero"
            Sinal             <- "="
          senao
            Resultado <- Resultado / Vet_Numero[i]
          fimse
    
        Caso "="
          Sinal <- "="
      fimescolha
      
      se ((Erro_Divisao_Zero = "") e (i = 9) e (Vet_Numero[9] <> 0)) entao
        Vet_Sinal[i] <- "="
        Sinal        <- Vet_Sinal[i]
        
        escreval(Sinal)
        escreval
      fimse
      
      se (Sinal = "=") entao
        se (Erro_Divisao_Zero <> "") entao
          escreval(Erro_Divisao_Zero)
        senao
          escreva(Anterior, " ")
    
          se (Vet_Sinal[i - 2] = "*") entao
            escreva(" x ")
          senao
            se (Vet_Sinal[i - 2] = "/") entao
              escreva(" ÷ ")
            senao
              escreva(Vet_Sinal[i - 2], " ")
            fimse
          fimse
          
          escreval(Vet_Numero[i - 1], " ", Sinal, " ", Resultado)
        fimse
        
        Sinal <- ""
      fimse
      
      se ((Sinal <> "=") e (Sinal <> "")) entao
        escreval(Resultado)
        leia(Vet_Sinal[i])
        
        Sinal <- Vet_Sinal[i]
        
        enquanto ((Sinal <> "+") e (Sinal <> "-") e (Sinal <> "*") e (Sinal <> "/") e (Sinal <> "=")) faca
          leia(Vet_Sinal[i])
          
          Sinal <- Vet_Sinal[i]
        fimenquanto
      fimse
    fimpara
    Fimalgoritmo
    

    Link: https://youtube.com/@Desenvolvendo_e_Aprendendo?si=-_Ro1v5lW0seC1ga

    Se quiserem ter acesso a este Exercício e outros que fiz e estou fazendo é só conferir no GitHub do Canal:

    GitHub: https://www.github.com/Canal-Desenvolvendo-e-Aprendendo/Logica_de_Programacao_VisuAlg

    Não deixem de se inscrever e apertar o sino para receber as notificações!

    Excelente jornada a todos!

    Um abraço e até a próxima!

    Compartilhe
    Recomendados para você
    PcD Tech Bradesco - Java & QA Developer
    TQI - Modernização com GenAI
    Microsoft Certification Challenge #4 - DP 100
    Comentários (2)
    DIO Community
    DIO Community - 29/09/2025 15:14

    Excelente, Jéssica! Que artigo incrível e super completo sobre o seu Algoritmo no VisuAlg! É fascinante ver como você aborda o desenvolvimento de uma Calculadora Simples como um projeto prático que permite aplicar lógica de programação, loops e estruturas condicionais em VisuAlg, o que é um insight valioso para a comunidade.

    Você demonstrou que o seu algoritmo é capaz de ler até 10 números e fazer o cálculo sequencialmente, com operações de soma, subtração, multiplicação e divisão, o que exige um raciocínio lógico que vai além da sintaxe. Sua análise de como a lógica e as estruturas de controle são usadas para resolver um problema real, como o erro de divisão por zero, é a prova de que estudar algoritmos é estudar estratégia de negócio.

    Qual você diria que é o maior desafio para um desenvolvedor iniciante ao criar um sistema como este, em termos de estruturar a lógica de repetição e de decisão de forma que o programa se comporte como esperado, em vez de apenas focar em fazer o código funcionar?

    Ronaldo Schmidt
    Ronaldo Schmidt - 29/09/2025 14:31

    Olá Jessica Souza.

    Excelente conteudo.

    Seu canal é muito top!

    Obrigado por compartilhar!