Ŀ Ver 3.1 - "Taschenrechner" fr Atari-Portfolio (und andere PCs) (c) 1991,92,93 Martin Mhlhaus Folgende Dateien gehren zu MMCalc: ----------------------------------- MMCALCPF.EXE Programm fr Atari-Portfolio (normaler PC strzt bei einigen Optionen ab!) MMCALCPC.EXE Programm fr 8086-er und aufwrts, Koprozessor wird untersttzt. MMCALCW.EXE Programm fr Windows 3.X, Koprozessor wird untersttzt. MMCALCW2.EXE Programm fr Windows 3.X, fr Rechner ohne Koprozessor, bzw. solche bei denen Probleme mit MMCALCW auftreten. MMCALC.HLP Hilfe-Datei fr Windows MMCALC.DOC Diese Programmbeschreibung (Druck: TYPE MMCALC.DOC>PRN<) PARABEL.CLC \ Beispieldatei mit zugehrigem Makro, PARABEL.RUN / berechnet die Parameter einer Parabel BIO.CLC \ Beispieldatei mit zugehriger Dokumentation, BIO.DOC / erstellt Biorhytmus-Kurven Vorgeschichte in Stichpunkten: - als Ingenieur brauche ich einen Taschenrechner - der im Folio eingebaute "Rechner" ist fr meine Zwecke %&!!@?.. - zustzlich 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 - Erweiterungen auf Version 2.0, 2.1, 3.0 und 3.1 (PC + Folio) - Windows-Version 1.0 (entspricht 3.1) - 2 - Grundstzliche Bedienung ------------------------ Die Bedienung des Programms ist einfach: Beim Prompt "[d]" gibt man die Berechnung ein, Return liefert das Ergebnis. Bei der Ermittlung des Ergebnisses wird die bliche Rangfolge der Operatoren eingehalten: ^, * /, + -. Beispiel: [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 Oper.: +,-,*,/,^ Konst.: pi,e | | Fun.: sin,cos,tan,asin,acos,atan,ln,sqrt | | abs,sgn,int,frac,rnd,min[max](x,y) | | if(A [=,<,>,<=,>=,<>] A, A-w, A-f) | | Var.: max 4 Zeichen, letztes Erg.: LE | | Bef: "v" Var-Liste, "XX=" Var-Lschen | | "XX=..." Var-Zuweisung | | "r(d,g)" Setzen von rad, deg, gon | ------------------------------------------ Der Hilfetext ist auch durch drcken der F1-Taste bzw auf dem Port- folio der Atari(/|\)-Taste aufrufbar. 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 heit, da whrend der Rechner luft 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. Die Standardfunktionen: (Funktionen mit einem Parameter) SIN(x) sinus von x SQRT(x) Quadratwurzel von x COS(x) cosinus von x ABS(x) Absolutbetrag von x TAN(x) tangens von x SGN(x) Vorzeichen von x ASIN(x) \ Umkehrfunk- INT(x) ganzzahliger Teil von x ACOS(x) > tionen zu FRAC(x) nicht ganzzahl. Teil von x ATAN(x) / sin,cos,tan RND(x) x, auf ganzzahlig gerundet LN(x) nat. Log. von x ?2?(x) ?=d/g/r Grad-Konvertierung - 3 - Andere Wurzeln, als die Quadratwurzel knnen ber die Potenzfunktion berechnet werden: dritte Wurzel: x^(1/3) ( Quadratwurzel: x^(1/2), entspricht SQRT(x) ) Sonderfunktionen: MIN(x,y) gibt den kleineren der Werte x und y zurck MAX(x,y) gibt den greren der Werte x und y zurck IF(V,A,A) siehe spter Konstanten: E Basis der Exponentialfunktion PI Kreiszahl Weitere Mglichkeiten (, die weit ber die Fhigkeiten eines --------------------- "normalen" Taschenrechners hinausgehen) - Definieren von Funktionen: Analog zu der aus dem Hilfetext ersichtlichen Vorgehensweise bei der Definition von Variablen knnen Funktionen definiert werden. Die Hchstzahl betrgt jeweils 20 Stck. Es sind maximal 3 Parameter zulssig, die durch Kommas zu trennen sind. Funktions- Variablen- und Parameternamen drfen aus maximal 4 Zeichen bestehen, mssen mit einem Buchstaben beginnen und drfen am Ende auch Ziffern enthalten (richtig: ULI, wert, Wer2, we23. falsch: 23, W2e). Funktionen ohne Parameter sind ebenfalls mglich, haben jedoch nur dann einen Sinn, wenn sie auf eine oder mehrere Variablen zugreifen (z.B.: wert()=(w1+w2+w3)*4/w4). Beispiel: [d] schn(w1,w2)=(w1+w2)/2 < (definieren) [d] 5+schn(2,3) < (verwenden) 7.5 (Ergebnis) [d] schn()= < (lschen) [d] 5+schn(2,1) < (nicht mehr definiert) Fehler: unbekannte Funktion Alle definierten Funktionen knnen 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. "(Gnsefchen) nachgestellt, der x-Wert wird als Parameter bergeben. Beispiel: [d] f1(x)=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 betrgt 0.001 - siehe auch "Betriebsparameter") - 4 - - Berechnung der wahren Lnge eines Graphen: Diese Option arbeitet analog der Ableitungen, dem Funktionsnamen wird jedoch anstatt der Gnsefchen eine Schlange (~) nachgestellt. Ausgegeben wird das Verhltnis von Graphenlnge zu "x"-Unterschied (dx). Die Lnge eines Graphen zwischen zwei Punkten erhlt man dann durch integrieren. Beispiel: [d] f1(x)=sqrt(16-x^2) < (Kreis mit r=4) [d] s=4*cos(45) < 2.8284271 [d] lnum=$f1~(-s,s) < (Lnge-Viertelkreis) 6.2832822 [d] wahr=4*pi/2 < (Kontrolle) 6.2831853 [d] (lnum-wahr)/wahr*100 < (Abweichung in %) 0.0015422 - 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(x)=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 betrgt 20) - Berechnung von Nullstellen: (nur fr Funktionen mit genau einem Parameter) Diese Option eignet sich besonders zur Lsung nichtlinearer Gleichungen mit einer Unbekannten. Fr eine Nullstellenberechnung wird der Funktion ein "%" vorange- stellt, 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)=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 knnen eingestellt werden. Standardwerte: \n = 10, \e = 0.0001) - 5 - - 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) - IF-Funktion: Diese Funktion erlaubt es, anhand einer Vergleichsoperation die An- wendung zweier verschiedener Formeln zu steuern. Syntax: IF(Ausdr. Vergl.-oper. Ausdr, Formel-"wahr", Formel-"falsch") Beispiel: Es soll das Idealgewicht einer Person anhand der Krpergre berech- net werden. Die Funktion hat die Eingangswerte Gre (groe) und "Frau oder Mann" (frau), wenn es sich um eine Frau handelt, soll 1 einge- geben werden, bei einem Mann 0. [d] idgw(groe,frau) = (groe-100)*if(frau=1,0.85,0.9) < [d] idgw(180,1) < 68 [d] idgw(180,0) < 72 - Verschachtelungsmglichkeit: Die bisher beschriebenen Ausdrcke knnen 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). - Wiederverwendung der letzten 5 Eingabezeilen: ber die "nach oben" und "nach unten" -Cursortasten ist es mglich, eine der letzten 5 Eingaben zum erneuten Editieren zurckzuholen. - LIST-Befehl: Hinweis: alle "Befehle" knnen 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. - 6 - Beispiel: [d] f1(x)=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) < --------------------------------------------- | | .----. 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 knnen verwendet werden, wenn zuvor ein CGA-Emulator geladen wird (Auf der Diskette vorhanden: Treiber laden: SIMCGA, Umschaltungen: SETCGA bzw SETMONO). 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: Ermglicht das Editieren bereits eingegebener Funktionen. Die Eingabe von "edfu f1" bringt die Definition von F1 zum Editieren auf den Bildschirm. Whrend des Editierens kann man durch Drcken der ESC-Taste jederzeit den ursprnglichen Text zurckholen. <(Enter) schliet die nderung ab. - SAVE-Befehl: Der augenblickliche Status des Rechners kann jederzeit in eine Datei abgespeichert werden. - 7 - Gesichert werden dann folgende Einstellungen: - die Variablen - die definierbaren Funktionen - die vier Einstellungen \h, \i, \e und \n, sofern es nicht die Originalwerte sind - der Modus fr trigonometrische Berechnungen (deg-rad-gon), wenn ein anderer Modus als "deg" gesetzt ist - der aktuelle Hilfe-Bildschirm, falls es nicht der Standard- Hilfetext ist(siehe HEDI-Befehl) 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" angehngt. - HEDI-Befehl: Nach Aufruf von HEDI (von HelpEDIt) kommt der Hilfe-Bildschirm und kann gendert werden. Mit Hilfe der Cursortasten und der Tasten Pos1, Ende, Bild^, Bildv und <- kann man sich auf dem Bildschirm bewegen. Zum Lschen einer Zeile wird die Tastenkombination Strg-Y verwendet. Der Editiermodus wird durch ESC oder < beendet, wobei bei ESC die nderungen nicht gespeichert werden. Der HEDI-Befehl hat den Sinn, zu einer mit SAVE abgespeicherten Formelsammlung auch einen zugehrigen Erluterungsbildschirm zur Verfgung zu haben. - LOAD-Befehl: ber diesen Befehl wird ein gespeicherter Status zurckgeladen. Syntax und Eigenschaften analog SAVE-Befehl. Bei Anwendung dieses Befehls bleiben die im Augenblick definierten bzw. geladenen Funktionen und Variablen erhalten, d.h. die in der Datei befindlichen werden zustzlich abgelegt. Bei Namensgleichheit wird die alte Funktion/Variable berschrieben. Falls die zu ladende Datei einen Hilfetext enthlt und der aktuelle Hilfetext nicht der originale ist, wird vor dem Laden nachgefragt. - DELF, DELV, DEL\ und DELH-Befehl: Wenn vor dem Laden neuer Variablen, Funktionen und Einstellungen die alten global gelscht werden sollen, so ist dies durch folgende Befehle mglich: - DELF lscht alle Funktionen - DELV lscht alle Variablen - DEL\ setzt alle Einstellungen zurck - DELH setzt den Hilfetext zurck auf die Original-Hilfe - INIT-Befehl: Hat dieselbe Wirkung wie alle DEL?-Befehle zusammen. - 8 - - Initialisierung des Rechners: Es ist mglich, 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 Piq=pi^2 DrAb(x)=(F"(x-.01)-F"(x+.01))/.02< (Start aus der Dos-Ebene, wobei - der Rechenmodus auf "Radiant" geschaltet wird - Piq mit 9.86... belegt wird - DrAb als dritte Ableitung von Fu vordefiniert wird) Diese Initialisierung geschieht sinnvollerweise ber Batchfiles, die die jeweilige Eingabezeile enthalten. - Mglichkeit der Abschaltung von Meldungen: Durch Eingabe von "M" werden "unntige" Meldungen abgeschaltet. Auerdem wird von der editierbaren Eingabezeile auf die Dos-Standard- eingabe umgeschaltet. Dies kann dann sinnvoll sein, wenn die Umleitungsmglichkeiten von DOS verwendet werden. Nicht dargestellt werden dann die Startmeldung, das Prompt und die "mehr..."-Meldungen bei Verwendung von LIST. Auer- dem ist der Hilfe-Aufruf ber F1 bzw. /|\ nicht Hilfe mehr mglich. Beispiel: c:\>mmcalc m f1(x)=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- schlieend sofort verlassen.) ....der Drucker arbeitet.... c:\> Es ist auch mglich, 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 !! - Drucken: Neben der weiter oben im Beispiel gezeigten Mglichkeit der Umlei- tung der Ausgabe auf den Drucker gibt es noch eine wesentlich ein- fachere Variante: Der Rechner verfgt ber eine eigene Druckroutine, die der MS-DOS- Druckerecho-Option (Ctrl-P) sehr hnlich ist, bei der jedoch Drucker- fehler nicht zum Programmabsturz fhren. Solange nicht durch "m" auf DOS-Standardeingabe umgeschaltet wurde, kann mit dem Tastenkrzel Ctrl-P (bzw. Strg-P) das programmeigene Druckerecho aktiviert werden. Durch ein weiteres Ctrl-P wird der Modus wieder ausgeschaltet. - 9 - Geben Sie zum Ausprobieren folgendes Beispiel ein: (als erstes mssen Sie natrlich den Drucker ein- und OnLine schalten) - [d] list sin(-100,100,10) (ohne <) - Ctrl-P (Tastenkombination) - < (Return) ... (jetzt erfolgt die Ausgabe auf Bildsch. und Drucker) ... - Ctrl-P (Tastenkombination) - [d] ..... (normal weiterarbeiten) Wenn nach dem Drcken von Ctrl-P nur noch die Eingabetaste gedrckt wird, dann wird die augenblickliche Eingabezeile nicht gedruckt (siehe Beispiel). Das Ausschalten geschieht mit sofortiger Wirkung. Wenn durch "m" auf DOS-Standardeingabe umgeschaltet wurde, kann bei der PC-Version das MS-DOS-Druckerecho benutzt werden(ohne Abfangung von Druckerfehlern), das Portfolio-Betriebssyetem untersttzt diese Option jedoch nicht. - Dateiformat der gespeicherten Daten: Im Gegensatz zu den frheren Programmversionen wird jetzt in normalem Textformat abgespeichert, und zwar genauso, wie Sie Eingaben machen wrden. Einzige Besonderheit ist der Hilfetext: Er wird durch eine Zeile eingeleitet, in der "[HILFE]" steht. Danach mssen genau 8 Zeilen mit je maximal 40 Zeichen folgen, wobei auch Leerzeilen erlaubt sind. Sie knnen die Dateien in jedem Editor oder Textprogramm bearbeiten bzw. erstellen, wobei Sie bei Textprogrammen darauf achten mssen, da keine Formatierunsdaten mit abgespeichert werden (Beim Portfolio mu zum Beispiel der Wortumbruch abgeschaltet werden). Von lteren Programmversionen gespeicherte Dateien knnen nicht un- mittelbar gelesen werden. Jedoch ist mit einem kleinen Trick eine re- lativ schnelle Konvertierung mglich: - starten Sie die alte Programmversion mit Umleitung in eine Datei, z.B.: c:\> MMCALC > NEU.CLC < - laden Sie die zu konvertierende Datei - listen Sie je nach Bedarf die Funktionen, Variablen und Ein- stellungen auf - beenden Sie das Programm Whrend dieser Schritte haben Sie keine Bildschirmausgaben erhalten, da diese in eine Datei(im obigen Beispiel NEU.CLC) umgeleitet worden sind. Genau diese Datei knnen Sie nach einer kleinen Nachbearbeitung mit einem Editor oder Textprogramm mit der neuen Programmversion verwenden. Die alten Bezeichner (M?, F?, X, X, Z) knnen Sie fr die neue Version evtl. durch Namen (bis 4 Zeichen, s.o.) ersetzen. - Der Makro-Trick: Die Arbeitsweise des LOAD-Befehls ist, da aus einer Datei Eingabe- zeilen gelesen werden, die das Programm dann abarbeitet. Der SAVE- Befehl hat also vorher genau die Eingaben in der Datei abgelegt, die ntig sind, um den augenblicklichen Status wiederherzustellen. - 10 - Dank dieser Umstnde ist es mglich, den LOAD-Befehl zum Starten von Makros zu verwenden. Schreiben mssen Sie die Makros allerdings mit einem Editor oder Textprogramm, da dies mit MMCalc nicht mglich ist. Als Beispiel habe ich PARABEL.CLC und das zugehrige Makro PARABEL.RUN auf die Diskette kopiert. In PARABEL.CLC befinden sich die Parabel- funktion, die Variablen und der Hilfetext, PARABEL.RUN enthlt die notwendigen Formeln. Zur Windows-Version ------------------- - Installation: Kopieren Sie Programmdatei, Hilfedatei und Beispieldateien in ein beliebiges vorhandenes oder neuerstelltes Verzeichnis. Fgen Sie MMCALC im Programm-Manager in eine Gruppe ein: "Datei - neu - Programm - durchsuchen - MMCALCW.EXE" - Fr die teilweise etwas andere Bedienung der Windows-Version schauen Sie sich bitte die entsprechende Hilfe an (Men: Hilfe-Rechner) Viel Spa bei der Benutzung wnscht Martin Mhlhaus PS.: Wenn Ihnen Das Programm genausogut gefllt wie mir, und wenn Sie es nach einer gewissen "Testzeit" weiterbenutzen wollen, dann berweisen Sie mir bitte einen angemessenen Betrag auf das unten genannte Konto. Der "angemessene" Betrag richtet sich nach Ihren finanziellen Verhltnissen, ein(e) Ingenieur(in) wrde z.B. DM 50,- zahlen. (Schler und Studenten, die knapp bei Kasse sind, betrachten das Programm bitte als Geschenk). Bei Update-Bestellungen rechnen Sie bitte bisher bezahlte Betrge an und beachten bitte meine unmittelbaren Unkosten (Porto, Verpackung, Diskette, Zeit etc.) von ca. DM 10,-. Bitte teilen Sie mir auch mit, welche Version (Nr. und Portf./PC/ Windows) sie verwenden, woher Sie das Programm haben und welches Diskettenformat sie im Falle einer Update-Bestellung wnschen. Als so registrierter Anwender werden Sie bei Erscheinen eines Updates informiert (Adresse nicht vergessen !). Auerdem entfallen durch Eingabe einer Codenummer, die Sie von mir erhalten werden bei der PC- und der Windows-Version die Erinnerungen an die noch nicht erfolgte Registrierung. Bei der Portfolio-Version habe ich die Erinnerungen weggelassen, um etwas vom knappen Speicher- platz zu sparen - ich hoffe, Sie registrieren trotzdem. Kto.: Postgiro Mnchen, Kto.Nr. 323134-806, BLZ 70010080 Adr.: Martin Mhlhaus, Pestalozzistr. 50, 8000 Mnchen 5 Geben sie das Programm (inkl. dieser Anleitung) weiter, denn dies ist der hauptschliche Verbreitungsweg ! Garantie und Haftung: wie bei jeder anderen Software - keine