MMCalc 2.1 - "Taschenrechner" fr Atari-Portfolio (und andere PCs) ------------------------------------------------------------------ Folgende Dateien geh”ren zu MMCalc: MMCALC.EXE Programm fr alle Rechner inkl. Atari-Portfolio MMCALCPC.EXE Programm fr 286-er und aufw„rts, Koprozessor wird untersttzt. MMCALC.DOC Diese Programmbeschreibung Vorgeschichte in Stichpunkten ----------------------------- - als Ingenieur brauche ich einen Taschenrechner - der im Folio eingebaute "Rechner" ist fr meine Zwecke %&!!@?.. - zus„tzlich zum Folio einen weiteren Rechner rumzuschleppen ist auch %&!!@? - Ein fertiges Programm in dieser Art habe ich nicht gefunden - In den Weihnachtsfeiertagen 1990 habe ich dann in den sauren Apfel gebissen und in Turbo-Pascal das Programm MMCalc geschrieben - voil… - alles paletti ! - Erweiterungen auf Version 2.0 und 2.1 Grunds„tzliche Bedienung ------------------------ Die Bedienung des Programms ist einfach: Beim Prompt "[d]" gibt man die Berechnung ein, Return liefert das Ergebnis. Bei edr Ermittlung des Ergebnisses wird die bliche Rangfolge der Operatoren eingehalten: ^, * /, + -. Zur Erl„uterung der Syntax eine Beispiel-Berechnung: [d] sin(45)*(2+pi)/sqrt(4^2)-acos(pi/4) <Ù -37.3335677 Die Eingabezeile kann editiert werden. Der Kleinbuchstabe im Prompt zeigt den aktiven Modus fr trigonometrische Berechnungen an. Bei Eingabe von "?" und Return erscheint folgender Hilfetext: (bei der PC-Version umfangreicher) - Hilfe ------------------------------ Operatoren: +,-,*,/,^ Konstanten: pi,e Funkt.: sin,cos,tan,asin,acos,atan,ln sqrt,abs Variablen: M0(letztes Ergebnis),M1..M9 Bef: "=" Var-Liste, "M?=" Var-L”schen "M?=.." Var-Zuweisung "r(d,g)" Setzen von rad, deg, gon Wenn die Eingabe mit einem der Operatoren begonnen wird, so wird mit dem letzten Ergebnis weitergerechnet. Das bedeutet allerdings auch, daá ein negativer Wert am Anfang der Eingabezeile eingeklam- mert werden bzw. die Eingabezeile mit einem Leerzeichen begonnen werden muá. Der Rechner kann problemlos durch eine der eingebauten Portfolio- anwendungen(Adressbuch, Terminkalender etc.) "berladen" werden. Das heiát, daá w„hrend der Rechner l„uft ber "Atari-Taste + Buch- stabe" ein Portfolio-Programm gestartet werden kann. Nach Beendigung dieses Programms landet man wieder in MMCALC. Durch Eingabe von "e" wie Ende wird das Programm beendet. Weitere M”glichkeiten (, die weit ber die F„higkeiten eines --------------------- "normalen" Taschenrechners hinausgehen) - Definieren von Funktionen: Analog zu den Speichern(M[1..9]) k”nnen Funktionen(F[0..9]) definiert werden. Es sind maximal 3 Parameter zul„ssig, also (x), (x,y) oder (x,y,z). Funktionen ohne Parameter sind ebenfalls m”glich, haben jedoch nur dann einen Sinn, wenn sie auf eine oder mehrere Variablen zugreifen (z.B.: f1=(m1+m2+m3)*4/m4 ). Beispiel: [d] f1=x+x^2+y <Ù (definieren) [d] 5+f1(2,1) <Ù (verwenden) 12 (Ergebnis) [d] f1= <Ù (l”schen) [d] 5+f1(2,1) <Ù (nicht mehr definiert) Fehler: ungltige Funktion Alle definierten Funktionen k”nnen durch f= <Ù aufgelistet werden. - Berechnung von Ableitungen: (nur fr Funktionen mit genau einem Parameter, auch vordefinierte wie z.B. "sin" oder "ln"). Fr die erste bzw. zweite Ableitung wird der Funktion ein '(Hochkomma) bzw. "(G„nsefáchen) nachgestellt, der x-Wert wird als Parameter bergeben. Beispiel: [d] f1=x+x^2 <Ù [d] 5+f1'(2) <Ù 10 [d] 5+f1"(2) <Ù 6.9999934 (Zur Bildung der Ableitung werden die Funktionswerte im Abstand von \h vom angegebenen X-Wert berechnet. \h kann eingestellt werden, der Standardwert betr„gt 0.001) - Berechnung von Integralen: (nur fr Funktionen mit genau einem Parameter) Fr eine Integralberechnung wird der Funktion ein "$" vorangestellt, die Integrationsgrenzen werden als Parameter bergeben. Beispiel: [d] f1=2*x^2 <Ù [d] 5+$f1(0,2) <Ù 10.3333333 [d] 5+$f1'(0,2) <Ù (Integral der Ableitung) 13 (Das Integral wird nach der Simpson-Regel mit \i Abschnitten berech- net. \i kann eingestellt werden, der Standardwert betr„gt 20) - Berechnung von Nullstellen: (nur fr Funktionen mit genau einem Parameter) Diese Option eignet sich besonders zur L”ung nichtlinearer Gleichungen mit einer Unbekannten. Fr eine Nullstellenberechnung wird der Funktion ein "%" vorangestellt, der Untersuchungsbereich wird in 2 Parametern bergeben. Die Suche beginnt beim ersten und endet beim zweiten Parameter. Ausgegeben wird die erste gefundene Nullstelle. Beispiel: [d] f1=x^2-1 <Ù [d] %f1(0,2) <Ù 1 [d] %f1(-2,2) <Ù -1 (Die Grobsuche findet in \n Abschnitten statt, die Feinermittlung hat eine Genauigkeit besser als \e. \n und \e k”nnen eingestellt werden. Standardwerte: \n = 10, \e = 0.0001) - Verschachtelungm”glichkeit: Die bisher beschriebenen Ausdrcke k”nnen beliebig in Berechnungen eingebaut bzw. ineinander verschachtelt werden. Beispiel: [d] f1=x+x^2-2+x^3 <Ù [d] f2=$f1(0,x) <Ù [d] m1=%f2(0.1,5) <Ù 1.3863 Statt einer Zahl kann immer auch eine Formel eingegeben werden (siehe Beispiel zum DRAW-Befehl). - Žndern der Voreinstellungen: Die aktiven Einstellungen werden durch \= <Ù aufgelistet. Eine Žnderung geschieht durch Zuweisung eines neuen Wertes. Beispiele: [d] \e=0.00001 <Ù (Nullstellen auf 5 Stellen hinter dem Komma genau) [d] \i=40 <Ù (Integration in 40 Abschnitten) - Wiedervewendung der letzten 4 Eingabezeilen: šber die "nach oben" und "nach unten" -Cursortasten ist es m”glich, eine der letzten 4 Eingaben zum erneuten Editieren zurckzuholen. - LIST-Befehl: Hinweis: alle "Befehle" k”nnen natrlich nicht in Berechnungen eingebaut werden. (nur fr Funktionen mit genau einem Parameter) Die Funktionswerte der angegebenen Funktion werden im Bereich vom ersten bis zum zweiten Parameter ausgegeben, die Schrittweite wird im dritten Parameter angegeben. Beispiel: [d] f1=x^2 <Ù [d] list f1'(-4,4,2) <Ù -4 -8 -2 -4 0 0 2 4 4 8 Bei mehr als 7(bei der PC-Version 24) Werten wird die Auflistung nach jeweils 7(24) Werten unterbrochen, wonach jeweils RETURN gedrckt werden muá. - DRAW-Befehl: (nur fr Funktionen mit genau einem Parameter) Die Funktionswerte der angegebenen Funktion werden im Bereich vom ersten bis zum zweiten Parameter graphisch dargestellt. Beispiel: [d] r <Ù [r] draw sin(-pi/2,pi/2) <Ù --------------------------------------------- | | .----. X-LI: | | | / \ -1.5707963 | | | / \ X-RE: | | ________|/________________\ 3.1415927 | | /| Y-MIN: | | / | -1 | | / | Y-MAX: | |--ø | 0.9999313 | --------------------------------------------- (Die Grafik kommt natrlich im Grafikmodus) Hinweise: Die Grafik funktioniert nur auf dem Portfolio und auf Rechnern mit 100%'ig CGA-kompatibler Grafikkarte (CGA, EGA, VGA). Auch Hercules-Karten k”nnen verwendet werden, wenn zuvor ein CGA-Emulator geladen wird. Das Zeichnen von Ableitungen und insbesondere von umfangreicheren Integralfunktionen kann auf dem Portfolio einige Zeit dauern, da z.B. beim Zeichnen einer Integralfunktion die Ursprungs-Funktion ca. 3000 mal ausgewertet werden muá. - EDFU-Befehl: Erm”glicht das Editieren bereits eingegebener Funktionen. Die Eingabe von "edfu (2)" bringt die Definition von F2 zum Editieren auf den Bildschirm. W„hrend des Editierens kann man durch Drcken der ESC-Taste jederzeit den ursprnglichen Text zurckholen. <Ù(Enter) schlieát die Žnderung ab. - SAVE-Befehl: Der augenblickliche Status des Rechners kann jederzeit in eine Datei abgespeichert werden. Gesichert werden dann folgende Einstellungen: - die Speicher M0 bis M9 - die Funktionen F0 bis F9 - die vier Einstellungen \h, \i, \e und \n - der Modus fr trigonometrische Berechnungen (deg-rad-gon) Beispiel: [d] save c:\rechner\hallo <Ù [d] der Status wurde nun in der Datei "hallo.clc" im Ver- zeichnis "c:\rechner" gesichert. Wird kein Pfad angegeben, dann gilt das aktuelle Verzeichnis. Wird keine Dateinamenserweiterung angegeben (wie im Beispiel), dann wird vom Programm ".clc" angeh„ngt. - LOAD-Befehl: šber diesen Befehl wird ein gespeicherter Status zurckgeladen. Syntax und Eigenschaften analog SAVE-Befehl. - Initialisierung des Rechners: Es ist m”glich, dem Rechner schon beim Programmaufruf Anweisungen zur Abarbeitung zu bergeben. Die einzelnen Anweisungen werden, ge- trennt durch Leerzeichen, hinter den Programmnamen geschrieben. Falls keine Fehler auftreten, erscheinen keine Meldungen. Beispiel: c:\>mmcalc r m3=pi^2 f9=(f1"(x-0.01)-f1"(x+0.01))/0.02 <Ù (Start aus der Dos-Ebene, wobei - der Rechenmodus auf "Radiant" geschaltet wird - M3 mit 9.86... belegt wird - F9 als dritte Ableitung von F1 vordefiniert wird) Diese Initialisierung geschieht sinnvollerweise ber Batchfiles, die die jeweilige Eingabezeile enthalten. - M”glichkeit der Abschaltung von Meldungen: Durch Eingabe von "M" werden "unn”tige" Meldungen abgeschaltet. Auáerdem wird von der editierbaren Eingabezeile auf die Dos-Standard- eingabe umgeschaltet. Dies kann dann sinnvoll sein, wenn die Umleitunsm”glichkeiten von DOS verwendet werden. Nicht dargestellt werden dann die Startmeldung, das Prompt und die "mehr..."-Meldungen bei Verwendung von LIST. Beispiel: c:\>mmcalc m f1=x^2+x/3+pi*x listf1(-10,10,1) e >prn <Ù (Aufruf aus der DOS-Ebene: Eine Liste der Funktionswerte der Funktion f1(x)=x^2+x/3+pi*x wird ohne sonstige Meldungen auf dem Drucker ausgegeben. Das Programm wird an- schlieáend sofort verlassen.) ....der Drucker arbeitet.... c:\> Es ist auch m”glich, das Programm aus einer Datei zu "fttern", und die Ergebnisse in eine andere Datei schreiben zu lassen. Beispiel: c:\>mmcalc m aus.dat <Ù Achtung! In EIN.DAT darf man das "e" in der letzten Zeile nicht vergessen, da ja die Tastatur abgeschaltet wird !! Hinter dem Programmnamen muá als erstes der Parameter "m" angegeben werden um auf Dos-IO umzuschalten !! Viel Spaá bei der Benutzung wnscht Martin Mhlhaus PS.: Wenn Ihnen Das Programm genausogut gef„llt wie mir, und wenn Sie das honorieren wollen, dann drfen Sie DM 20.- an mich berweisen. Sie werden dann als registrierter Anwender bei Erscheinen eines Updates informiert (Adresse nicht vergessen !). Kto.: Postgiro Mnchen, Kto.Nr. 323134-806, BLZ 70010080 Adr.: Martin Mhlhaus, Pestalozzistr. 50, 8000 Mnchen 5