Criei o fluxograma desta forma, mas depois eu vi as respostas dos colegas e senti que está faltando a parte de validação da entrada de dados no meu... Fiquei na dúvida se o que fiz está de algum modo incorreto...
Criei o fluxograma desta forma, mas depois eu vi as respostas dos colegas e senti que está faltando a parte de validação da entrada de dados no meu... Fiquei na dúvida se o que fiz está de algum modo incorreto...
Olá, Lais. Como vai?
O seu fluxograma não está incorreto! Pelo contrário, ele descreve perfeitamente o caminho feliz (ou happy path) do algoritmo de uma calculadora, mapeando com muita clareza a lógica sequencial e o uso correto das formas geométricas (como o losango para decisão e os paralelogramos para entrada/saída). Você teve uma excelente percepção lógica.
O que os seus colegas adicionaram é uma camada extra de robustez conhecida como validação de dados ou tratamento de exceções. No mundo do desenvolvimento de software, nós nunca podemos confiar 100% no que o usuário vai digitar.
Para enriquecer o seu projeto e entender como aplicar essa validação sem desestruturar o que você já fez, podemos pensar em dois pontos críticos do seu fluxo:
1. Validação da Operação:
No losango "Escolher o símbolo da operação", o que acontece se o usuário digitar uma letra ou um símbolo inválido (como a hashtag #)? O sistema quebraria ou não saberia o que fazer. Para resolver isso, adicionamos uma validação que verifica se o símbolo é válido. Se não for, o fluxo volta para o bloco de escolha.
2. Divisão por Zero:
Na matemática, não existe divisão por zero. Se o usuário escolher a operação de divisão (/) e inserir o número 0 como segundo número, o programa vai estourar um erro. Tratar isso é um clássico exemplo de validação.
Complementando a sua ideia original, veja como esses pequenos ajustes de validação se pareceriam na lógica do algoritmo:
Inserir essas validações é uma excelente prática de programação que deixa o seu software muito mais seguro e profissional. No JavaScript, fazemos muito isso utilizando estruturas condicionais (if/else) e laços de repetição (while) para redefinir o fluxo até que o usuário digite o dado correto.
O seu ponto de partida está excelente, parabéns pelo capricho no desenho do fluxo!
Espero que possa ter lhe ajudado!