Skip to content
Informática · 11.º Ano

Ideias de aprendizagem ativa

Algoritmos de Pesquisa

Os algoritmos de pesquisa são abstratos mas aplicáveis no dia a dia, como procurar um nome numa lista ou encontrar um ficheiro no computador. Esta aprendizagem ativa permite que os alunos vivenciem a ineficiência de métodos simples e a eficiência de estratégias otimizadas, construindo intuição algorítmica através de experiências concretas e tangíveis.

Aprendizagens EssenciaisDGE: Secundário - AlgoritmiaDGE: Secundário - Estruturas de Dados
30–45 minPares → Turma inteira4 atividades

Atividade 01

Rotação por Estações35 min · Pequenos grupos

Simulação Manual: Cartões Ordenados

Distribua baralhos de cartões numerados ordenados e desordenados por grupos. Peça que simulem pesquisas linear e binária, contando comparações. Registem resultados numa tabela partilhada e discutam padrões observados.

De que forma a organização dos dados altera a estratégia de pesquisa a adotar?

Sugestão de FacilitaçãoDurante a Simulação Manual com Cartões Ordenados, peça aos alunos para cronometrar cada pesquisa e registar os resultados em grupo, incentivando a discussão sobre padrões observados.

O que observarApresente aos alunos um pequeno conjunto de dados desordenado e outro ordenado. Peça-lhes para, mentalmente ou num papel, simularem a pesquisa de um elemento específico em ambos os conjuntos usando pesquisa binária e linear. Pergunte: 'Qual algoritmo terminou mais rápido e porquê? Que problema surgiu com o conjunto desordenado para a pesquisa binária?'

RecordarCompreenderAplicarAnalisarAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 02

Codificação em Python: Testes de Eficiência

Forneça código base para linear e binária. Os alunos geram listas de tamanhos variados, executam pesquisas e medem tempos com timeit. Comparem gráficos de performance em plenário.

Compare a eficiência da pesquisa linear e binária em diferentes cenários.

Sugestão de FacilitaçãoAo codificar em Python os testes de eficiência, forneça exemplos iniciais com listas pequenas e depois expanda para conjuntos maiores, guiando a observação do comportamento exponencial.

O que observarEntregue a cada aluno um cartão com um cenário (ex: 'procurar um nome numa lista telefónica antiga' vs 'procurar um número de telefone numa lista telefónica atualizada'). Peça-lhes para escreverem qual algoritmo de pesquisa seria mais adequado para cada cenário e justificar a escolha em uma frase, mencionando a organização dos dados.

RecordarCompreenderAplicarAnalisarAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 03

Rotação por Estações40 min · Pequenos grupos

Desafio Competitivo: Otimização de Dados

Equipes ordenam dados reais (ex.: nomes de alunos) e competem em pesquisas cronometradas. Rotacionem papéis de 'codificador', 'testador' e 'analista'. Apresentem estratégias vencedoras.

Explique as pré-condições necessárias para aplicar uma pesquisa binária.

Sugestão de FacilitaçãoNo Desafio Competitivo de Otimização de Dados, defina critérios claros de avaliação, como tempo de execução e número de comparações, para que os alunos possam comparar soluções de forma objetiva.

O que observarColoque a seguinte questão no quadro: 'Se tivéssemos de procurar um item numa lista de 1 milhão de elementos, qual seria a diferença aproximada no número de comparações entre pesquisa linear e binária?'. Incentive os alunos a calcularem ou estimarem e a partilharem as suas conclusões, focando na diferença exponencial de eficiência.

RecordarCompreenderAplicarAnalisarAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 04

Rotação por Estações30 min · Individual

Análise Gráfica: Visualização de Complexidade

Usem ferramentas como Google Sheets para plotar curvas de eficiência. Individuais preenchem dados de simulações prévias e interpretam gráficos em discussão coletiva.

De que forma a organização dos dados altera a estratégia de pesquisa a adotar?

Sugestão de FacilitaçãoNa Análise Gráfica da Complexidade, prepare gráficos em papel milimétrico ou utilize ferramentas digitais para que os alunos desenhem as curvas e identifiquem visualmente a diferença entre linear e logarítmica.

O que observarApresente aos alunos um pequeno conjunto de dados desordenado e outro ordenado. Peça-lhes para, mentalmente ou num papel, simularem a pesquisa de um elemento específico em ambos os conjuntos usando pesquisa binária e linear. Pergunte: 'Qual algoritmo terminou mais rápido e porquê? Que problema surgiu com o conjunto desordenado para a pesquisa binária?'

RecordarCompreenderAplicarAnalisarAutogestãoCompetências Relacionais
Gerar Aula Completa

Algumas notas sobre lecionar esta unidade

Ensine este tópico começando com experiências manuais para construir a intuição antes da abstração. Evite apresentar fórmulas de complexidade logo de início, pois isso pode obscurecer a compreensão dos alunos. Use analogias do mundo real, como procurar uma palavra num dicionário, para ligar o conceito abstrato à realidade. Pesquisas mostram que a aprendizagem é mais eficaz quando os alunos descobrem os padrões por si próprios, em vez de os receberem passivamente.

Os alunos compreendem quando usar cada algoritmo, identificam as pré-condições necessárias e justificam a escolha com base na organização dos dados e no tamanho do conjunto. Espera-se que consigam comparar a complexidade de ambos os métodos e explicar as suas diferenças de forma clara e precisa.


Atenção a estes erros comuns

  • Durante a Simulação Manual: Cartões Ordenados, watch for alunos que assumem que a pesquisa binária pode ser aplicada a listas desordenadas.

    Peça aos grupos para tentarem aplicar a binária em listas desordenadas com cartões físicos. Ao falharem, incentive-os a discutir porque motivo a ordenação é necessária e como a ordenação prévia afeta o resultado.

  • Durante a atividade de Codificação em Python: Testes de Eficiência, watch for alunos que generalizam que a pesquisa linear é sempre menos eficiente que a binária.

    Durante a execução do código, peça aos alunos para cronometrar a pesquisa linear em listas pequenas ou quando o elemento está no início, e comparar com a binária. Use os resultados para conduzir uma discussão sobre quando a linear é vantajosa.

  • Durante a Análise Gráfica: Visualização de Complexidade, watch for alunos que acreditam que o número de passos na binária é sempre logarítmico, independentemente da organização dos dados.

    Peça aos alunos para traçarem as curvas de complexidade usando dados desordenados e ordenados. A diferença visual nos gráficos ajudará a clarificar que a ordenação é uma pré-condição essencial para a binária funcionar corretamente.


Metodologias usadas neste resumo