AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Programm zur Simulation etc. von Automaten (DEA & NEA)

Programm zur Simulation etc. von Automaten (DEA & NEA)

Ein Thema von Alexander · begonnen am 12. Jan 2006 · letzter Beitrag vom 15. Jan 2006
Antwort Antwort
Alexander
Registriert seit: 28. Aug 2002
Moin,
ich habe hier in JAVA ein Progamm geschrieben, mit dem man Automaten (DEA & und auch NEA's) als Script eingeben kann. Dieses Script kann nun geparst und ausgeführt werden kann (siehe Button "Taschenrechner" und das Eingabefeld der Eingabezeichen für den Automaten unten). Darüber hinaus ist es möglich, diesen Automaten als Zustandstabelle und auch als Zustandsgraphen (Hauptarbeit) anzuzeigen. Gerendert wird der Zustandsgraph, wenn der unterste Button in der linken Leiste geklickt wird .
Es ist zu beachten, dass erstens von mir alles bis auf die NEA-Geschichte programmiert wurde. Die nichtdeterministischen Automaten sind auch eher nur halbherzig implementiert. D.h. man gibt einen NEA in das Eingabefeld ein und wandelt nun diesen Automaten per Buttonklick (vorletzter Button links in der Toolbar) um. Eine Rückumwandlung funktioniert nicht.
Das ganze ist fix für den Informatikuntericht geschrieben, daher auch in JAVA und nicht in Delphi . Vielleicht können ja doch einige von euch das mal testen. "Kompiliert" ist das ganze mit Java 1.5 (die neuste). Sollte daher auch installiert sein.

Die Scriptsprache
Hier will ich noch etwas erwähnen und zwar ist es möglich, auch Ausgabezeichen zu hinterlegen (dies jedoch nur im DEA). Der Beispielautomat gibt jedoch nichts aus. Hinter den Kommata kann ein weiteres Zeichen als Ausgabezeichen hinterlegt werden (oder auch weggelassen werden). Damit gestaltet sich ein Übergang folgendermaßen:
Code:
Start 'Startzustand'
Ende 'Zielzustand1', 'Zielzustand2'

'Ausgangszustand' Eingabezeichen, Ausgabezeichen -> 'Folgezustand'
Vielen Dank schon einmal für das Ausprobieren. Etwas Vorwissen in endlichen Automaten wäre für das Ausprobieren sicherlich hilfreich

Nachtrag:
So da ja irgendwie nicht sehr starkes Interesse besteht, hänge ich mal ein paar Screenshots und einen weiteren NEA Beispielcode an:
NEA-Code:
Code:
; Prüft, ob in der Folge aus 0 und 1 die Folge 000 oder 010 enthalten ist

start:z0
final:ze

z0:1,0:z0
z0: 0:z1

z1:1,0:z2

z2: 0:ze

ze:1,0:ze
Miniaturansicht angehängter Grafiken
screen4_117.jpg   screen3_611.jpg   screen2_850.jpg  
Angehängte Dateien
Dateityp: zip client_135.zip (29,3 KB, 22x aufgerufen)
 
Alexander

 
Turbo Delphi für .NET
 
#2
  Alt 15. Jan 2006, 13:06
So habe oben mal ein paar Screenshot und ein weiteres kleines Script eingefügt. Vielleicht interessiert es ja den ein oder anderen doch noch, auch wenn es ein JAVA Programm und ein wenig theoretische Info ist.
Alexander
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf