Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
schule:klassen:2019:10abc:zustandsdiagramme [2020/01/05 16:19] – [Zustandsdiagramm] martin | schule:klassen:2019:10abc:zustandsdiagramme [2021/12/29 10:40] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
==== Zustandsdiagramm ==== | ==== Zustandsdiagramm ==== | ||
- | {{: | + | {{: |
==== Umsetzung als Computerprogramm: | ==== Umsetzung als Computerprogramm: | ||
Zeile 96: | Zeile 96: | ||
</ | </ | ||
+ | |||
+ | ===== Aufgabe: Zwischenstopp-Taste ===== | ||
+ | Die Stoppuhr erhält eine weitere Taste Z („Zwischenzeit“), | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <code java> | ||
+ | Uhr u = new Uhr(); | ||
+ | |||
+ | // Die Timer-Klasse führt die Methode run des Objekts u | ||
+ | // alle 1000 ms immer wieder aus: | ||
+ | Timer.repeat(u, | ||
+ | |||
+ | |||
+ | public class Uhr implements Runnable { | ||
+ | |||
+ | int zustand = 1; | ||
+ | int sekunden = 0; | ||
+ | int minuten = 0; | ||
+ | |||
+ | | ||
+ | | ||
+ | if(zustand == 2) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | | ||
+ | if(zustand == 4) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | ausgabe(); | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | | ||
+ | | ||
+ | if(zustand == 1) { | ||
+ | | ||
+ | // Uhr starten | ||
+ | | ||
+ | } | ||
+ | |||
+ | if(zustand == 2) { | ||
+ | |||
+ | | ||
+ | // Zwischenstopp | ||
+ | | ||
+ | |||
+ | } | ||
+ | |||
+ | if(zustand == 3) { | ||
+ | | ||
+ | // wieder starten | ||
+ | | ||
+ | } | ||
+ | |||
+ | if(zustand == 4) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | ausgabe(); | ||
+ | |||
+ | } | ||
+ | |||
+ | | ||
+ | |||
+ | zustand = 1; | ||
+ | // reset | ||
+ | sekunden = 0; | ||
+ | minuten = 0; | ||
+ | |||
+ | ausgabe(); | ||
+ | return; | ||
+ | | ||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | if(zustand == 2 || zustand == 4) { | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | minuten++; | ||
+ | sekunden = 0; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | ausgabe(); | ||
+ | |||
+ | } | ||
+ | |||
+ | | ||
+ | if(zustand != 4) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ |