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!




JS
Olá Ronaldo!
Muito obrigada pelo apoio!
Fico muito feliz que tenha gostado!
Desejo tenha uma excelente jornada nos estudos e sucesso na Carreira! 👍😉
JS
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!
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?
Olá Jessica Souza.
Excelente conteudo.
Seu canal é muito top!
Obrigado por compartilhar!