Computação9º ano⏱ 20–30 min

Máquina de Estados

Catraca, semáforo e elevador em 3D controlados por um autômato que você desenha. A máquina obedece ao diagrama: faltou uma seta, ela trava; seta errada, o elevador dá a volta.

Como usar

A ideia: à esquerda está a máquina; à direita, o diagrama que manda nela. Cada disco é um estado (catraca travada, semáforo verde, elevador no térreo). Cada seta é uma transição: “se estou neste estado e acontece este evento, vou para aquele estado”. A seta solta, sem origem, aponta o estado inicial. O disco amarelo é o estado em que a máquina está agora.

Experimente: escolha a máquina, desenhe as setas na tabela abaixo da cena e dispare eventos com os botões. A máquina faz exatamente o que o diagrama diz, mesmo quando ele está errado. Se o estado atual não tem seta para o evento, a máquina trava. Quando achar que acabou, use “Conferir as regras”.

Arraste o fundo da cena para girar; use a roda do mouse ou dois dedos para aproximar. Clique em um disco para colocar a máquina naquele estado. Pelo teclado: Tab até a cena, setas giram e as teclas + e − aproximam. Todos os comandos também estão nos botões e na tabela.

Diagrama em tabela

Cada caixa é uma seta do diagrama: do estado da linha, com o evento da coluna, a máquina vai para o estado escolhido. “?” quer dizer que ainda não há seta.

Máquina

Estado atual

Regras da máquina

O diagrama precisa cumprir todas:

    • estado atual
    • última transição usada
    • sem seta: a máquina não sabe o que fazer

    Desafios

    1. Faça a máquina travar: dispare um evento para o qual o estado atual ainda não tem seta.
    2. Complete o diagrama da catraca até cumprir todas as regras.
    3. Desenhe o semáforo inteiro, com o botão do pedestre.
    4. Conserte o elevador: há uma seta errada e faltam outras.
    Para o professor

    O que está por trás: um autômato finito descreve um comportamento com três ingredientes: um conjunto pequeno de estados, os eventos que podem acontecer e as transições que dizem para onde ir em cada caso. A mesma descrição serve para a catraca, o semáforo, o elevador, um personagem de jogo ou a validação de uma senha. A tabela abaixo da cena é a forma de tabela do mesmo diagrama: cada caixa é uma seta. Nesta página o comportamento é determinístico (cada estado tem no máximo uma seta por evento) e o aluno descobre na prática o que é um autômato completo: quando falta uma seta, a máquina trava.

    Metodologia sugerida: encenação e depois investigação em duplas, como no plano Máquinas de estados: do semáforo ao jogo. Primeiro a turma encena a catraca com cartões de estado; depois as duplas desenham o semáforo na página e só então o elevador, que já vem com um defeito para consertar. Para levar ao Scratch, a variável “estado” e os blocos “quando receber” fazem o mesmo papel da tabela; a ficha Máquina de estados de um personagem ajuda nesse passo.

    Habilidade: EF09CO03; também serve para Ensino Médio e para cursos introdutórios de linguagens formais. Material concreto equivalente: discos de papel com o nome de cada estado, barbantes ou setas recortadas com o nome do evento e um aluno que faz o papel da máquina, andando de disco em disco.

    Continue explorando