1. O que é um algoritmo?
Uma sequência finita e sem ambiguidade de passos que resolve um problema.
Um algoritmo é uma sequência de passos, bem definidos e numa ordem específica, que resolve um problema. Não precisa de código nenhum — uma receita de cozinha é um algoritmo, as instruções de montagem de uma estante são um algoritmo, e o caminho que decoraste para ires de casa ao trabalho também é um algoritmo.
O que torna um algoritmo bom (executável por um computador) é ter três propriedades:
- Finito: tem um princípio e um fim claros — não pode correr para sempre por acidente.
- Sem ambiguidade: cada passo só pode ser interpretado de uma forma. "Tempera a gosto" não é um passo válido para um computador; "adiciona 5g de sal" é.
- Executável: cada passo tem de ser algo que quem (ou o que) o vai seguir consegue realmente fazer.
Porque começamos aqui, sem código
É tentador querer "ir direto ao JavaScript". Mas se ainda não consegues descrever em português, passo a passo, como decidirias se um número é par, vais lutar contra duas coisas ao mesmo tempo quando tentares escrever isso em código: a lógica e a sintaxe. Esta fase separa os dois problemas — aqui só treinas a lógica. A sintaxe começa a sério na Fase 2, e vai parecer muito mais fácil por já teres a cabeça treinada.
Um exemplo já em algoritmo
Problema: decidir se posso atravessar a rua.
- Olha para o semáforo de peões.
- Se estiver verde, atravessa.
- Se estiver vermelho, espera.
- Volta ao passo 1.
Repara: passo 2 e 3 são decisões, e o passo 4 é uma repetição que volta ao início. Já usaste, sem código nenhum, as duas estruturas mais importantes da programação.