[Python-de] Ampelsteuerung

Detlef Lannert lannert at uni-duesseldorf.de
Mon Sep 22 21:28:32 CEST 2003


Hans Gubitz <gubitz at netcologne.de> wrote:
> Hallo,
> 
> ich suche Beispiele/Anregungen zur Steuerung einer Ampelanlage 
> mit Python.

Gute Idee -- so etwas ließe sich gut als Beispielaufgabe bzw.
-programm in einem Kurs verwenden ... wenn Du ein funktionierendes
Programm hast, poste es doch mal hier.

Ich würde beim Design spontan an eine Klasse denken, die den Ablauf einer
einzelnen Ampel steuert (Mindestzeiten für Rot und Grün, automatischer
Ablauf der Gelbphasen, abgeleitete Klassen als niederländische /
österreichische / deutsche Ländervarianten); an ein Sperrprotokoll, das Gelb
und Grün erst zuläßt, wenn die widersprechenden Signale blockiert sind; an
einen Scheduler, der Anforderungen sammelt (z.B. durch Zeitablauf oder
Druckknopf/Induktionsschleife) und der Reihe nach die Grünphasen auslöst
usw. -- Räumzeiten nicht vergessen! Für eine umfangreiche bedarfsgesteuerte
LZA kann das ziemlich komplex werden.

So ein Beispiel könnte (in einfacher Form) gut dazu dienen, OOP zu
motivieren in einem Programmierkurs, da ohne Objektorientierung eine Menge
von Statusinformationen durch die Funktionsaufrufe durchgereicht werden
müßte.

Natürlich ginge es auch einfacher -- endlose zyklische Abarbeitung einer
Liste mit den Zuständen der einzelnen Ampeln und jeweiliger Zeitdauer --
aber das wäre ja langweilig und würde Python(programmierer) unterfordern.
;-)

  Detlef