O que é lógica de programação
Você já usa lógica todo dia
Antes de qualquer linguagem, uma verdade que costuma ser dita ao contrário: lógica de programação não é uma habilidade nova que você vai adquirir. É uma que você já usa, e que agora vai precisar escrever com muito mais cuidado.
Pense em como você explica a alguém o caminho da rodoviária de Benjamin Constant até o porto:
- Saia da rodoviária e vire à direita.
- Siga reto até a terceira esquina.
- Vire à esquerda e desça a ladeira.
- O porto fica no fim.
Isso é um algoritmo: uma sequência de passos que, executados na ordem, resolvem um problema. Você acabou de escrever um sem pensar em programação.
O que muda quando quem executa é o computador
Se você der aquele mesmo caminho a uma pessoa e esquecer de dizer "vire à esquerda", ela vai olhar em volta, ver o rio e descer sozinha. O computador não.
O computador faz exatamente o que você mandou: nem mais, nem menos. Ele não completa o que faltou, não desconfia de um passo estranho e não pergunta se você quis dizer outra coisa. Isso é o que torna programar difícil no começo e confiável depois.
Compare duas receitas de tacacá:
Receita para uma pessoa Receita para um computador
------------------------ --------------------------
Coloque tucupi até dar Coloque 250 ml de tucupi
Tempere a gosto Adicione 5 g de sal
Espere ferver Aqueça a 100 °C
Sirva quente Sirva a 70 °C
A da esquerda funciona porque quem lê tem experiência. A da direita funciona porque não sobrou nada para adivinhar.
Entrada, processamento e saída
Todo programa, do menor ao maior, faz três coisas:
| Etapa | O que é | Exemplo: frete da lancha |
|---|---|---|
| Entrada | o dado que chega | o peso da carga: 12 kg |
| Processamento | a conta ou a decisão | multiplicar o peso pelo preço do quilo |
| Saída | o resultado que sai | o valor a pagar: R$ 30,00 |
Um programa que calcula o frete da lancha para Tabatinga recebe o peso, faz a conta e devolve o valor. Um site inteiro é a mesma coisa repetida milhares de vezes: o clique é a entrada, a busca no banco é o processamento, a página é a saída.
Quando um programa dá resultado errado, o defeito está numa dessas três: ou o dado entrou errado, ou a conta está errada, ou o resultado foi mostrado errado. Saber em qual das três procurar já resolve metade dos problemas.
Escreva em português primeiro
Programar tem dois trabalhos que costumam ser confundidos num só:
- Descobrir o que o programa precisa fazer.
- Escrever isso na sintaxe da linguagem.
Fazer os dois ao mesmo tempo é o que trava quem está começando: você fica procurando a indentação que ficou errada enquanto ainda não decidiu qual conta precisa ser feita.
A saída é separar. Escreva o algoritmo em português, do jeito que você explicaria a um colega:
Pergunte o peso da carga
Multiplique o peso por 2.50
Se o valor der menos que 10, cobre 10
Mostre o valor a pagar
Isso se chama pseudocódigo: não é linguagem nenhuma, é o seu raciocínio escrito. Só depois que ele estiver certo é que vale traduzir para Python:
peso = 12
valor = peso * 2.50
if valor < 10:
valor = 10
print("A pagar: R$", valor) # → A pagar: R$ 30.0
Cada linha do pseudocódigo virou uma linha de código. Foi isso que a aula toda preparou.
Por que este curso usa Python
Lógica é a mesma em qualquer linguagem: quem aprende aqui aprendeu também para JavaScript, Java e C. A escolha do Python tem dois motivos práticos:
- A sintaxe sai da frente. Python não pede ponto e vírgula nem chaves, e a indentação que marca os blocos é a mesma que você usaria para deixar o texto legível. Sobra atenção para o raciocínio, que é o assunto do curso.
- É a linguagem de dados e de automação. O que você escrever aqui serve depois para planilha, relatório e análise: três coisas que aparecem em quase todo trabalho.
A escola ministra este mesmo curso em TypeScript, com o mesmo arco e os mesmos exercícios. Quem fizer os dois vai perceber que só a escrita muda.
Exercícios
- Escreva, em português, o algoritmo de fritar um peixe. Depois entregue a um colega e peça que ele siga ao pé da letra, sem completar nada. Onde ele travou é onde faltava um passo.
- Identifique entrada, processamento e saída nestes três casos: (a) uma calculadora somando 2 + 2; (b) a catraca do barco lendo a passagem; (c) o aplicativo do banco mostrando o saldo.
- Um programa deveria mostrar o troco de uma compra e está mostrando o valor da compra. Em qual das três etapas está o defeito? Justifique.
- Escreva o pseudocódigo de um programa que recebe a quantidade de quilos de farinha e mostra quanto custa, a R$ 8,00 o quilo.
- Reescreva estas instruções para que um computador consiga executá-las: "faça café forte, coloque açúcar a gosto e sirva quando estiver bom".
Referências
- O que é lógica de programação - Alura - artigo introdutório sobre algoritmos e raciocínio lógico
- Algorithms - Khan Academy - curso gratuito sobre algoritmos, do conceito à prática
- Lógica de programação: o guia para iniciantes - Curso em Vídeo - aula em vídeo sobre a ideia de algoritmo antes da linguagem
Testa o que você leu
5 perguntas sobre esta aula. Errar aqui não custa nada - a explicação vem junto da correção.