![]() |
||
| Material |
OOP
Grundlagen
Delphi
Software-Technik
Bonsai
Digitaltechnik
Ereignisse
Grafik
UML
Netze
Fischertechnik
Tipps
Werkzeuge
Literatur
Automaten
Sprachen
Datenbanken
XML
Prolog
Berechenbarkeit
|
|
|
endliche Automaten |
![]() |
Modellvereinfachungen: Der Aufzug bedient die 3 Stockwerke SE, S1 und S2. In der Aufzugskabine gibt es drei Tasten E, 1 und 2, um das anzufahrende Stockwerk zu wählen. Die gleichen Eingaben können auch mit den Ruftasten auf den einzelnen Stockwerken gemacht werden. Die Eingaben ergeben sich aus den möglichen Anforderungskombinationen: E = {_, E, 1, 2, E1, E2, 12, E12} Naheliegende Ausgaben sind A = {h, r, s} , wobei h für hoch, r für runter und s für stoppt steht. Bei der Festlegung der Zustände ist zu bedenken, dass Anforderungen, die der jeweiligen Fahrtrichtung entsprechen, Priorität haben sollen. Z = {SE,S1s,S1h,S1r,S2} , dabei bedeutet z.B. S1h, dass der Aufzug sich in S1 befindet und die Fahrtrichtung nach oben ist. In SE und S2 spielt die Fahrtrichtung keine Rolle. |

const
{ 0. Automatenname eintragen }
automatname = 'Aufzug mit drei Stockwerken SE, S1, S2';
type
{ 1. Zustandsmenge, Eingabe- und Ausgabealphabet anpassen }
TZustand = (SE,S1r,S1s,S1h,S2);
TEingabe = (e_,eE,e1,e2,eE1,eE2,e12,eE12);
TAusgabe = (h,r,s);
const
{ 2. Startzustand eintragen }
startzustand = SE;
{ 3. Klartextentsprechungen eintragen }
zText : array[TZustand] of string =
('Erdgeschoss','1.Stock, runter','1. Stock, stoppt',
'1. Stock, hoch','2. Stock');
eText : array[TEingabe] of string =
('nichts','E','1','2','E 1','E 2','1 2','E 1 2');
aText : array[TAusgabe] of string =
('hoch','runter','stoppt');
{ 4a. Automatentafel eingeben, auf Zeilen und Spalten achten }
fue : array[TZustand,TEingabe] of TZustand =
((SE,SE,S1h,S1h,SE,SE,S1h,SE),
(S1s,SE,S1r,S2,S1r,SE,S1r,S1r),
(S1s,SE,S1s,S2,S1s,SE,S1s,S1s),
(S1s,SE,S1h,S2,S1h,S2,S1h,S1h),
(S2,S1r,S1r,S2,S1r,S2,S2,S2));
{ 4b. Automatentafel eingeben, auf Zeilen und Spalten achten }
fa : array[TZustand,TEingabe] of TAusgabe =
((s,s,h,h,s,s,h,s),
(s,r,s,h,s,r,s,s),
(s,r,s,h,s,r,s,s),
(s,r,s,h,s,h,s,s),
(s,r,r,s,r,s,s,s));
|