Sequência de tarefas
Quebrando o problema em partes — a base do pensamento algorítmico
Programadores são resolvedores de problemas
Antes de escrever código, um programador precisa ENTENDER o problema e dividi-lo em partes menores.
Como disse o professor: "Uma pessoa que resolve problemas, e se precisar, utiliza código para isso." O código é a ferramenta, não o objetivo.
Essa habilidade de decomposição é mais importante que qualquer linguagem de programação.
Entrada, processamento e saída
Todo programa segue este fluxo:
ENTRADA → dados que o programa recebe (teclado, arquivo, sensor, microfone, câmera)
PROCESSAMENTO → operações realizadas sobre os dados (cálculos, comparações, filtragens)
SAÍDA → resultado entregue ao usuário (tela, arquivo, som, LED, impressora)
Mesmo os programas mais complexos (jogos, IA, redes sociais) seguem essa estrutura fundamental.
Exemplo: arrumar a casa (decomposição em 4 níveis)
"Arrumar a casa" é um problema grande. O professor decompõe em 4 níveis progressivos:
NÍVEL 1 — Visão geral: Arrumar a casa
NÍVEL 2 — Cômodos: Sala → Quartos → Cozinha → Banheiro
NÍVEL 3 — Tarefas por cômodo:
Sala: recolher objetos, varrer, passar pano, organizar estante
Cozinha: lavar louça, limpar fogão, varrer, organizar armários
Banheiro: limpar vaso, limpar pia, lavar chão, trocar toalhas
NÍVEL 4 — Subtarefas detalhadas:
Lavar louça: separar pratos e copos → aplicar detergente → esfregar → enxaguar → secar
Cada nível adiciona mais detalhe. O nível necessário depende de quem vai executar.
O que é um algoritmo?
Definição formal do professor: "Um algoritmo é uma sequência de tarefas bem definidas e não ambíguas para resolver um problema."
Características de um bom algoritmo:
• Finito — tem um número definido de passos e eventualmente termina
• Definido — cada passo é claro, sem ambiguidade ("mexa bem" é ambíguo, "mexa por 3 minutos" é definido)
• Efetivo — cada passo pode ser executado ("divida por zero" não é efetivo)
Receitas de cozinha, manuais de montagem e roteiros de viagem são algoritmos do dia a dia.
Teclado, mouse, arquivo, sensor, microfone, câmera... qualquer forma de receber dados do mundo externo.
Cálculos, comparações, ordenações, filtragens, transformações... o programa manipula os dados recebidos.
Tela, impressora, arquivo, som, LED, motor... qualquer forma de comunicar o resultado ao mundo externo.
?Quiz de fixação
01.Qual a estrutura fundamental de todo programa?
02.Decompor um problema significa:
03.Um algoritmo deve ser:
04.Segundo o professor, programador é quem:
→Próximos passos
Descrição narrativa
Aprenda a escrever algoritmos em linguagem natural
Fluxograma
Represente algoritmos visualmente com diagramas
Pseudocódigo
Escreva algoritmos em formato semi-formal