FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Praktische Informatik

AD Aufgabe 3.1

AD Aufgabe 3.1 2008-11-25 12:44
Anonymer User
wollte ma fragen, ob man für aufgabe 3.1 auch 2 stacks verwenden kann ? in der aufgabenstellung steht zwar "verwenden sie einen kellerspeicher" , allerdings finde ich keinen weg wie man 2 verschiedene klammerpaare (zb. () und [] ) in einen stack speichern kann.

RE: AD Aufgabe 3.1 2008-11-25 22:47
Julian F.
Von mir auch eine Frage: Muss das Feld mit dem Klammer-Ausdruck erhalten bleiben oder dürfen wir darin "herumschreiben"? (Speziell bezogen auf Aufgabenteil (b), da wir (a) auch so hinbekommen haben.)

RE: AD Aufgabe 3.1 2008-11-26 16:49
Loom
Von mir auch eine Frage: Muss das Feld mit dem Klammer-Ausdruck erhalten bleiben oder dürfen wir darin "herumschreiben"? (Speziell bezogen auf Aufgabenteil (b), da wir (a) auch so hinbekommen haben.)

Oder was ich gern hätte: Sind Arrays eine Möglichkeit "jeder einfachen Programmiersprache"? Integer und Vergleiche ja auf jeden Fall?!? (dann geht's auch ohne Zähler ;)

RE: AD Aufgabe 3.1 2008-11-26 23:19
theorinix
Von mir auch eine Frage: Muss das Feld mit dem Klammer-Ausdruck erhalten bleiben oder dürfen wir darin "herumschreiben"? (Speziell bezogen auf Aufgabenteil (b), da wir (a) auch so hinbekommen haben.)

da wird doch nur gefragt, ob das eingegebene Klammerwort richtig geklammert ist. Die Antwort heisst dann doch entweder JA oder NEIN.
Von dem Wort selber wird doch nichts mehr verlangt!
Und: Kellerautomaten kamen in FGI-1 dran (die hießen dort eben nicht Stack-Automaten…)

RE: AD Aufgabe 3.1 2008-11-27 08:33
theorinix
wollte ma fragen, ob man für aufgabe 3.1 auch 2 stacks verwenden kann ? in der aufgabenstellung steht zwar "verwenden sie einen kellerspeicher" , allerdings finde ich keinen weg wie man 2 verschiedene klammerpaare (zb. () und [] ) in einen stack speichern kann.

Die Dycksprache mit 2 Klammerpaaren ist kontextfrei und jede kontextfreie Sprache kann von einem Kellerautomaten mit genau einem Keller (PDA für: push-down-automaton) azeptiert werden.
Beispiele dazu in den FGI-Folien!!!

…die FGI-1 Vorlesung zu besuchen und die Klausur zu bestehen, hatte schon einen Sinn!

RE: AD Aufgabe 3.1 2008-11-27 19:32
Julian F.
da wird doch nur gefragt, ob das eingegebene Klammerwort richtig geklammert ist. Die Antwort heisst dann doch entweder JA oder NEIN.
Von dem Wort selber wird doch nichts mehr verlangt!

Die Aufgabe wird eben wesentlich leichter, wenn man den Array mit dem Klammerausdruck beschreiben darf - dann kann man nämlich innere Klammerausdrücke herauslöschen. Algorithmus in Kurzform: Ersetze solange "()" und "[]" durch "" bis sich in zwei aufeinanderfolgenden Schritten nichts verändert hat. Gebe wahr zurück, wenn keine Klammern übrig sind.

Wie leicht dieser Algorithmus letztendlich in Pseudocode zu "gießen" ist, ist dann eine andere Frage. Ich finde diesen Algorithmus allerdings wesentlich intuitiver als den, den man dann letztendlich mit nichts anderem als Zählern bauen kann.

P.S. Wir haben es dann doch noch geschafft.