Iniciantes em programação frequentemente se perguntam por que exemplos como (a+b)×c são tão comuns em materiais didáticos. Durante minha experiência como instrutor, percebi que essa expressão simples encapsula os três pilares fundamentais da programação: armazenamento de variáveis, operações matemáticas e entrada/saída de dados. Assim como na matemática básica começamos com adição e multiplicação, esse é o trampolim ideal para o universo do código.
Quando fiz meu primeiro programa calcular (3+5)×2 e exibir 16, a satisfação foi maior do que em projetos complexos posteriores. A magia está em demonstrar o fluxo completo com poucas linhas: você insere números, a máquina processa e devolve o resultado. É como ensinar aritmética para um aluno digital.
2. Desvendando a natureza das expressões
2.1 Expressões são como fórmulas matemáticas
Em programação, expressões se assemelham a fórmulas algébricas. O número 5 é uma expressão, a variável a também. Quando somamos a + b, continuamos lidando com uma expressão. É um sistema de blocos de montar: peças simples se combinam em estruturas complexas.
No início, eu confundia expressões com instruções. Descobri um truque: tudo que pode ficar à direita de um sinal de igual é uma expressão. No cálculo de (a+b)×c, toda a parte computacional é uma expressão, podendo ser atribuída a uma variável ou exibida diretamente.
2.2 A armadilha da precedência de operadores
Iniciantes tropeçam frequentemente na precedência. Ao escrever a + b * c, muitos esperam execução linear, mas o computador prioriza a multiplicação. Isso segue as mesmas regras matemáticas: multiplicação e divisão vêm antes de adição e subtração. Parênteses () são semáforos que controlam o fluxo da operação.
Minha recomendação: use parênteses liberalmente quando houver dúvida. Em (a + b) * c, eles são redundantes matematicamente, mas no código previnem surpresas. Conforme ganhar confiança, você pode simplificar.
3. Construindo o programa passo a passo
3.1 Versão em C++
Comecemos com uma implementação em C++ limpa, usando <iostream> em vez de <bits/stdc++.h> por boas práticas:
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cout << "Digite três inteiros separados por espaço: ";
cin >> a >> b >> c;
cout << "Resultado: " << (a + b) * c << endl;
return 0;
}
Adicionei um prompt para melhorar a interatividade. Note que se o usuário inserir um tipo incorreto (como letras), o programa falhará — isso será tratado futuramente com exceções.
3.2 Versão em Python
Python oferece concisão, ideal para prototipagem rápida:
a, b, c = map(int, input().split())
print((a + b) * c)
Mas cuidado: input().split() espera espaços como dleimitadores. Vírgulas causarão erro. Sugiro uma versão mais robusta para iniciantes:
try:
a = int(input("Valor de a: "))
b = int(input("Valor de b: "))
c = int(input("Valor de c: "))
print(f"Resultado: {(a + b) * c}")
except ValueError:
print("Erro: insira apenas números inteiros!")
Embora mais extensa, essa versão trata cada variável individualmente e inclui tratamento de erro básico.
4. Problemas comuns e estratégias de depuração
4.1 O problema do tipo de dado
Um aluno escreveu certa vez:
double a, b, c;
cin >> a >> b >> c;
cout << (a + b) * c;
Ao inserir 1.5, 2.5 e 2, obteve 8 em vez de 8.0. Isso ocorre porque cout omite casas decimais por padrão. A solução é formatar a saída: cout << fixed << setprecision(1);.
4.2 Armadilhas na entrada de dados
Ao usar cin >> a >> b >> c;, iniciantes frequentemente ignoram que:
- Entrada "1,2,3" causará erro (exige espaços)
- Entrada "1 2" (faltando um número) trava o programa
- Entrada "1 2 abc" resulta em dados corrompidos
Comece com entrada simples. Depois, explore a leitura como string e conversão para validar dados.
5. Exercícios para expandir o conhecimento
Após dominar o básico, tente variações como:
- Calcular (a+b+c)×d
- Calcular a×b + b×c + a×c
- Permitir que o usuário escolha entre (a+b)×c ou a+(b×c)
O terceiro exercício é excelente para treinar lógica condicional. Exemplo inicial:
opcao = input("Escolha: 1-(a+b)×c ou 2-a+(b×c): ")
if opcao == '1':
print((a + b) * c)
else:
print(a + (b * c))
6. Próximos passos na jornada
Quando o exemplo estiver domniado, evolua gradualmente:
- Adicione interface gráfica (ex: tkinter no Python)
- Transforme em calculadora web (HTML + JavaScript)
- Implemente histórico de operações
Conheço alunos que, partindo desse simples código, criaram aplicativos de calculadora científica em seis meses. O segredo é compreender a lógica central e incrementar funcionalidades uma a uma, como montar um quebra-cabeça.