Saltar para o conteúdo
TIC · 9.º Ano · Algoritmia e Programação Estruturada · 2o Periodo

Pensamento Computacional e Resolução de Problemas

Os alunos aplicam os pilares do pensamento computacional (decomposição, reconhecimento de padrões, abstração e algoritmos) para resolver problemas.

Aprendizagens EssenciaisDGE: 3o Ciclo - Algoritmia e Programação

Sobre este tópico

As estruturas de controlo e decisão são o 'cérebro' de qualquer algoritmo. No 9.º ano, os alunos aprendem a utilizar condições lógicas (se/então) e ciclos (repetir/enquanto) para criar programas dinâmicos e eficientes. Este tópico é a base do Pensamento Computacional, permitindo que os alunos passem de sequências simples para soluções que respondem a diferentes entradas de dados.

A lógica de programação torna-se intuitiva quando é retirada do ecrã e aplicada a situações do dia a dia. Atividades de 'computação desplugada', onde os alunos programam os movimentos uns dos outros usando cartões de decisão, ajudam a visualizar o fluxo de execução. Esta abordagem colaborativa permite identificar erros de lógica antes mesmo de abrir um editor de código, tornando a aprendizagem mais sólida e menos frustrante.

Questões-Chave

  1. Como é que a decomposição de um problema complexo em partes menores transforma a nossa capacidade de o resolver?
  2. Em que medida reconhecer padrões numa situação nos permite construir soluções mais eficientes e generalizáveis a outros contextos?
  3. Por que razão a abstração é simultaneamente a maior ferramenta e o maior risco no design de algoritmos?

Objetivos de Aprendizagem

  • Analisar um problema complexo, decompondo-o em subproblemas menores e mais geríveis.
  • Identificar padrões em diferentes conjuntos de dados ou situações para antecipar resultados e otimizar soluções.
  • Criar um algoritmo passo a passo (sequência de instruções) para resolver um problema específico, utilizando pseudocódigo ou fluxogramas.
  • Avaliar a eficiência de diferentes algoritmos para resolver o mesmo problema, considerando o número de passos e a clareza das instruções.
  • Explicar a importância da abstração na remoção de detalhes irrelevantes para focar na solução essencial de um problema.

Antes de Começar

Introdução à Lógica e Resolução de Problemas

Porquê: Os alunos precisam de ter uma noção básica de como abordar um problema e pensar de forma sequencial antes de aplicar os pilares do pensamento computacional.

Conceitos Básicos de Algoritmos

Porquê: Compreender o que é uma instrução e uma sequência é fundamental para poder decompor problemas e criar algoritmos mais complexos.

Vocabulário-Chave

DecomposiçãoDividir um problema complexo em partes menores e mais simples de entender e resolver.
Reconhecimento de PadrõesIdentificar semelhanças ou tendências recorrentes em dados ou situações para facilitar a resolução de problemas.
AbstraçãoIgnorar detalhes desnecessários ou irrelevantes para focar nos aspetos essenciais de um problema ou solução.
AlgoritmoUm conjunto finito e ordenado de instruções ou regras que, quando executadas, resolvem um problema específico.
FluxogramaUma representação gráfica de um algoritmo ou processo, utilizando símbolos padronizados para indicar passos e decisões.

Atenção a estes erros comuns

Erro comumUm ciclo 'Enquanto' verifica a condição continuamente durante a execução das instruções internas.

O que ensinar em alternativa

A condição é verificada apenas no início (ou fim) de cada iteração. Usar simulações passo a passo ajuda os alunos a perceberem que o código dentro do ciclo termina antes de a condição ser reavaliada.

Erro comumAs estruturas de decisão só servem para escolhas simples entre duas opções.

O que ensinar em alternativa

As decisões podem ser encadeadas ou múltiplas. Atividades de criação de 'árvores de decisão' para problemas complexos ajudam a visualizar como a lógica pode lidar com inúmeras variáveis.

Ideias de aprendizagem ativa

Ver todas as atividades

Ligações ao Mundo Real

  • Engenheiros de software utilizam a decomposição para dividir grandes projetos de desenvolvimento de aplicações, como o sistema operativo de um smartphone, em módulos menores que equipas podem gerir independentemente.
  • Cientistas de dados aplicam o reconhecimento de padrões para analisar grandes volumes de informação, identificando tendências em dados de vendas para prever a procura de produtos ou em dados médicos para detetar surtos de doenças.
  • Chefs de cozinha seguem algoritmos (receitas) detalhados, onde a abstração permite focar nos ingredientes e passos essenciais, ignorando a origem exata de cada item ou o método de fabrico de cada utensílio para criar um prato.

Ideias de Avaliação

Bilhete de Saída

Entregue aos alunos um problema simples (ex: organizar uma festa de aniversário). Peça-lhes para escreverem no verso do cartão: 1) Como decomporiam este problema em 3-4 passos principais? 2) Identifiquem um padrão que se repete na organização de eventos.

Verificação Rápida

Apresente aos alunos um fluxograma simples que contém um erro lógico. Pergunte: 'Onde está o erro neste algoritmo? Como o corrigiam para que ele funcionasse corretamente?'

Questão para Discussão

Coloque a seguinte questão para debate: 'A abstração é sempre uma ferramenta positiva na resolução de problemas? Quando é que ignorar detalhes pode levar a uma solução falhada?' Peça aos alunos para darem exemplos concretos.

Perguntas frequentes

Qual é a diferença entre um ciclo 'Para' e um ciclo 'Enquanto'?
O ciclo 'Para' (For) é usado quando sabemos exatamente quantas vezes queremos repetir algo. O ciclo 'Enquanto' (While) é usado quando a repetição depende de uma condição que pode mudar a qualquer momento.
O que é um erro de lógica num algoritmo?
É um erro onde o programa corre sem falhar, mas produz um resultado errado porque a sequência de passos ou as condições definidas pelo programador não resolvem corretamente o problema pretendido.
Como as atividades 'desplugadas' ajudam no pensamento computacional?
Ao remover a sintaxe complexa do computador, os alunos focam-se exclusivamente na lógica. Atividades físicas permitem que visualizem o fluxo de controlo, facilitando a compreensão de conceitos abstratos como ciclos e ramificações através da experiência direta.
Por que é que a decomposição de problemas é importante na programação?
A decomposição permite partir um problema grande e complexo em partes menores e mais fáceis de resolver. Isto torna a criação de algoritmos mais gerível e ajuda a identificar onde aplicar estruturas de decisão específicas.