Funktionen berechnen

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
MoonGuy
Beiträge: 231
Registriert: Fr Okt 08, 2010 2:49 pm

Funktionen berechnen

Beitrag von MoonGuy » Sa Mär 12, 2011 5:59 pm

Halli Hallo,
Ich will seit ein paar Tagen einen Funktionsrechner schreiben. Die GUI usw. steht alles, ich habe die Funktion als Char Array, aber nun ist mein Problem: Wie kann ich das ganze so auswerten, dass ich damit rechnen kann. Ich will erstmal eine total dumme Versions auf die Beine stellen, die keine Klammern oder rechenregeln beachtet(Punkt vor Strich und Potenzen vor Punkt und Klammern), sondern einfach erstmal alles nach der Reihe durchrechnet und jedesmal für X einen neuen Wert einsetzt bis es den Endwert erreicht.
Wie bereits erwähnt, ich habe die Funktion in einem Char Array(ohne f(x)=), habe einen Start und End Wert, Ganzzahlen, und weiß einfach nicht, wie ich das Array nun aufbröseln soll. Hat da jemand einen kleinen Denkanschubs?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Funktionen berechnen

Beitrag von Xin » Sa Mär 12, 2011 6:10 pm

MoonGuy hat geschrieben:Halli Hallo,
Ich will seit ein paar Tagen einen Funktionsrechner schreiben. Die GUI usw. steht alles, ich habe die Funktion als Char Array, aber nun ist mein Problem: Wie kann ich das ganze so auswerten, dass ich damit rechnen kann. Ich will erstmal eine total dumme Versions auf die Beine stellen, die keine Klammern oder rechenregeln beachtet(Punkt vor Strich und Potenzen vor Punkt und Klammern), sondern einfach erstmal alles nach der Reihe durchrechnet und jedesmal für X einen neuen Wert einsetzt bis es den Endwert erreicht.
Wie bereits erwähnt, ich habe die Funktion in einem Char Array(ohne f(x)=), habe einen Start und End Wert, Ganzzahlen, und weiß einfach nicht, wie ich das Array nun aufbröseln soll. Hat da jemand einen kleinen Denkanschubs?
Wenn Du Punkt und Strichrechnung ignorieren möchtest, lesen und auswerten.
4 + 5 * 3

Zahl lesen (4) , gucken ob ein Operator kommt. ( => 4 - da kommt noch was)
Wenn ja, Operator lesen und Zahl lesen (5), entsprechend verrechnen und gucken, ob ein Operator kommt. ( => 4+5 => 9, da kommt noch was )
Wenn ja, Operator lesen und Zahl lesen (3), entsprechend verrechnen und gucken, ob ein Operator kommt. ( => 9 * 3=> 27, feddisch )
Zahl ausgeben.

Das ist hier eine einfache Schleife, davor halt die erste Zahl einlesen und dahinter das Ergebnis ausgeben.

Das ganze mit Operatorenprioritäten kommt im Tutorial vor (wenn ich soweit bin), das ist eine Standard-Aufgabe, wenn ich jemanden Programmieren beibringe.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

MoonGuy
Beiträge: 231
Registriert: Fr Okt 08, 2010 2:49 pm

Re: Funktionen berechnen

Beitrag von MoonGuy » Sa Mär 12, 2011 6:15 pm

Xin hat geschrieben:
MoonGuy hat geschrieben:Halli Hallo,
Ich will seit ein paar Tagen einen Funktionsrechner schreiben. Die GUI usw. steht alles, ich habe die Funktion als Char Array, aber nun ist mein Problem: Wie kann ich das ganze so auswerten, dass ich damit rechnen kann. Ich will erstmal eine total dumme Versions auf die Beine stellen, die keine Klammern oder rechenregeln beachtet(Punkt vor Strich und Potenzen vor Punkt und Klammern), sondern einfach erstmal alles nach der Reihe durchrechnet und jedesmal für X einen neuen Wert einsetzt bis es den Endwert erreicht.
Wie bereits erwähnt, ich habe die Funktion in einem Char Array(ohne f(x)=), habe einen Start und End Wert, Ganzzahlen, und weiß einfach nicht, wie ich das Array nun aufbröseln soll. Hat da jemand einen kleinen Denkanschubs?
Wenn Du Punkt und Strichrechnung ignorieren möchtest, lesen und auswerten.
4 + 5 * 3

Zahl lesen (4) , gucken ob ein Operator kommt. ( => 4 - da kommt noch was)
Wenn ja, Operator lesen und Zahl lesen (5), entsprechend verrechnen und gucken, ob ein Operator kommt. ( => 4+5 => 9, da kommt noch was )
Wenn ja, Operator lesen und Zahl lesen (3), entsprechend verrechnen und gucken, ob ein Operator kommt. ( => 9 * 3=> 27, feddisch )
Zahl ausgeben.

Das ist hier eine einfache Schleife, davor halt die erste Zahl einlesen und dahinter das Ergebnis ausgeben.

Das ganze mit Operatorenprioritäten kommt im Tutorial vor (wenn ich soweit bin), das ist eine Standard-Aufgabe, wenn ich jemanden Programmieren beibringe.

Grad als dus geschrieben hast, hatte ich es doch geschafft^^ Jetzt setzt ich mich dran, dass Ding so umzucoden, dass es den normalen rechenregeln folgt und taste mich dann langsam an Potenzen ran.
Danke trotzdem :D

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Funktionen berechnen

Beitrag von Xin » Sa Mär 12, 2011 6:24 pm

MoonGuy hat geschrieben:Grad als dus geschrieben hast, hatte ich es doch geschafft^^ Jetzt setzt ich mich dran, dass Ding so umzucoden, dass es den normalen rechenregeln folgt und taste mich dann langsam an Potenzen ran.
Danke trotzdem :D
Wenn Du einen Baum siehst, ist die Wurzel oben oder unten?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten