Skip to content
Informática · 10.º Ano

Ideias de aprendizagem ativa

Estruturas de Controlo em Código

As estruturas de controlo são a espinha dorsal da lógica programável, onde alunos transformam ideias abstratas em ações concretas. Trabalhar com algoritmos em pseudocódigo e traduzir para código real promove a compreensão do fluxo de execução, evitando que a sintaxe se torne um obstáculo à criatividade.

Aprendizagens EssenciaisDGE: Secundário - ProgramaçãoDGE: Secundário - Algoritmia
25–45 minPares → Turma inteira4 atividades

Atividade 01

Programação em Pares: Jogo de Adivinhação

Os pares escrevem um programa que gera um número aleatório e usa if/else aninhados para dar pistas ao utilizador até acertar, com um while para repetir tentativas. Testam mutuamente o código e registam o número médio de tentativas. Partilham melhorias com a turma.

Analise como as estruturas de controlo permitem a execução condicional e repetitiva de código.

Sugestão de FacilitaçãoDurante o Jogo de Adivinhação, circule entre pares para ouvir como explicam as decisões e garanta que ambos participam ativamente na escrita e teste do código.

O que observarEntregue a cada aluno um pequeno trecho de código com um erro lógico numa estrutura de controlo. Peça-lhes para identificar o erro, explicar porque é um erro e escrever a correção. Exemplo: 'O loop for para contar até 10 termina em 9. Explique o erro e corrija.'

AnalisarAvaliarCriarTomada de DecisãoAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 02

Aprendizagem Baseada em Problemas45 min · Pequenos grupos

Desafio em Grupos: Debug de Loops Buggy

Divida códigos com erros comuns, como loops infinitos ou condições erradas em for/while. Os grupos identificam e corrigem, explicando alterações num quadro partilhado. Competem pelo tempo mais rápido com código funcional.

Compare a sintaxe das estruturas de controlo em pseudocódigo e na linguagem de programação.

Sugestão de FacilitaçãoNo Debug de Loops Buggy, forneça trechos de código com erros óbvios para começar, mas desafie os grupos a criar os seus próprios loops com problemas sutis.

O que observarApresente um algoritmo em pseudocódigo que utilize if/else e for. Peça aos alunos para escreverem o código Python correspondente. Verifique se a sintaxe e a lógica estão corretas, focando-se na tradução das estruturas.

AnalisarAvaliarCriarTomada de DecisãoAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 03

Aprendizagem Baseada em Problemas35 min · Turma inteira

Revisão Coletiva: Código Aninhado

Projete um programa base com estruturas aninhadas para classificar produtos por stock e preço. A turma sugere melhorias em voz alta, vota nas melhores e implementa coletivamente num editor partilhado.

Desenhe um programa que utilize estruturas de controlo aninhadas para resolver um problema.

Sugestão de FacilitaçãoNa Revisão Coletiva de Código Aninhado, peça aos alunos que desenhem o fluxo de execução num quadro branco antes de analisar o código, reforçando a visualização do processo.

O que observarDivida a turma em pares. Peça a cada par para discutir e listar duas situações onde um loop 'while' seria mais apropriado do que um loop 'for', e vice-versa. Incentive-os a justificar as suas escolhas com exemplos concretos.

AnalisarAvaliarCriarTomada de DecisãoAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 04

Individual: Programa Personalizado

Cada aluno desenha um programa que usa if/else e loops para um problema pessoal, como gerir tarefas diárias. Executa testes e documenta o raciocínio lógico num relatório curto.

Analise como as estruturas de controlo permitem a execução condicional e repetitiva de código.

Sugestão de FacilitaçãoNo Programa Personalizado, ofereça opções de projetos com diferentes níveis de complexidade, mas exija que todos incluam pelo menos uma estrutura de controlo aninhada.

O que observarEntregue a cada aluno um pequeno trecho de código com um erro lógico numa estrutura de controlo. Peça-lhes para identificar o erro, explicar porque é um erro e escrever a correção. Exemplo: 'O loop for para contar até 10 termina em 9. Explique o erro e corrija.'

AnalisarAvaliarCriarTomada de DecisãoAutogestãoCompetências Relacionais
Gerar Aula Completa

Algumas notas sobre lecionar esta unidade

Comece sempre com exemplos simples e concretos, como contar objetos ou classificar idades, antes de introduzir estruturas aninhadas. Evite explicar teoria isolada, pois os alunos aprendem melhor quando aplicam conceitos em problemas reais. Pesquisas mostram que a discussão em pares sobre fluxos de execução reduz significativamente os erros lógicos persistentes.

No final das atividades, espera-se que os alunos consigam implementar corretamente estruturas if/else para decisões múltiplas e loops for/while para repetições, explicando o porquê de cada escolha. A capacidade de depurar e justificar código é o sinal claro de aprendizagem consolidada.


Atenção a estes erros comuns

  • Durante o Debug de Loops Buggy, os alunos podem achar que os loops for e while executam sempre o mesmo número de iterações.

    Peça aos grupos que testem cada loop com diferentes condições iniciais e contadores, comparando manualmente o número de execuções antes de corrigirem o código.

  • Durante a Programação em Pares no Jogo de Adivinhação, alguns alunos pensam que if/else só serve para duas opções possíveis.

    Incentive-os a usar elif para adicionar mais condições, e peça-lhes que desenhem um diagrama de decisão no papel antes de implementarem o código.

  • Durante a Revisão Coletiva de Código Aninhado, os alunos podem acreditar que a ordem das estruturas de controlo não afeta o resultado.

    Peça-lhes que rearranjem secções de código em pares e prevejam a saída antes de executarem, destacando onde a ordem altera o comportamento do programa.


Metodologias usadas neste resumo