Zum Inhalt springen

Taschenrechner mit Automaten programmieren


Empfohlene Beiträge

Geschrieben

Hi,

also wir sollen einen Taschenrechner programmieren der auf einem Kellerautomaten beruht. Ich hab schon rausgefunden, dass man mit dem Kellerautomaten den String der Rechnung (z.B. "4*(3+2)") auf Richtigkeit überprüfen kann, also ob die Zeichen zulässig sind und ob die Klammern richtig gesetzt wurden usw.. aber weiter komm ich nicht.. wie kann ich den Term denn tatsächlich berechnen mit dem Kellerautomaten??

Geschrieben

Du legst einfach nicht nur die Klammern, sondern auch die Operanden und Operatoren in dem Kellerspeicher ab. Und sobald du etwas hast, das du ausrechnen kannst, tust du das.

Sollst du Punkt-vor-Strich o.ä. beachten, oder nur die Klammern?

Geschrieben

Punkt vor Strich muss auch beachtet werden. Das ist es ja was mir so schwierigkeiten bereitet.. So kann ich den Kellerspeicher nicht einfach so durchgehen, sondern je nachdem was für Operatoren und Klammern benutzt worden sind ändert sich ja die "Reihenfolge" der Berrechnungen sag ich mal..

Wie lös ich denn das Problem?

Geschrieben
So kann ich den Kellerspeicher nicht einfach so durchgehen, sondern je nachdem was für Operatoren und Klammern benutzt worden sind ändert sich ja die "Reihenfolge" der Berrechnungen sag ich mal.
Eben. Du musst bei jeder Eingabe in den Automaten entscheiden, ob die Priorität der Operation in der Eingabe höher ist, oder die der Operation, die oben auf dem Stack liegt. Könnte im nächsten Schritt noch eine Operation mit höherer Priorität folgen, musst du die Eingabe erst mal auf dem Stack sichern. Wenn nicht, kannst du anfangen, den Stack wieder abzubauen.

Ein Tipp: Mach's erst mal ohne Klammern.

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...