...
- Mallinna liikennevalot UML-tilakonekaaviona esim käyttäen kaavionpiirto-ohjelmaa. Voit olettaa, että tilakoneeseen tulee tapahtuma "30 sekuntia kulunut" jolloin valoja voi vaihtaa. Voit halutessasi mallintaa myös liikennevalojen välitilat joissa keltainen valo on päällä. http://en.wikipedia.org/wiki/UML_state_machine
- Toteuta tilakone switch-case rakenteella. Voit käyttää koodin kirjoittamiseen esimerkiksi http://ideone.com/ -ympäristöä. Kieleksi voi valita esim. C++11
Esimerkki tällä tavalla toteutetusta tilakoneesta löytyy mm. sivulta Yksinkertainen Caps Lock -tilakonemalli tai osoitteesta http://en.wikipedia.org/wiki/Event-driven_finite-state_machine - Tee Qt Creatorissa uusi käyttöliittymäsovellus, lisää käyttöliittymään aluksi painikeet tilakoneen tilojen vaihtamiseksi, ja tekstikentät joissa lukee missä tiloissa eri liikennevalot milloinkin ovat.
- Lisää tilakoneeseesi QTimer-ajastin, joka vaihtaa tilakoneen tiloja
- Mallinna kerrostalon hissi UML-tilakonekaaviona esim käyttäen kaavionpiirto-ohjelmaa. Sisällytä toiminnallisuuteen ainakin perustoiminnallisuus eli esim. kaikkien kerrosten painikkeet ja näytöt, jotka kertovat hissin tilasta.
- (Valinnainen lisätehtävä) Lisää tilakoneeseen myös ovien sensorit ja ajastin oven sulkeutumiselle, sekä mahdollisuus painaa useamman kerroksen painikkeita siten, että hissi muistaa mennä niihin kaikkiin yksi kerrallaan.
- Toteuta tilakone switch-case rakenteella.
Esimerkki tällä tavalla toteutetusta tilakoneesta löytyy mm. osoitteesta http://en.wikipedia.org/wiki/Event-driven_finite-state_machine - Tee Qt Creatorissa uusi käyttöliittymäsovellus, joka simuloi hissin toimintaa.
...