top of page

Tarefa 10 - Aula 11

  • Foto do escritor: Ulisses Silva
    Ulisses Silva
  • 23 de set. de 2018
  • 2 min de leitura

Discutir e implementar a simulação interativa de um equipamento, à sua escolha, empregando uma MEF (Máquina de Estados Finitos) com três ou mais estados.



A máquina de Estados Finitos que escolhi foi um ventilador de teto com lâmpada. Ele possui um botão que apaga e acende a lâmpada nele acoplada, independentemente de ele estar girando ou não, e também outro botão de intensidade que pode ser girado no sentido horário e no sentido anti-horário. O botão de intensidade faz com que ele saia do estado "parado" para o estado "girando", tendo 3 possíveis intensidades de giro. Para ir de um estado para outro, é necessário primeiro passar pelo estado anterior. O ventilador não pode ir do estado parado, para o seu estado de giro com intensidade máxima por exemplo. Como o botão da lâmpada é à parte, cada estado do ventilador acompanha a possibilidade da lâmpada estar acesa ou não.

Abaixo segue um fluxograma que demonstra as trocas de estado desse ventilador, note que é impossível ele pular estados.



Para simular o comportamento da máquina escolhida, criei um programa no Processing que permite ao usuário alternar a intensidade de giro ao pressionar as teclas das setas Esquerda e Direita do teclado. E com as setas para Cima e para Baixo ele pode ligar ou desligar a lâmpada do ventilador.


Criei um procedimento MEF, onde ele checa se a variável booleana da luz está verdadeira ou falsa para controlar se o ventilador está aceso ou não. Ainda dentro desse procedimento, coloquei condicionais para variar a velocidade de giro dependendo do estado em que o ventilador se encontra. Com o auxílio do procedimento "keyPressed", criei as condições que permitem as trocas de estados sequencialmente.


Por último criei um procedimento chamado "ventilador", que desenha o ventilador e o rotaciona à cada quadro baseado num ângulo que varia de acordo com a velocidade do estado em que o mesmo se encontra.

Abaixo segue um exemplo do funcionamento do programa.



Link do código em texto: Baixar o texto do código!


Link da pasta do código em Processing: Baixar a pasta do código!

 
 
 

Commenti


RECEBA AS NOVIDADES

  • Black Facebook Icon
  • Black Pinterest Icon
  • Black Instagram Icon

© 2023 por Sal & Pimenta. Orgulhosamente criado com Wix.com

bottom of page