Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.077 Beiträge
 
Delphi XE2 Professional
 
#46

Re: Rechenprogramm

  Alt 28. Jul 2009, 09:22
Ich habe eine neue Version des Rechenprogramms in #1 gestellt.
Wie schon im vorigen Beitrag angedeutet, habe ich den Teil, der Ausdrücke auswertet komplett überarbeitet. Ich gehe davon aus, daß ich den einen oder anderen Bug noch nicht gefunden habe......


Die im .zip file enthaltenen .dcu Dateien
parser_base.dcu
parser_parse.dcu
parser_errors.dcu
können in eigene Programme eingebunden werden.
Näheres hierzu steht im Helpfile unter "Einbinden in eigene Programme".

Änderungen des Parsers

Funktion RSum
Die Funktionen, die Listen verarbeiten können, wurden ergänzt
um die Funktion RSum(a,b,c,...) die die Summe der Quadratwurzeln
ermittelt.

Funktionen FMin, FMax, FAvg, FSum, FMul, FQSum und FRSum
In Anlehnung an die Funktionen Min, Max, Avg, Sum, Mul, QSum und RSum wurden
die Funktionen FMin, FMax, FAvg, FSum, FMul, FQSum und FRSum implementiert.
Ein Beispiel :
FSum( a, b, 1 / x ! )
gibt die Summe aus 1/a! + 1/(a+1)!, +..., + 1/b! zurück
Zum Beispiel FSum(0,20,1/x!) errechnet e (2,718...)
Die ersten beiden Parameter sind Integerzahlen im Bereich 0 bis 2^31-1, der dritte Parameter ist ein beliebiger Ausdruck, der eine Variable (x) enthalten muß (soll).
x wird dann von a bis b hochgezählt und der Ausdruck mit diesem Wert von x ausgewertet.
Aus den Ergebnissen der Ausdrücke wird dann die Summe gebildet (oder das Minimum, Maximum etc. bei den anderen Fxx-Funktionen)

Funktion Ord
Die Funktion Ord(x) wurde implementiert.
Innerhalb der () muß genau 1 Zeichen stehen, dessen numerischer Wert zurückgegeben wird. Das Zeichen steht nicht in Anführungszeichen und es kann auch das "(" oder ")" sein. Ord(() und Ord()) (auch wenn's bescheuert aussieht) sind gültige Ausdrücke, die 40 bzw 41 als Resultat liefern.
Das Gegenstück zu Ord, also Chr ist hier nicht als Funktion implementiert, aber als Ausgabeoption vorhanden. Zum Beispiel Chr 65 oder )65 gibt ein A aus.

Funktion Erase
Die Funktion Erase(name, name, ... ) wurde implementiert.
Die Parameterliste enthält beliebig viele, durch Kommas voneinander getrennte Namen von Variablen, die gelöscht werden sollen.
Ist die Parameterliste leer, werden alle Variablen gelöscht.
Die Anzahl gelöschter Variablen wird als Resultat zurückgegeben.

Funktionen EqC und EqE
Die Funktionen EqC und EqE zum lösen von Gleichungen erster bis vierter Ordnung wurden implementiert.
Beispiel:
EqE( 2x² + 2x - 12 ) ergibt 2
EqE( 2x² + 2x - 12, #2 ) ergibt -3 (die zweite mögliche Lösung)
Bei der Funktion EqC wird nicht der Text der Gleichung eingegeben, sondern nur die Koeffizienten.
EqC( 2, 2, - 12 ) ergibt 2
EqC( 2, 2, - 12, #2 ) ergibt -3 (die zweite mögliche Lösung)

Ergebnisse ins Clipboard kopieren
Eine Zeile kopieren:
Rechtsklick in Zeile kopiert diese Zeile ins Clipboard.
Mehrere Zeilen kopieren:
In erste zu kopierende Zeile zeigen. Rechte Mousetaste drücken. Zeiger mit gedrückter rechter Mousetaste in letzte zu kopierende Zeile ziehen. Mousetaste loslassen.
Wenn dezimale-, hexadezimale-, binäre Zahlen oder Zahlen mit anderer Basis Trennzeichen wie Kommas oder Blanks enthalten, werden diese entfernt, es sei denn, beim loslassen der rechten Mousestaste ist die Shift-Taste gedrückt.
Alle Zeilen kopieren : Strg-A bzw Shift-Strg-A drücken

Die Bedeutung von @ und # wurden vertauscht
also
# steht für das Resultat der vorigen Zeile
#x steht für das Resultat von Zeile x (wobei x eine Folge von Ziffern ist)
#-x steht für das Resultat aus Zeile (aktuelle Zeile - x)
x@Ziffern = Zahl mit der Basis x
Warum die Änderung?: Weil ich registriert habe, daß ich oft und gern auf die Ergebnisse vorheriger Zeilen zugreife und # leichter zu tippen ist als @

Für Div und Mod
wurden die Namen der Operatoren geändert
Div (bzw. " \ ") ist das frühere IDiv (bzw. " \\ ")
RDiv (bzw. " \\ ") ist das frühere Div (bzw. " \ ")
Mod (bzw. " | ") ist das frühere IMod (bzw. " || ")
RMod (bzw. " || ") ist das frühere Mod (bzw. " | ")
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat