---
title: Toupeira
sidebar_position: 7
---

# Toupeira

<div style={{ display: "flex", alignItems: "flex-start", gap: "16px", flexWrap: "wrap" }}>
	<img
		src={require("@site/static/images/atividades/programacao/molemash-thumbnail.png").default}
		alt="Thumbnail da atividade Toupeira"
		style={{ width: "280px", height: "280px", objectFit: "contain", flexShrink: 0 }}
	/>
	<div style={{ flex: 1, minWidth: "260px" }}>
		<p>A Toupeira trabalha uma combinação muito rica de conceitos: coordenadas, repetição, memória, aleatoriedade e controle de estado. O tabuleiro 3x3 dá à atividade uma aparência simples, mas, pedagogicamente, ela progride para problemas bastante sofisticados, em que o estudante já não precisa apenas mover um personagem, e sim definir regras para um comportamento que se repete sem se tornar previsível ou inválido.</p>
		<p>Essa atividade é importante porque desloca a programação do controle puramente sequencial para a gestão de informações durante a execução. O estudante precisa lembrar posições anteriores, evitar repetições, decidir o que fazer diante de sorteios aleatórios e organizar a lógica em ciclos. Isso introduz uma noção inicial de sistema dinâmico controlado por variáveis.</p>
	</div>
</div>

## O que esta atividade ensina sobre programação

Nas fases iniciais, a Toupeira ajuda a consolidar o sistema de coordenadas em grade e a leitura linha-coluna. Em seguida, amplia esse trabalho com laços de repetição e varredura completa da matriz. Mais adiante, a atividade passa a exigir sorteio de posições, armazenamento temporário em variáveis e comparação com estados anteriores.

Do ponto de vista pedagógico, essa progressão é muito relevante porque mostra que programas podem produzir resultados diferentes a cada execução, desde que respeitem regras definidas. O estudante começa a entender que variáveis não servem apenas para guardar números: elas também sustentam memória, contexto e controle de comportamento.

## Mediação pedagógica

Antes de avançar para as fases com aleatoriedade, vale garantir que a turma esteja confortável com a leitura do tabuleiro. Uma mediação simples é pedir que os estudantes antecipem verbalmente a posição para a qual a toupeira deve saltar antes de executar o código.

Nas fases com memória, é útil perguntar o que o programa precisa “lembrar” para não errar. Essa pergunta ajuda a introduzir variáveis como recurso de modelagem do estado atual e do estado anterior, em vez de tratá-las apenas como conteúdo formal.

## Progressão das fases

| Fase | Nome | O que o estudante pratica |
| --- | --- | --- |
| 1 | Movimento Sequencial | usar coordenadas simples para deslocamentos planejados na mesma linha |
| 2 | Os Quatro Cantos | localizar posições extremas e organizar percurso em grade |
| 3 | O Pêndulo Vertical | combinar repetição com alternância de posições fixas |
| 4 | Varredura Completa | usar loops aninhados para percorrer toda a matriz |
| 5 | A Toupeira Inquieta | introduzir aleatoriedade controlada com linha fixa |
| 6 | Coordenadas na Memória | sortear linha e coluna, armazenar valores e usá-los no movimento |
| 7 | O Centro Proibido | aplicar condicionais para restringir comportamento a partir de regras |
| 8 | Memória de Curto Prazo | comparar posição atual com posição anterior e evitar repetição de linha |
| 9 | O Algoritmo Perfeito | usar while e memória para impedir repetição imediata do mesmo buraco |
| 10 | O Desafio da IA Final | integrar repetição, memória, restrições de linha e pausa entre saltos |

## Quando usar

Esta atividade é indicada quando a turma já domina sequência e repetição e está pronta para avançar para variáveis, memória e aleatoriedade. Ela também funciona muito bem em aulas que queiram aproximar programação de noções de grade, posição e comportamento reativo.

## Referências

- Sistema de coordenadas: https://pt.wikipedia.org/wiki/Sistema_de_coordenadas
- Fluxo de controle: https://pt.wikipedia.org/wiki/Fluxo_de_controle