⚽ Jogos da Copa usados nesta aula
Os jogos de hoje atualizam duas tabelas de grupo. São esses dados que o nosso algoritmo vai processar:
| Horário | Jogo | Grupo |
|---|---|---|
| 13:00 | 🇪🇸 Espanha × Cabo Verde 🇨🇻 | H |
| 16:00 | 🇧🇪 Bélgica × Egito 🇪🇬 | G |
| 19:00 | 🇸🇦 Arábia Saudita × Uruguai 🇺🇾 | H |
| 22:00 | 🇮🇷 Irã × Nova Zelândia 🇳🇿 | G |
💡 Por que escolhi este tema
A tabela de classificação parece simples, mas é, na verdade, um algoritmo rodando: para cada jogo entram dados (placar), aplicam-se regras (vitória = 3 pontos, empate = 1, derrota = 0) e, no fim, critérios de desempate decidem a ordem. É o cenário perfeito para ensinar pensamento computacional — entradas e saídas, estruturas de seleção (se/senão) e decomposição — sem precisar de computador, partindo de algo que a turma já entende de cor.
🔗 Como a Copa e o conteúdo se conectam
- Entrada → Processamento → Saída: entrada = placar do jogo; processamento = regra de pontos; saída = pontos atualizados na tabela.
- Estrutura de seleção: "SE gols do time A > gols do time B ENTÃO 3 pontos, SENÃO SE empate ENTÃO 1 ponto..." — condicionais aninhadas idênticas às de programação.
- Critérios de desempate = decisão em cascata: mesmos pontos? compara saldo de gols; mesmo saldo? compara gols marcados — uma sequência de SEs.
- Estrutura de dados: a tabela do grupo é um registro/vetor, com um campo por seleção (pontos, saldo, gols).
🧮 O algoritmo da aula (pseudocódigo)
# Entrada: gols_A, gols_B de um jogo
SE gols_A > gols_B ENTÃO
pontos_A ← pontos_A + 3
SENÃO SE gols_A = gols_B ENTÃO
pontos_A ← pontos_A + 1
pontos_B ← pontos_B + 1
SENÃO
pontos_B ← pontos_B + 3
# Desempate na classificação do grupo
SE pontos iguais ENTÃO comparar saldo_de_gols
SE saldo igual ENTÃO comparar gols_marcados
SE gols_A > gols_B ENTÃO
pontos_A ← pontos_A + 3
SENÃO SE gols_A = gols_B ENTÃO
pontos_A ← pontos_A + 1
pontos_B ← pontos_B + 1
SENÃO
pontos_B ← pontos_B + 3
# Desempate na classificação do grupo
SE pontos iguais ENTÃO comparar saldo_de_gols
SE saldo igual ENTÃO comparar gols_marcados
📚 Habilidades da BNCC (Computação)
EF69CO05Identificar os recursos ou insumos necessários (entradas) para a resolução de problemas, bem como os resultados esperados (saídas), determinando os respectivos tipos de dados, e estabelecendo a definição de problema como uma relação entre entrada e saída.
EF69CO02Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.
EF07CO01Criar soluções de problemas para os quais seja adequado o uso de registros e matrizes unidimensionais para descrever suas informações e automatizá-las usando uma linguagem de programação.
EF69CO01Classificar informações, agrupando-as em coleções (conjuntos) e associando cada coleção a um "tipo de dado".
🎯 Objetivos de aprendizagem
- Descrever um problema como relação entre entrada e saída.
- Construir um algoritmo com estrutura de seleção (se/senão) e desempate em cascata.
- Representar a tabela do grupo como um vetor/registro de dados.
- Testar o algoritmo com os placares reais dos jogos de hoje.
🗂️ Roteiro da aula
- Disparo (10 min): "Como o computador da FIFA sabe quem está em 1º lugar?" Levantar hipóteses.
- Entrada/saída (15 min): identificar juntos o que entra (placar) e o que sai (pontos, posição) num jogo.
- Construindo o algoritmo (25 min): em duplas, escrever no papel o pseudocódigo dos pontos usando SE/SENÃO.
- Desempate (20 min): introduzir os critérios em cascata (saldo, gols marcados) como SEs encadeados.
- Teste com dados reais (15 min): rodar o algoritmo "na mão" com o placar do Grupo G ou H após os jogos de hoje.
- Fechamento (5 min): onde mais usamos algoritmos de decisão no dia a dia?
Avaliação: pseudocódigo da dupla (correção da estrutura de seleção) + execução manual correta com os dados reais. Extensão opcional: implementar no Scratch ou numa planilha com função SE.
🧰 Material necessário
Papel e lápis (a aula funciona "desplugada"). Opcional: Scratch ou planilha eletrônica para implementar. Placares atualizados dos grupos G e H.