image

Access unlimited bootcamps and 650+ courses

33
%OFF
Article image

JS

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

Algoritmo no VisuAlg - "Exercicio_11_Calculadora"

  • #Lógica de Programação

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!

Share
Recommended for you
Microsoft Certification Challenge #5 - AI 102
Bradesco - GenAI & Dados
GitHub Copilot - Código na Prática
Comments (4)

JS

Jéssica Sousa - 29/09/2025 17:52

Olá Ronaldo!

Muito obrigada pelo apoio!

Fico muito feliz que tenha gostado!

Desejo tenha uma excelente jornada nos estudos e sucesso na Carreira! 👍😉

JS

Jéssica Sousa - 29/09/2025 17:48

Obrigada DIO Community! Fico muito feliz que tenha gostado e pelos elogios!

Para mim, o maior desafio é, além de compreender a Definição e a Função de cada Estrutura (de Decisão ou de Repetição) é conseguir aplicá-las dentro de um Sistema que deve sempre respeitar as Regras de Negócio, pois quando estava no início da Carreira e me falavam sobre Regra de Negócio, eu ficava mais focada na Lógica e não conseguia entender como relacioná-las.

Sempre quando vou fazer um exercício para o Canal, uso o que aprendi no dia-a-dia nos Cursos que realizo ou realizei, no Funcionamento e na Utilidade dos Sistemas que já trabalhei, pois a minha paixão por Programar começou pela curiosidade de querer descobrir e entender o que estava por trás do Site, do Programa ou, até mesmo, do Computador para que eles funcionassem e conseguissem me ajudar a estudar, a pesquisar e a jogar.

Comecei a fazer este desafio de pegar um Programa utilizado no dia-a-dia, estudo este Programa, crio a Regra baseada no seu funcionamento, vou fazendo os testes até consegui funcionar, por último, vou faço o Clean Code até o Código ficar o mais objetivo possível e respeitar os Requisitos e a Lógica.

É um desafio, mas ajuda muito a estimular o uso da Lógica e a compreensão das Regras de Negócio, e quando dá certo é muito gratificante ver o resultado.

Fico muito feliz em poder compartilhar conhecimento para a Comunidade da DIO.

Muito obrigada!


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!