Resolvendo Labirintos com Menos Comandos

A criança resolve desafios de programação visual em que precisa conduzir um personagem por um percurso. O foco está em perceber sequências repetidas e utilizar estruturas de repetição quando forem adequadas.

Passo a Passo para Execução

  1. Abrir uma atividade de labirinto com programação por blocos.
  2. Observar o ponto inicial, o caminho e o objetivo.
  3. Planejar o percurso antes de montar os blocos.
  4. Identificar trechos em que o mesmo movimento aparece várias vezes.
  5. Montar uma primeira solução.
  6. Executar o programa e observar o resultado.
  7. Quando houver uma repetição evidente, reorganizar a solução usando o recurso de repetição disponível.
  8. Executar novamente e verificar se o personagem chega ao mesmo destino.
  9. Explicar para um colega qual trecho foi simplificado.
  10. Comparar as soluções e conversar sobre clareza, organização e quantidade de comandos.

Comentários

Um algoritmo é uma sequência organizada de instruções para resolver um problema. Otimização é buscar uma forma adequada de melhorar uma solução. Um código menor não é automaticamente melhor: ele precisa continuar correto, compreensível e adequado ao objetivo. Essa ideia aparece em jogos, aplicativos, sites e sistemas que precisam realizar muitas tarefas.

O Caminho com Menos Cartões

As equipes recebem caminhos formados por movimentos repetidos e procuram representar a mesma trajetória utilizando uma quantidade menor de cartões por meio de estruturas de repetição.

Materiais Necessários

  • Tapete ou folha quadriculada para representar caminhos
  • Cartões de movimento
  • Cartões de repetição
  • Pequenos objetos para representar personagem e destino
  • Fichas de planejamento
  • Lápis e borracha
  • Quadro branco

Passo a Passo da Execução

  1. Montar um caminho simples que contenha vários movimentos iguais.
  2. Pedir que as crianças representem o caminho utilizando cartões individuais.
  3. Contar quantos cartões foram utilizados.
  4. Apresentar a possibilidade de representar os movimentos repetidos por uma instrução de repetição.
  5. Montar uma segunda solução para o mesmo caminho.
  6. Comparar as duas representações sem considerar a velocidade de execução, apenas a quantidade de instruções escritas.
  7. Criar novos desafios em pequenos grupos.
  8. Pedir que cada grupo encontre uma forma mais compacta de representar o caminho.
  9. Verificar se a solução menor continua produzindo exatamente o mesmo percurso.
  10. Explicar que programadores procuram soluções claras e adequadas ao problema, e não simplesmente códigos menores a qualquer custo.

Conexão Computacional

Otimizar significa procurar uma maneira adequada de realizar uma tarefa usando os recursos de forma inteligente. Na programação, uma repetição pode evitar que a mesma instrução seja escrita muitas vezes. Isso pode tornar o código mais organizado e fácil de modificar. Na vida real, é semelhante a criar uma regra para uma tarefa que acontece muitas vezes em vez de explicar cada ocorrência separadamente.