Zum Inhalt springen

Ausdruck-Evaluierung mit 2 Stacks


wiwauwsel

Empfohlene Beiträge

Hi!

Ich bin neu hier und dachte, dass ich mal mein Problem hier beschreibe. Also, ich soll einen Algorithmus in Form von Pseudocode oder Java schreiben, der einen vollständig geklammerten Ausdruck einliest und auswertet. Das heisst, dass die Sache mit 2 Stacks passieren soll, einem Operanden- und einem Operatorenstack. Die Klammern sollen mit auf den Operatorenstack. Und beim abarbeiten muss halt auf die Prioritäten usw geachtet werden. Mein Prof hat mir den Tip gegeben, dass ich die Klammern mit verschiedenen Präzedenzen begelegen kann, das wäre sehr elegant. Ich habe leider wenig Ahnung, wie ich das machen soll. Bin noch nicht so lange bei der Informatik dabei. Kann mir da jemand helfen? Im Endeffekt ist es ja ein arithmetischer Taschenrechner, der hier programmiert werden soll. Würde mich sehr über Hilfe freuen, weil ich das in recht kurzer Zeit fertig haben muss.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hey

ich hab auch ma so einen taschenrechner gebaut. ich habe es aber mit stringlisten gelöst. da ich probs mit dem stack hatte. du zwar eine variable also den wert auf den stack packen kannst. wenn du die variable aber überschreibst ist der vorherige wert weg da auf die adresse der variable zurückgegriffen bzw. verweist wird. ich hatte damit paar probs. ich hab das ganze in delphi mit stringlisten aufgebaut. stringlisten sind hintereinandergereite reservierte speicherbereiche auf die gepointert werden können also auch eine art stack. aber der vorteil ist, dass du das alles dann rekursiv bzw. interativ durchlaufen kannst. ich poste mal meine exe guck es dir mal an. vorher musst du aber die eingabe parsen. bevor du damit arbeitest

weiß nit genau, ob das die entgültige version ist. aber zum verständnis hilfst. ist schon was länger her wo ich das gemacht habe. stand aber damals vor dem selben prob wie du jetzt.

mfg

Project_Rechner.rar

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mein Tipp: Polnische Notation

ggf. auch mal die Struktur von Prolog sich anschauen, mein Tipp hierzu DCG (definite clause grammer). Als Querthema ginge auch zuerst einmal den Ausdruck in polnischer Notation in einen Binärbaum zu packen und auszuwerten. Falls Du das mit einer DCG machen solltest, ein Bsp hab ich auf meiner Webseite für einen Taschenrechner, der solche Ausrücke prüft und berechnet (musste das für mein Praktikum machen): klammerauf fünf plus 2 klammerzu mal klammerauf drei minus zehn klammerzu => er gibt dann das Ergebnis als Text aus. Sonst ne PN an mich

Gruß

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...