home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-02-27 | 80.6 KB | 3,044 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CHEMCALC
-
-
-
-
- Version 1.9
-
-
-
-
-
-
-
- DAS Taschenrechner-Accessory für Chemiker
-
- Autor: Lothar Buchen
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Inhalt
-
-
-
- 1. Allgemeines.............................................5
- 2. Bedienung...............................................9
- 2.1 Bedienungselemente......................................9
- 2.1.1 Die Anzeige.............................................9
- 2.1.2 Tasten..................................................9
- 2.2 Rechnen................................................11
- 2.2.1 Einfache Rechnungen....................................11
- 2.2.2 Funktionen.............................................12
- 2.2.2.1 Übersicht..............................................12
- 2.2.2.2 Trigonometrische Funktionen............................13
- 2.2.2.3 Koordinatentransformation..............................14
- 2.2.2.4 Tage zwischen zwei Daten...............................15
- 2.2.2.5 Kombinatorik...........................................16
- 2.2.2.6 Binominalverteilung....................................19
- 2.2.2.7 Poissonverteilung......................................20
- 2.2.2.8 Molmassenbestimmung....................................21
- 2.2.3 Formeln speichern......................................26
- 2.2.4 Statistische Berechnungen..............................27
- 2.2.4.1 Berechnung der Standardabweichung......................27
- 2.2.4.2 Lineare Regression.....................................29
- 2.2.5 Einheiten umrechnen....................................31
- 2.2.6 Naturkonstanten........................................31
- 2.2.7 Punktgruppen...........................................33
- 2.3 Weitere Befehle........................................36
- 2.3.1 Rundungsarten..........................................36
- 2.3.2 Betriebsarten..........................................36
- 2.3.3 Rechnen mit anderen Zahlensystemen.....................39
- 2.4 Erweiterungen..........................................41
- 3. Zusatzaccessories......................................43
- 3.1 Perioden-System........................................43
- 3.2 Chemie-Daten...........................................44
- 3.3 Handbook...............................................45
- 3.3.1 Allgemeines............................................45
- 3.3.2 Desk...................................................45
- 3.3.3 Datei..................................................46
- 3.3.4 Edit...................................................46
- 3.3.4.1 Eingeben...............................................46
- 3.3.4.2 Ändern.................................................47
- 3.3.4.3 Block markieren........................................47
- 3.3.4.4 Suchen.................................................48
- 3.3.5 Optionen...............................................48
- 3.3.5.1 Sortieren..............................................48
- 3.3.5.2 Chemcalc-Module anmelden, abmelden ...................48
- 3.3.5.3 Default-Datei anmelden.................................48
- 3.3.5.4 Ziffernblock einstellen................................49
- 3.4 Handbook+..............................................50
- 3.5 Komplexe...............................................51
- 3.6 Patch..................................................51
- 4. Einzelheiten für Programmierer.........................53
- 4.1 Allgemeines............................................53
- 4.2 Das Nachrichtensystem..................................53
- 4.2.1 Ablauf des Dialoges....................................53
- 4.2.2 Aufbau der Nachrichten.................................57
- 4.3 CHEMCALC als Programmerweiterung.......................61
- 4.3.1 Konstanten von Hand berechnen..........................61
- 4.3.2 Konstanten im Hintergrund berechnen....................63
- 4.4 Die letzten Worte......................................65
- 4.5 Probleme mit dem GEMINI und XACC-Protokoll.............67
- 4.6 Zukünftige Entwicklungen...............................69
- 5. Literatur..............................................71
-
-
-
-
-
-
-
-
-
-
-
-
- Anleitung
-
-
- 1. Allgemeines
-
-
- Zu CHEMCALC gehören die Dateien CHEMCALC.ACC und CHEMCALC.RSC.
-
- Diese müssen sich beim Booten auf der Bootdiskette befinden. Der
-
- Name des Programms sollte aus Gründen, die später erläutert
-
- werden, nicht geändert werden.
-
- Weiterhin gehören zum Programm die Accessories Perioden-System,
-
- Chemie-Daten Komplexe und Handbook. (Dateien PERIODEN.ACC,
-
- PERIODEN.RSC, CHEMIE.ACC, CHEMIE.RSC, CHEMIE.DAT, KOMPLEXE.ACC,
-
- KOMPLEXE.RSC, HANDBOOK.ACC, HANDBOOK.RSC, HANDBOOK.HBK)
-
- Das gesamte Paket ist Share-Ware, wer es regelmäßig benutzt,
-
- sollte mir DM 30,- (Bar, Verrechnungsscheck oder Überweisung)
-
- schicken. Dafür stehe ich für Anfragen und Anregungen zur
-
- Verfügung. Bei wesentlichen Verbesserungen werde ich Ihnen eine
-
- Nachricht zukommen lassen, sodaß Sie gegen Erstattung der
-
- Unkosten (Porto und Diskette) ein Update erhalten. Legen Sie dazu
-
- bei der Registrierung und jedem Update eine adressierte und
-
- frankierte Postkarte für die Benachrichtigung bei. Wer ein Modem
-
- besitzt kann mir seine E-Mail-Adresse mitteilen, dann erfolgt die
-
- Benachrichtigung als PM. Für 35,- DM gibt es eine gedruckte
-
- Anleitung.
-
- Noch etwas zum Shareware-Prinzip:
-
- Mit "Shareware" bezeichnet man Programme, die frei kopiert und
-
- weitergegeben werden dürfen, sofern sie nicht verändert oder
-
- kommerziell vertrieben werden. Wer mit einem Shareware-Programm
-
- regelmäßig arbeitet, muß dem Autor eine Registrierungsgebühr
-
- zahlen, deren Höhe von der Komplexität des Programms und der
-
- Anwenderunterstützung nach der Registrierung abhängt. Die Höhe
-
- der Registrierungsgebühr kann mit Preisen kommerziell vertrie-
-
- bener Programme verglichen werden, liegt aber in der Regel weit
-
- darunter. Vergleichen Sie beispielsweise die Registrierungsgebühr
-
- des Shareware-Desktops GEMINI mit den Preisen vergleichbarer
-
- kommerzieller Programme, wie etwa NEODESK.
-
- Erst die Zahlung der Registrierungsgebühr berechtigt Sie zur
-
- Anwendung des Programms. Lediglich eine kurze Testphase ist
-
- gestattet. Wenn Sie das Programm bei einem PD-Händler erwerben,
-
- bezahlen Sie nur dessen Dienstleistung (Aufnahme des Programms in
-
- seinem Katalog, Bereitstellung der Kopien).
-
- Mit der Zahlung der Registrierungsgebühr fördern Sie außerdem die
-
- Entwicklung guter Shareware-Programme. Eine schlechte Zahlungs-
-
- moral bewirkt nur das Abwandern der Shareware-Autoren in den
-
- kommerziellen Markt, mit dem Ergebnis daß kommerzielle Versionen
-
- von ehemaligen Shareware-Programmen auftauchen, deren Funktions-
-
- umfang nicht so stark vergrößert wird wie der Preis. Die
-
- Shareware-Versionen werden dann nicht mehr gepflegt.
-
- Wenn Sie das Programm weitergeben, sollten sie folgendes
-
- beachten:
-
- Im Ordner CHEMCALC müssen sich folgende Dateien befinden, die
-
- nicht verändert werden dürfen:
-
- CHEMCALC.ACC CHEMCALC.RSC CHEMCALC.TXT
-
- CHEMCALC.ASC CHEMIE.ACC CHEMIE.RSC
-
- HANDBOOK.ACC HANDBOOK.RSC KOMPLEXE.ACC
-
- KOMPLEXE.RSC PERIODEN.ACC PERIODEN.RSC
-
- README20.TXT README20.ASC
-
-
- Zusätzlich sollten die Dateien CHEMCALC.INF und HANDBOOK.INF
-
- vorhanden sein, die jedoch auf persönliche Bedürfnisse angepaßt
-
- werden dürfen.
-
- Weiterhin sollten alle Daten-Dateien (*.DAT und *.HBK) vorhanden
-
- sein. Erweiterungen und Korrekturen sind zulässig.
-
- Gepatchte Versionen von Chemie-Daten, HANDBOOK und HANDBOOK+, die
-
- mit Hilfe des Patch-Programms (oder eines Disketten-Monitors)
-
- erstellt wurden, dürfen NICHT weitergegeben werden!
-
- Ich übernehme keine Haftung für eventuelle Folgeschäden, die
-
- durch den Gebrauch der Programme auftreten. Ebenso wenig kann ich
-
- garantieren, daß die Programme in jeder Hardware oder Softwareum-
-
- gebung laufen.
-
- CHEMCALC läuft in jeder Auflösung, sofern sie größer als 640 *
-
- 200 Pixel ist.
-
- Die Programme wurden in GFA-Basic 3.5E geschrieben. CHEMCALC,
-
- Perioden-System und Chemie-Daten wurden mit einer LINE_A-freien
-
- Bibliothek kompiliert.
-
- Alle Programme sind auch als PRG lauffähig.
-
-
-
-
- Meine Adresse: Lothar Buchen
- Vorm Holz 4/135
- 5600 Wuppertal 1
-
-
- E-Mail: Lothar Buchen, Maus @DO
-
- Für Überweisungen: Stadtsparkasse Wuppertal
- Konto-Nr: 1902154
- BLZ: 33050000
-
- Änderungen vorbehalten!
-
-
-
-
- 2. Bedienung
-
-
- 2.1 Bedienungselemente
-
-
- 2.1.1 Die Anzeige
-
-
- Hier werden alle Eingabewerte und Ergebnisse angezeigt. Die
-
- Eingaben werden mit der Tastatur des Computers eingegeben, nur
-
- bestimmte Konstanten werden durch Anklicken der entsprechenden
-
- Tasten unter der Anzeige eingegeben. In der Anzeige haben 56
-
- Zeichen Platz, sollten mehr benötigt werden, so können durch
-
- Anklicken des Cursors rechts nochmal 56 Zeichen zur Verfügung
-
- gestellt, insgesamt kann eine 560 Zeichen lange Formel
-
- verarbeitet werden. Dabei muß der letzte Teil der Formel in der
-
- Anzeige stehen. Die kleine Anzeige rechts oben gibt Auskunft über
-
- die Länge der Formel.
-
- Über der großen Anzeige befinden kleine Anzeigen, die Informa-
-
- tionen über den Status des Rechners geben.
-
-
-
- 2.1.2 Tasten
-
-
- CHEMCALC hat nur Tasten für bestimmte Funktionen, wobei man unter
-
- Funktionen keine mathematischen Funktionen verstehen sollte,
-
- sondern Programmfunktionen, die die Auswahl bestimmter Konstanten
-
- ermöglichen, die CHEMCALC zur Verfügung stellt oder sogar von
-
- anderen Accessories zur Verfügung gestellt werden. Wer CHEMCALC
-
- zum ersten Mal sieht, dem fällt auf, daß Zahlentasten, wie sie
-
- bei vielen anderen Taschenrechner-Accessories zu finden sind
-
- (teilweise mit Mehrfachbelegung wie bei einem echten Taschen-
-
- rechner) fehlen. Diese sind bei CHEMCALC nicht notwendig, da alle
-
- Eingaben (bis auf einige Ausnahmen) mit Hilfe der Tastatur des
-
- Computers getätigt werden. Daher ist die Bezeichnung
-
- "Taschenrechner" für CHEMCALC eigentlich falsch (gibt es einen
-
- echten Taschenrechner mit externer Tastatur?), man sollte viel-
-
- leicht eine andere Bezeichnung für derartige Programme finden.
-
- Mangels allgemein verbreiteter Alternative bleibe ich vorerst bei
-
- Taschenrechner.
-
- Die Tasten für Konstanten und Funktionen befinden sich in 2
-
- Reihen unter der Anzeige. Nach Bedeutung sind diese durch
-
- unterschiedliche Raster getrennt.
-
- Links befinden sich vier Tasten F1 bis F4. Durch Anklicken kann
-
- man dort eine gespeicherte Formel in die Anzeige bringen. Mit der
-
- nächsten Vierergruppe können bestimmte Funktionen aufgerufen
-
- werden.
-
- SYM: Die Punktgruppe eines Moleküls kann bestimmt werden.
-
- KON: Viele Naturkonstanten sind verfügbar.
-
- UM: Es können Einheiten umgerechnet werden.
-
- STAT: Daten für statistische Berechnungen können eingegeben
-
- werden.
-
- π und e: Mathematische Konstanten. (e=EXP(1))
-
-
- Die Konstanten brauchen nur angeklickt werden, sie werden dann in
-
- die Anzeige übertragen.
-
- Cursor links und Cursor rechts: Damit kann lange Formeln
-
- bearbeiten.
-
-
- AC: Löscht die Anzeige.
-
- ANS: Bringt die letzte Formel auf die Anzeige.
-
-
- Auf die Tasten INST und die übrigen fünf wird später eingegangen.
-
-
-
-
- 2.2 Rechnen
-
-
- 2.2.1 Einfache Rechnungen
-
-
- Zum Rechnen muß der zu berechnende Ausdruck in die Anzeige
-
- getippt werden. Return oder Enter starten die Berechnung.
-
- Klammern können beliebig gesetzt werden.
-
-
- Eingabe: 12*9+8*(7-9)*-1
-
- Ergebnis: 124
-
- Eingabe: 2^(2+3)/3
-
- Ergebnis: 10.66666666667
-
-
-
- 2.2.2 Funktionen
-
-
- 2.2.2.1 Übersicht
-
-
- Tab. 1: Übersicht der Funktionen
-
- Funktionsbezeichnung Format .
-
- Trigonometrische Funktionen sin x sin(x)
- cos x cos(x)
- tan x tan(x)
- cot x cot(x)
-
- Umgekehrte Trigonometrische
- Funktionen arsin x arsin(x)
- arcos x arcos(x)
- artan x artan(x)
- arcot x arcot(x)
-
- Hyperbelfunktionen sinh x sinh(x)
- cosh x cosh(x)
- tanh x tanh(x)
- coth x coth(x)
-
- Areafunktionen arsinh x arsinh(x)
- arcosh x arcosh(x)
- artanh x artanh(x)
- arcoth x arcoth(x)
-
- Quadratwurzel sqr x sqr(x)
- Kubikwurzel cur x cur(x)
- Quadrat x2 sqa(x)
- Kubik x3 cub(x)
- Exponentialfunktion ex exp(x)
- Natürlicher Logarithmus ln x ln(x)
- Zehnerlogarithmus log x log(x)
- Betragsfunktion |x| abs(x)
- Ganzahliger Teil int x int(x)
- Dezimalstellen frac x frac(x)
- Vorzeichen sgn x sgn(x)
- Bogenmaß in Grad deg x deg(x)
- Grad in Bogenmaß rad x rad(x)
- Winkel von Dezimal in Sexagesimal dms(x)
- Winkel von Sexagesimal in Dezimal smd(x,y,z)
- Kartesische Koordinaten in
- Polarkoordinaten rpc(x,y,z)
- Polarkoordinaten in Kartesische prc(x,y,z)
-
- Funktionen (Fortsetzung) .
-
- Funktionsbezeichnung Format .
-
- Umrechnen in Dezimalzahlen dec(x)
- Umrechnen in Binärzahlen bin(x)
- Umrechnen in Oktalzahlen oct(x)
- Umrechnen in Hexadezimalzahlen hex(x)
-
- Tage zwischen zwei Daten day(ttmmjjjj,ttmmjjjj)
-
- Logische Verknüpfungen and x,y and(x,y)
- or x,y or(x,y)
- xor x,y xor(x,y)
- imp x,y imp(x,y)
- eqv x,y eqv(x,y)
-
- Kombinatorik [1]
-
- Fakultäten x! x!
- Variationen ohne Wiederholung Vn,i var(n,i)
- Kombinationen ohne Wiederholung Cn,i com(n,i)
- Kombinationen mit Wiederholung Cn,i comr(n,i)
-
- Statistik [2]
-
- Binominalverteilung W(x;p,n) wbn(x,p,n)
- Poissonverteilung Wa(x) wpo(a,x)
-
-
- 2.2.2.2 Trigonometrische Funktionen
-
-
- Die Trigonometrischen Funktionen benötigen als Argument einen
-
- Winkel in Grad. Gibt man "mode 3" ein, so kann man auch Winkel in
-
- Bogenmaß eingeben. Mit "mode 2" wird der Rechner wieder auf
-
- Gradeingabe umgestellt.
-
- "rad(x)" rechnet einen Winkel in Bogenmaß um, "deg(x)" rechnet
-
- Bogenmaß in Winkel um. So kann man Grad und Bogenmaß in einer
-
- Formel verwenden.
-
-
- Beispiel: sin(deg(π/2)) = sin(180) = 1
-
- Aus einem Wert für einen Sinus kann man leicht den dazugehörigen
-
- Winkel berechnen.
-
- Beispiel: sin(x) = 0.5
-
- x = arsin(0.5)
-
- x = 30
-
- Die Funktionen arsin(x) und arcos(x) akzeptieren für x nur Werte
-
- zwischen -1 und 1.
-
- Winkel können von Dezimalzahlen in Grad, Minuten und Sekunden
-
- umgerechnet werden. Dazu dient die Funktion dms(x).
-
-
- Beispiel: dms(7.356)=7°21'21.6"
-
-
- Nur die Sekundenbruchteile werden dezimal dargestellt.
-
- Umgekehrt kann man Grad, Minuten und Sekunden wieder in die
-
- dezimale Darstellung umwandeln. Dazu gibt es die Funktion
-
- smd(grad,min,sek)
-
-
- Beispiel: smd(7,21,21.6)=7.356
-
-
-
- 2.2.2.3 Koordinatentransformation
-
-
- Mit Hilfe der Funktionen rpc(x,y,z) kann man kartesische Koordi-
-
- naten in Polarkoordinaten umrechnen. Die Funktion prc(r,ϕ,Θ) hat
-
- die umgekehrte Wirkung.
-
- Beispiel: Umrechnung des Punktes mit den Koordinaten x=1, y=1,
-
- z=1 in Polarkoordinaten
-
- Eingabe: rpc(1,1,1)
-
- Ergebnis: 1.732050807569,45,54.73561031725
-
-
- Rechnet man mit zweidimensionalen Koordinaten, so muß man z = 0
-
- bzw. die Poldistanz Θ = 90° setzen.
-
- Bei diesen Rechnungen wird berücksichtigt, ob der Rechner auf
-
- Grad (mode 2) oder Bogenmaß (mode 3) eingestellt ist.
-
- Den Radius r kann man in eine beliebige Variable setzen, die
-
- Werte ϕ und Θ werden in den reservierten Variablen "phi" und
-
- "theta" gespeichert. So kann man mit diesen Werten weiterrechnen.
-
-
-
- Eingabe: r=rpc(1,1,1) = 1.732050807569,45,54.73561031725
-
- r*10 = 17.32050807569
-
- dms(phi) = 45°0'0"
-
- dms(theta) = 54°44'8.1971421"
-
-
-
-
- 2.2.2.4 Tage zwischen zwei Daten
-
-
- Mit der Funktion day(ttmmjjjj,ttmmjjjj) kann man die Anzahl der
-
- Tage zwischen zwei Daten berechnen.
-
- Beispiel: Wieviele Tage liegen zwischen den 22.5.1972 und dem
-
- 31.7.1990?
-
- Eingabe: day(22051972,31071990)
-
- Ergebnis: 6644
-
- Diese Funktion ist abhängig vom eingestellten Datumsformat. Unter
-
- eingestellten US-Format (mode 13) muß die gleiche Aufgabe wie
-
- folgt eingegeben werden (Format: mmttjjjj):
-
- Eingabe: day(05221972,07311990)
-
- Ergebnis: 6644
-
- Wird das Datumsformat auf schwedisch (mode 14) eingestellt, so
-
- wird muß das Jahr zuerst eingegeben werden (Format: jjjjmmtt):
-
- Eingabe: day(19720522,19900731)
-
- Ergebnis: 6644
-
-
-
-
- 2.2.2.5 Kombinatorik
-
-
- Die Berechnung von Fakultäten ist sehr einfach. Es sind Fakultä-
-
- ten bis 170! möglich.
-
-
-
- Beispiel: 8!
-
- Eingabe: 8! = 40320
-
-
- Variationen von n Elementen zur i-ten Klasse ohne Wiederholung
-
- sind definiert als Vn,i = n!/(n-i)!
-
- Beispiel: Wieviele dreistellige Zahlen lassen sich aus den
-
- Ziffern 1 bis 9 schreiben, wenn jede Ziffer nur einmal vorkommen
-
- darf?
-
- Dazu muß man die Zahl der Variationen von 9 Elementen zur 3.
-
- Klasse bestimmen. Man erhält:
-
-
- var(9,3) = 504
-
-
- Kombinationen von n Elementen zur i-ten Klasse ohne Wiederholung
-
- sind definiert als Cn,i = n!/i!(n-i)!
-
- oder abgekürzt
-
- Cn,i = nØi
-
- (lies "n über i")
-
-
- Beispiel:
-
-
- Wieviele Möglichkeiten gibt es, sechs Richtige im Lotto tippen?
-
-
- com(49,6) = 13983816
-
-
- Weiterhin ist kann man die Zahl der Kombinationen von n Elementen
-
- zur i-ten Klasse mit Wiederholung bestimmen. Die Formel lautet:
-
-
- Cn,i = n+i-1Øøi
-
- Beispiel:
-
- Wieviele verschiedene Augenzahlen kann man beim Würfeln mit drei
-
- Würfeln erhalten?
- Lösung: Jeder der drei Würfel kann eine Augenzahl zwischen eins
-
- und sechs aufweisen. Ein Wurf mit drei Würfeln ist also dadurch
-
- gekennzeichnet, daß man aus der Menge von sechs verschiedenen
-
- Augenzahlen drei herausgreift, wobei es auf die Reihenfolge nicht
-
- ankommt und jede Augenzahl mehrfach vorkommen kann.
-
- Die Zahl der Würfe ist also gegeben durch:
-
-
- C6,3 = 6+3-1øØ3
-
- Eingabe: comr(6,3)=56
-
- Für die Zahl der Variationen von n Elementen zur i-ten Klasse mit
-
- Wiederholung gilt einfach:
-
-
- Vn,i = ni
-
-
- x, n, i kann auch ein mathematischer Ausdruck sein.
-
-
- Beispiel: com(6+3-1,3)
-
-
- Ergebnis: 56
-
-
-
- 2.2.2.6 Binominalverteilung [2]
-
-
- Wenn man eine Münze n-mal wirft, so wird eine Seite n/2-mal oben
-
- liegen. Will man beispielsweise die Wahrscheinlichkeit bestimmen,
-
- mit der bei 10 Würfen die Zahl 10-mal oben liegt, so kann dazu
-
- die Binominalverteilung zu Hilfe nehmen.
-
- Die Binominalverteilung ist definiert als
-
-
- W(x;p,n) = (nØx)px(1-p)n-x
-
-
- Dabei ist x die Anzahl der auftretenden Ereignisse, p die
-
- Wahrscheinlichkeit des Einzelereignisses und n die Anzahl der
-
- Versuche.
-
- Bei einem Münzwurf ist die Wahrscheinlichkeit, daß bei einem Wurf
-
- die Zahl oben liegt, 1/2 (p=1/2). Die Wahrscheinlichkeit, daß 10
-
- Würfen (n=10) die Zahl 10 mal (x=10) oben liegt ist:
-
-
- W(10;0.5,10)
-
-
- Eingabe: wbn(10,0.5,10)
-
- Ergebnis: 0.0009765625 = 1/1024
-
-
- Die Wahrscheinlichkeit, daß bei 10 Würfen die Zahl 5-mal oben
-
- liegt, ist:
-
-
- wbn(5,0.5,10) = 0.24609375
-
-
- 2.2.2.7 Poissonverteilung [2]
-
-
- Die Binominalverteilung geht für sehr große n und sehr kleine p
-
- in die Poissonverteilung über, wobei gilt:
-
-
- a ax
- Wa(x) = lim W(x;-,n) = - e-a ; a = n*p
- n->∞ n x!
-
-
- Ein Beispiel:
-
- Bei der Produktion elektronischer Bauteile treten mit einer
-
- Wahrscheinlichkeit von p=0.001 defekte Teile auf. Mit welcher
-
- Wahrscheinlichkeit findet man in einem Karton mit 800 Bauteilen 2
-
- defekte?
-
-
- p = 0.001, n = 800
-
- a = n*p = 0.8
-
- Einstellung: round f4
-
- wpo(0.8,2) = 0.144
-
-
-
- 2.2.2.8 Molmassenbestimmung
-
-
- Neben den mathematischen Funktionen gibt es die Funktion "mol",
-
- die zur Berechnung der Molmasse einer chem. Verbindung benötigt
-
- wird. Dieses wird mit Hilfe dieser Funktion sehr einfach.
-
- Als Beispiel hier die Bestimmung der Molmasse von Schwefelsäure:
-
-
- Eingabe: mol(H2SO4)
-
- Ergebnis: 98.6536
-
-
- Es ist nicht nötig die Summenformel zu bestimmen, man kann die
-
- Formel auch als vereinfachte Strukturformel eingeben, wie sie in
-
- der organischen Chemie üblich sind. Will man zum Beispiel die
-
- Molmasse von p-Toluolsulfonylchlorid bestimmen, so braucht man
-
- nur die Summenformeln aller Molekülteile kennen.
-
-
- Eingabe: mol(CH3C6H4SO2Cl)
-
- Ergebnis: 191.1548
-
-
- Im Argument dieser Funktionen können Komplexliganden oder andere,
-
- mehrfach vorhandene Gruppen in eckige Klammern gesetzt werden.
-
- Dabei ist nur eine Klammerebene erlaubt.
-
- Beispiel: Molmasse von [Ni(H2O)2(NH3)4](NO3)2
-
-
- Eingabe: mol(Ni[H2O]2[NH3]4[NO3]2)
-
- Ergebnis: 286.8752
-
-
- Viele Gruppen können durch Abkürzungen ersetzt werden. Dadurch
-
- wird die Molmassenberechnung vieler Komplexe einfacher. Im Falle
-
- der Nickelverbindung heißt dies:
-
-
- Eingabe: mol(NiAq2Amm4[NO3]2)
-
- Ergebnis: 286.8752
-
-
- Die meisten Abkürzungen sind der Literatur [3] entnommen, bei
-
- Gleichheit mit Elementsymbolen hat das Element Vorrang.
-
- Abweichend von der Literatur wird daher Acetyl mit Ace statt Ac
-
- abgekürzt. Jedes neue Symbol beginnt mit einem Großbuchstaben,
-
- daher muß auf Groß- und Kleinschreibung geachtet werden.
-
-
-
- Tab. 2: Abkürzungen für Funktion MOL
-
- Abkürzung Substanz Formel .
-
- Ace Acetyl CH3CO
- Acac Acetylacetonat-Anion CH3COCHCOCH3
- Adp Adenosindiphosphat C10H12N5O10P2
- Amm Ammoniak NH3
- Aq Wasser H2O
- Atp Adenosintriphosphat C10H12N5O13P3
- Bipy 2,2'Bipyridin (C5H4N)2
- Bu Butyl C4H9
- Bz Benzyl C6H5CH2
- Cfl Trifluormethyl CF3
- Cn Cyanid CN
- Cp Cyclopentadienyl, C5H5
- Cy Cyclohexyl C6H11
- D Deuterium
- Diars o-Phenylenbis(dimethylarsin) o-C6H4(AsMe2)2
- Dien Diethylentriamin H2H(CH2CH2NH)2H
- Diop [(2,2-Dimethyl-1,3-dioxolan-4,5- (Ph2PCH2HCO)2CMe2
- diyl)bis(methylen)]bis(diphenylphosphin)
- Dmpe 1,2-Bis(dimethylphosphino)ethan (CH3)2PC2H4P(CH3)2
- Dppe 1,2-Bis(diphenylphosphino)ethan (Ph)2PC2H4P(Ph)2
- Dppm Bis(diphenylphosphino)methan (Ph)2PCH2P(Ph)2
- En Ethylendiamin H2NCH2CH2NH2
- Hfa Hexafluoracetylacetonat-Anion CF3COCHCOCF3
- Me Methyl CH3
- Mes Mesityl (CH3)3C6H2
- Oh Hydroxyl OH
- Ox Oxalat-Anion C2O4
- Pc Phtalocyanin (C6H4(CN)2)4
- Ph Phenyl C6H5
- Phe Phenylen C6H4
- Phen 1,10-Phenanthrolin C12H8N2
- Pnp Bis(2-diphenylphosphinoethyl)amin (((Ph)2P)2C2H3)2NH
- Pro Propyl C3H7
- Py Pyridin C5H5N
- Pyl Pyridyl C5H4N
- Pz Pyrazolyl C3H3N2
- Qas Tris(2-diphenylarsinophenyl)arsin As(C6H4AsPh2)3
- Scn Rhodanid SCN
- T Tritium
- Tan Tris(2-diphenylarsinoethyl)amin N(CH2CH2AsPh2)3
- Tap Tris(3-dimethylarsinopropyl) P(CH2CH2CH2AsMe2)3
- phosphin
- Tas Bis(3-dimethylarsinopropyl) MeAs(C3H6AsMe2)2
- methylarsin
- Tcne Tetracyanoethylen (CN)2C2(CN)2
- Tn 1,3-Diaminopropan H2NCH2CH2CH2NH2
- Zusätzlich zu den bisher verfügbaren Formelmakros können jetzt
-
- bis zu 512 Makros selbst definiert werden. Dazu wurde die
-
- Betriebsart 1 (bisher: Formeln eingeben) erweitert. Es gilt
-
- jetzt:
-
-
- Eingabe Anzeige Wirkung
-
- mode 1,0 WRITE Formeln eingeben
-
- mode 1,1 MAKRO Makros eingeben
-
- Statt mode 1,1 kann man auch defmacro eingeben.
-
- Rechts neben "MAKRO" ist angegeben, wieviel Markros bisher
-
- gespeichert wurden. Mit Hilfe der Tasten für π und e kann man
-
- sich vorhandene Makros ansehen und ggf. ändern. Neben der Anzeige
-
- für die Makroanzahl kann man sehen, an welcher Stelle man sich im
-
- Makrospeicher befindet.
-
- Die Makros werden auf folgende Weise eingegeben:
-
- Name,masse
-
- Der Name kann bis zu 8 Buchstaben lang sein. Er muß mit einem
-
- Großbuchstaben beginnen, sonst kleingeschrieben sein und darf
-
- keine Zahlen enthalten. Die Makros werden in der Reihenfolge
-
- ihrer Eingabe gespeichert und ausgewertet, daher müssen bei der
-
- Eingabe einige Dinge beachtet werden. Gibt man ähnliche Makros
-
- ein, so muß man die längsten zuerst eingeben, wenn der Anfang des
-
- längeren Namens mit dem kürzeren identisch ist. Im Beispiel von
-
- NADH und NAD heißt dies: Nadh vor Nad eingeben.
-
- Masse kann eine Zahl oder ein mathematischer Ausdruck sein. Es
-
- ist dabei möglich, die Molmasse eines vorher eingegebenen Makros
-
- zu bestimmen.
-
- Beispiel: Eingabe eines Makros für tert-Butoxycarbonyl
-
- Abkürzung: Boc
-
-
- Eingabe: Boc,mol(BuOCarb)
-
-
- Bu ist ein festes Makro, Carb wurde vorher als Carb,mol(CO)
-
- definiert.
-
-
- Noch etwas zur Arbeitsweise der Funktion "mol". Sie untersucht
-
- die Formel zeichenweise, wobei sie bei jedem Zeichen prüft, ob
-
- das Zeichen rechts ein Großbuchstabe oder eine Zahl ist. So wird
-
- ein Symbol ermittelt, das aus einem oder zwei Buchstaben besteht.
-
- Zu diesen Zweck werden alle selbstdefinierten Makros durch Zwei-
-
- zeichencodes ersetzt. Gleiches gilt auch für die langen festen
-
- Makros. Ist ein Kleinbuchstabe zuviel, der Rest aber sonst gültig
-
- und vorhanden, so wird der Kleinbuchstabe ignoriert und die
-
- Formel bestimmt. Ein Beispiel soll dieses verdeutlichen.
-
- Sie haben statt der korrekten Formel für Selensäure H2Se4 H2SeeO4
-
- eingegeben. Die falsche Formel H2SeeO4 wird wird zu H2Se4
-
- korrigiert, vorausgesetzt, See ist kein Makro. Geben Sie aber
-
- H2SaaO4 ein so wird zuerst versucht, H2SaO4 bestimmen, da weder
-
- Saa noch Sa als Makro definiert sind. Da aber Sa ein mögliches
-
- Symbol ist, wird nach einer Molmasse für Sa gesucht. Wird diese
-
- nicht gefunden, so wird eine Warnmeldung ausgegeben. In der
-
- Version 1.0 war die Molmasse für ein nicht vorhandenes Symbol
-
- einfach 0. Wegen dieser Arbeitsweise muß bei der Definition von
-
- Makros Folgendes beachtet werden: Stimmt ein Makro mit den ersten
-
- Teilen eines zweiten überein, so muß das zweite zuerst definiert
-
- werden.
-
- Ein Beispiel:
-
- Es sollen Glu als Symbol für Glutamin und Glucose als Symbol für
-
- Glucose definiert werden.
-
- Das Symbol "Glu" stimmt mit dem ersten Teil von Glucose überein,
-
- daher muß Glucose zuerst definiert werden.
-
- Mit "save macro" können die Definitionen gesichert werden.
-
- Sichert man sie in die Datei "CHEMCALC.MOL", so werden sie beim
-
- nächsten Booten mitgeladen. Mit "load macro" kann man neue Makros
-
- laden.
-
-
-
-
- 2.2.3 Formeln speichern
-
-
- Im Rechner können bis zu 4 Formeln gespeichert werden. Zum
-
- Speichern gibt man "mode 1" ein. Links in der Statusanzeige
-
- steht "write". Durch Anklicken einer der Tasten F1 - F4 kann man
-
- bestimmen, wo die Formel gespeichert wird. Die aktuelle Formel
-
- wird in der Statuszeile angezeigt. Weiterhin steht dort, welche
-
- Formelspeicher schon belegt sind. Mit "clr" kann man eine Formel
-
- löschen.
-
- Formeln können entweder komplett oder als Term eingegeben werden.
-
-
- Beispiel:
-
- Dreiecksberechnung nach Pythagoras
-
- Formel: sqr(a*a+b*b)
-
- a=3, b=4
-
- Formel holen und rechnen.
-
- Ergebnis: 5
-
-
-
- 2.2.4 Statistische Berechnungen
-
-
- Der Rechner kann einfache statistische Rechnungen durchführen.
-
- Vor Beginn der Rechnungen muß der Statistikspeicher mit "sac"
-
- gelöscht werden. Die Eingabe kann für andere Rechnungen
-
- unterbrochen werden.
-
-
-
- 2.2.4.1 Berechnung der Standardabweichung
-
-
- Nach der Eingabe jedes Datenwertes muß die "STAT"-Taste
-
- angeklickt werden. Die Anzahl der Daten wird in der Statuszeile
-
- angezeigt.
-
-
-
- Beispiel:
-
- Daten: 10, 11, 9, 12, 12, 8, 11, 10, 11, 9, 9
-
-
- Standardabweichung σn-1:
-
- Eingabe: sdx
-
- Ergebnis: 1.328019715078
-
-
- Standardabweichung σn:
-
- Eingabe: sdxn
-
- Ergebnis: 1.266217116108
-
-
- Summe der Daten Σxi:
-
- Eingabe: sx
-
- Ergebnis: 112
-
-
- Summe der Quadrate Σxi2
-
- Eingabe: sx2
-
- Ergebnis: 1158
-
- Mittelwert:
-
- Eingabe: mx
-
- Ergebnis: 10.18181818182
-
-
- Eine fehlerhafte Eingabe kann korrigiert werden. Dazu gibt man
-
- "del wert" ein und klickt die Stat-Taste an. Angenommen, die
-
- letzte 9 in dem obigen Beispiel sei falsch und soll durch eine 8
-
- ersetzt werden.
-
-
- Eingabe: del 9
-
- Eingabe: 8
-
- Nach beiden Eingaben die STAT-Taste anklicken.
-
-
-
- 2.2.4.2 Lineare Regression
-
-
- Nach Eingabe jedes Datenpaares muß die "STAT"-Taste angeklickt
-
- werden. Die Werte sind mit Komma zu trennen.
-
-
- Beispiel: 1,2
- 2,3
- 3,4
- 4,5
- 5,6
- 6,8
-
- Die Standardabweichung für die x-Werte kann wie oben beschrieben
-
- berechnet werden. Für die y-Werte gibt es die entsprechenden
-
- Funktionen sdy, sdyn, sy, sy2, my
-
-
- In diesem Beispiel gilt für sdy: 2.160246899469
-
- sdyn: 1.972026594367
-
-
- Summe der Produkte Σxiyi:
-
- Eingabe: sxy
-
- Ergebnis: 118
-
- Die Regressionsgleichung lautet y = a + bx
-
-
- Die Koeffizienten a und b werden wie folgt ermittelt:
-
-
- Koeffizient a:
-
- Eingabe: lra
-
- Ergebnis: 0.6666666666667
-
-
- Koeffizient b:
-
- Eingabe: lrb
-
- Ergebnis: 1.142857142857
-
-
- Der Korrelationskoeffizient kann natürlich auch berechnet werden.
-
-
- Eingabe: cor
-
- Ergebnis: 0.9897433186108
-
-
- Die Regressionsgleichung beschreibt eine Gerade. Mit Hilfe der
-
- Koeffizienten a und b können Schätzwerte für x und y berechnet
-
- werden. Der Koeffizient a ist der Schnittpunkt der Geraden mit
-
- der y-Achse. Wo schneidet die Gerade aber die x-Achse?
-
- Es ist der Wert für x, an dem y = 0 ist.
-
- Dieser wird mit der Funktion "eox" berechnet.
-
-
- Eingabe: eox(0)
-
- Ergebnis: -0.5833333333333
-
-
- Werte für y lassen sich mit der Funktion "eoy" bestimmen.
-
- Beispiel: x = 10
-
- Eingabe: eoy(10)
-
- Ergebnis: 12.09523809524
-
-
- Fehlerhafte Eingaben können wie schon bei der Standardabweichung
-
- beschrieben korrigiert werden.
-
-
-
-
- 2.2.5 Einheiten umrechnen
-
-
- Die Taste mit der Aufschrift "UM" liefert die Umrechnungsfaktoren
-
- für verschiedene Einheiten. Es erscheint eine Box mit verschie-
-
- denen Druck, Energie und Zeiteinheiten. Um einen Umrechnungs-
-
- faktor zu bekommen, muß man zuerst die vorhandene Einheit und
-
- anschließend die gewünschte anklicken. Der Faktor wird dann in
-
- die Anzeige übertragen.
-
-
-
- 2.2.6 Naturkonstanten
-
-
- Die im Rechner implementierten Naturkonstanten sind jetzt auch
-
- als Abkürzungen verfügbar, wobei als Abkürzungen die in [1] und
-
- [3] verwendeten Symbole dienen. Bei Symbolen, die nicht über die
-
- Tastatur verfügbar sind, gibt es allerdings Abweichungen. Alle
-
- Symbole müssen bei der Eingabe mit einem # beginnen.
-
-
- Tab. 3: Naturkonstanten
-
- Größe Symbol Eingabe Zahlenwert .
-
- Elementarladung e #e 1.60219*10-19C
-
- Faradaykonstante F #F 9.64846*104C
-
- Boltzmannkonstante k #k 1.38066*10-23JK-1
-
- Gaskonstante R #R 8.31441
-
- Molvolumen idealer Gase v0 #v0 22.41383 l
-
- Bohrscher Radius a0 #a0 5.29177*10-11m
-
- Planksche Konstante h #h 6.2618*10-34Js
-
- h quer h/2π #hq 1.05459*10-34Js
-
- Bohrsches Magneton µB #müB 9.27408*10-24JT-1
- #µB
-
- Kernmagneton #müN 5.05082*10-27J/T
-
- Avogadrosche Zahl NA #NA 6.02205*1023
-
- Atomare Masse mu #mu 1.66056*10-27kg
-
- Elektronenmasse me #me 9.10953*10-31kg
-
- Protonenmasse mp #mp 1.67265*10-27kg
-
- Neutronenmasse mn #mn 1.67495*10-27kg
-
- Dielektrizitätskonstante e0 #e0 8.85419*10-12
-
- Rydbergkonstante R∞ #Ry 109737 cm-1
-
- Feinstrukturkonstante α #a 0.00729735
- #α
-
- Gravitationskonstante G #G 6.672*10-11
-
- Lichtgeschwindigkeit c #c 299792500 ms-1
-
- Magnetisches Moment µe #müe 9.284832*10-24JT-1
- des Elektrons #µe
-
- Tab. 3: Naturkonstanten (Fortsetzung)
-
- Größe Symbol Eingabe Zahlenwert .
-
-
- Landé-g-Faktor des ge #ge 2.0023193134
- freien Elektrons
-
- Dielektrizitätskonstante 4πe0 #4pie0 1.11265*10-10J-1C2m-1
- des Vakuums * 4π #4πe0
-
- Elementardauer τ #t 4.408362*10-24s
- #τ
-
- Pi π #pi 3.14159265359
- π
-
- Eulersche Zahl e #eu 2.718281828459
- ë
-
- Weiterhin sind jetzt dezimale Vielfache und Teile als Konstanten
-
- verfügbar.
-
- Tab. 4: Dezimale Vorsätze
-
- Vorsatz Bedeutung Eingabe Vorsatz Bedeutung Eingabe .
-
- Deka 101 #deka Dezi 10-1 #dezi
- Hekto 102 #hekto Zenti 10-2 #zenti
- Kilo 103 #kilo Milli 10-3 #milli
- Mega 106 #mega Mikro 10-6 #mikro
- Giga 109 #giga Nano 10-9 #nano
- Tera 1012 #tera Piko 10-12 #piko
- Peta 1015 #peta Femto 10-15 #femto
- Exa 1018 #exa Atto 10-18 #atto
-
-
-
-
- 2.2.7 Punktgruppen
-
-
- Klickt man den Knopf mit der Aufschrift "SYM" an, kann man die
-
- Punktgruppe eines Moleküls bestimmen. Der Rechner fragt dabei
-
- Eigenschaften ab, die bejaht (Eingabe "j") oder verneint
-
- (Eingabe "n") werden. Als Beispiele werden hier die Moleküle
-
- Wasser und Benzol untersucht.
-
-
- 1. Wasser
-
-
- Frage: Molekül linear?
-
- Antwort: nein
-
- Frage: 2 oder mehr Cn, n≥3?
-
- Antwort: nein
-
- Frage: Cn vorhanden?
-
- Antwort: ja
-
- Frage: Wie groß ist n?
-
- Antwort: 2
-
- Frage: Gibt es n C2 senkrecht zu Cn mit größten n?
-
- Antwort: nein
-
- Frage: σh vorhanden
-
- Antwort: nein
-
- Frage: Sind nσv vorhanden?
-
- Antwort: ja
-
- Ausgabe des Rechners: Punktgruppe: C2v
-
-
-
- 2. Benzol
-
-
- Frage: Molekül linear?
-
- Antwort: nein
-
- Frage: 2 oder mehr Cn, n≥3?
-
- Antwort: nein
-
- Frage: Cn vorhanden?
-
- Antwort: ja
-
- Frage: Wie groß ist n?
-
- Antwort: 6
-
- Frage: Gibt es n C2 senkrecht zu Cn mit größten n?
-
- Antwort: ja
-
- Frage: Ist ein σh vorhanden
-
- Antwort: ja
-
- Ausgabe des Rechners: Punktgruppe: D6h
-
-
- Zum Verständnis dieser Funktion wird hier auf Lehrbücher der
-
- Gruppentheorie verwiesen.
-
-
-
- 2.3 Weitere Befehle
-
-
- 2.3.1 Rundungsarten
-
-
- Das Ergebnis kann auf zwei Arten gerundet werden. Gibt man
-
- "round f4" ein, so wird das Ergebnis auf vier Nachkommastellen
-
- gerundet und in Dezimalschreibweise ausgegeben. Mit round e4 wird
-
- das Ergebnis in Exponentialschreibweise mit 4 Nachkommastellen
-
- ausgegeben.
-
- Beispiel: 2*π = 6.2832 bei round f4
- 2*π = 6.2832E0 bei round e4
-
- Die Rundungsart wird in der Statuszeile angezeigt.
-
- "round" stellt den Rechner wieder auf normale Anzeige um.
-
- Die Zahl im Rundungsbefehl gibt die Anzahl der Nachkommastellen
-
- an. Möglich sind 1 - 12 Nachkommastellen.
-
-
- 2.3.2 Betriebsarten
-
- Bisher wurden schon einige Modi angesprochen. Hier kommt eine
-
- Übersicht.
-
-
- Tab. 5: Betriebsarten
-
- Eingabe Anzeige Wirkung .
-
- mode 0 CALC Normaler Rechenmodus
- mode 1,0 WRITE Formeln speichern
- mode 1,1 MACRO Formelmakros speichern (für Funktion "mol")
- mode 2 DEG Winkel in Grad
- mode 3 RAD Winkel in Bogenmaß
- mode 4 PRINT Ergebnis wird gedruckt
- mode 5 Drucken aus
- mode 6 KEY Ergebnis nach Schließen als Tastendruck
- mode 6,n KEY n Leerzeichen vor dem Ergebnis
- mode 7 Tastendruck aus
- mode 8 Ergebnis als Dezimalzahl
- mode 9 BIN Ergebnis als Binärzahl
- mode 9,n BIN Ergebnis als n-stellige Binärzahl
- mode 10 OCT Ergebnis als Oktalzahl
- mode 10,n OCT Ergebnis als n-stellige Oktalzahl
- mode 11 HEX Ergebnis als Hexadezimalzahl
- mode 11,n HEX Ergebnis als n-stellige Hexadezimalzahl
- mode 12 D Datumsformat für Funktion "day" deutsch
- mode 13 US Datumsformat englisch (mmttjjjj)
- mode 14 S Datumsformat schwedisch (jjjjmmtt)
-
-
- Häufig benötigte Modi können durch leicht zu merkende Befehle
-
- eingestellt werden. Hier sind alle Befehle:
-
-
- Tab. 6: Befehle
-
- Befehl Modus Wirkung .
-
- defmacro mode 1,1 Makros definieren, s. o.
-
- printer on mode 4 Ergebnis wird gedruckt
-
- printer off mode 5 Drucken aus
-
- keyboard on mode 6 Ergebnis als Tastendruck
-
- keyboard on,n mode 6,n n Leerzeichen vor dem Ergebnis
-
- keyboard off mode 7 Tastendruck aus
-
-
- Die alten Befehle sind weiterhin möglich.
-
- Mit "save" können Modi 2-14 in der Datei "CHEMCALC.INF"
-
- gespeichert werden. "reset" setzt den Rechner auf die Modi 2, 5,
-
- 7, 8 und 12 und schaltet das Runden aus.
-
- "free" zeigt den freien Speicher im Computer an. "dfree x" zeigt
-
- den freien Speicher auf Laufwerk x an.
-
- Mit mode 6 kann man das Ergebnis in ein anderes Programm
-
- übertragen. Der Rechner simuliert dazu für jedes Zeichen
-
- einen Druck auf die entsprechende Taste. Auf diese Weise erspart
-
- man sich das lästige Notieren der Ergebnisse auf einen Zettel,
-
- wie das bei vielen anderen Taschenrechner-Accessories nötig
-
- ist. Manche Programme ignorieren die ersten Zeichen des Ergebnis-
-
- ses. Mit mode 6,n kann man n Leerzeichen vor das Ergebnis setzen,
-
- die dann ignoriert werden. Auf diese Weise kann aber das Ergebnis
-
- vollständig übertragen werden. Versteht das Programm das XACC-
-
- Protokoll ab Stufe 1, so wird das Ergebnis als Text übertragen.
-
- Sämtliche Ergebnisse der Beispiele in dieser Anleitung wurden
-
- auf diese Weise in das Dokument übertragen.
-
- "vac" löscht alle Variablenspeicher.
-
- Mit "dump" kann man sich die Variablen ausdrucken lassen, mit
-
- "dump macro" die Makros für die Funktion "mol"
-
-
-
- 2.3.3 Rechnen mit anderen Zahlensystemen
-
-
- Der Rechner ist in der Lage, Binär-, Oktal- und Hexadezimalzahlen
-
- zu verarbeiten. Binärzahlen sind Zahlen zur Basis 2 und werden
-
- durch die Ziffern 0 und 1 dargestellt. Sie sind durch %
-
- gekennzeichnet.
-
- Oktalzahlen benutzen die Basis 8 und werden durch die Ziffern 0-7
-
- dargestellt. Die Kennzeichnung erfolgt durch &O.
-
- Hexadezimalzahlen sind Zahlen zur Basis 16. Sie werden durch die
-
- Ziffern 0-9 sowie den Buchstaben A-F dargestellt und durch $
-
- gekennzeichnet.
-
- Das Zahlensystem der Ausgabe kann man durch einen Modus
-
- einstellen. Dabei gilt:
-
-
- mode 9: Ausgabe als Binärzahl
-
- mode 9,n Ausgabe als Binärzahl mit n Stellen (maximal 32)
-
-
- mode 10 Ausgabe als Oktalzahl
-
- mode 10,n Ausgabe als Oktalzahl mit n Stellen (maximal 11)
-
-
- mode 11 Ausgabe als Hexadezimalzahl
-
- mode 11,n Ausgabe als Hexadezimalzahl mit n Stellen (maximal 8)
-
- mode 8 stellt den Rechner wieder auf Dezimale Darstellung um.
-
- Das eingestellte Zahlensystem wird in der Statuszeile angezeigt.
-
- Es werden nur Integerzahlen im Bereich -2147483648 - 2147483647
-
- verarbeitet.
-
-
- Beispiele:
-
-
- 1. Binärzahlen (mode 9,8)
-
-
- Verknüpfung zweier Binärzahlen
-
-
- and(%11111000,00011111) = %00011000
-
- or(%11111000,00011111) = %11111111
-
- eqv(%11110001,00011111) = %00010001
-
-
- 2. Oktalzahlen (mode 10,5)
-
-
- and(&O12345,&O75310) = &O10300
-
-
- 3. Hexadezimalzahlen (mode 11)
-
-
- and($aa,$ff00) = $5300
-
-
- Die Modi 9-11 sind bei den Funktionen bin, oct, dec und hex nicht
-
- wirksam.
-
-
-
- 2.4 Erweiterungen
-
-
- In der Anleitung sind bisher die Funktionen von sechs Tasten
-
- offen geblieben. Diese sollen jetzt erkärt werden.
-
- Die Taste mit der Aufschrift "Inst" dient zur Installation
-
- weiterer Accessories. Nachdem man sie angeklickt hat, muß man
-
- eine der unbeschrifteten Tasten anklicken. Danach wird man nach
-
- dem Namen eines Accessorys gefragt. Es muß der Dateiname des
-
- Accessorys ohne Extender eingegeben werden. Dann wird nach einer
-
- Tastenaufschrift gefragt, die maximal vier Buchstaben lang sein
-
- darf. Diese wird in der unbeschrifteten Taste eingetragen.
-
- Anschließend wird nach dem Typ der Daten gefragt, den dieses
-
- Accessory liefern sein. Hier kann man zwischen Fließkommazahl und
-
- Formel wählen. Die letzte Frage gilt der Funktionsnummer. Diese
-
- ist wichtig für Accessories wie Handbook Plus, die auf verschie-
-
- dene Weisen aufgerufen werden können.
-
- Beispiel: Installation des Accessorys Periodensystem.
-
-
- "Inst" anklicken
-
- Unbeschriftete Taste anklicken
-
- Name des Accessories: perioden
-
- Tastenaufschrift: PSE
-
- Datentyp: 1 (Float)
-
- Funktionsnummer: 0
-
- Auf der gewählten Taste steht jetzt PSE, klickt man diese an,
-
- so wird das Accessory gestartet, wenn man es beim Booten geladen
-
- hat. Verläßt man das Accessory, so wird der dort gewählte Wert
-
- in die Anzeige des Rechners übertragen.
-
- Zum Entfernen eines Accessorys klickt man "Inst" an, dann die
-
- Taste, die das Accessory aufruft.
-
- Mit "save" kann man die Installation in der Datei CHEMCALC.INF
-
- sichern, beim nächsten Booten stehen die Accessories sofort zur
-
- Verfügung. Natürlich müssen diese Accessories mitgebootet
-
- werden.
-
-
-
-
- 3. Zusatzaccessories
-
-
- 3.1 Perioden-System
-
-
- Perioden-System ist ein Accessory, das Daten über chemische
-
- Elemente enthält. Es kann unabhängig von CHEMCALC benutzt werden,
-
- ist aber in der Lage, Daten an andere Programme zu schicken.
-
- Startet man das Accessory, so erscheint das Periodensystem auf
-
- dem Bildschirm. Wählt man ein Element aus, so erscheint eine
-
- Tafel mit verschiedenen atomaren und physikalischen Daten. Sucht
-
- man ein Datum aus und klickt auf das Ok-Feld, so wird der Wert,
-
- falls ein anderes Programm das Accessory aufgerufen hat, an das
-
- Programm geschickt. Klickt man in der ersten Daten-Tafel dem
-
- Weiter-Button an, so erscheint eine weitere Tafel mit Isotopen-
-
- daten, wo man Daten wie Masse, Häufigkeit, Spin, Gyromagnetisches
-
- Verhältnis, magnetisches Moment und Quadrupolmoment findet.
-
- Klickt man diese an, so werden diese nach Anklicken des Ok-
-
- Buttons an das aufrufende Programm geschickt.
-
- Klickt man die Titelbox an so wird wird der ausgewählte Wert bei
-
- Verlassen von Perioden-System als Tastenfolge simuliert. Diese
-
- Einstellung ist dauerhaft, sie kann durch nochmaliges Anklicken
-
- des Titelbuttons abgestellt werden. Sie ist natürlich nur wirk-
-
- sam, wenn Periodensystem über das Desktop aufgerufen wird.
-
- Bei Programmen, die das XACC-Protokoll der Stufe 1 verstehen,
-
- wird das Ergebnis als Text verschickt.
-
-
-
- 3.2 Chemie-Daten
-
-
- Chemie-Daten ist ein Accessory, das Daten über chemische Substan-
-
- zen enthält. Wie Perioden-System kann es eigenständig benutzt
-
- werden. Zur Bedienung braucht nicht viel gesagt werden. Man ruft
-
- es auf, holt sich die benötigten Daten und verfährt genau so wie
-
- bei Perioden-System. Im Gegensatz zu Perioden-System kann man
-
- kann die Daten ändern und neue eingeben.
-
- Beim Aufruf von Chemie-Daten erscheint eine Tafel mit Daten von
-
- 20 verschiedenen Substanzen, beim gelieferten Accessory sind es
-
- die Dichten organischer Substanzen. Es können maximal 100 Daten
-
- in 5 Tafeln aufgenommen werden. Jederzeit können neue Daten von
-
- Diskette geladen werden, beim Booten werden die Daten aufge-
-
- nommen, die in der Datei CHEMIE.DAT gespeichert sind. Fehlt die
-
- Daten-Datei, so kann man Daten beim ersten Aufruf erzeugen, indem
-
- man dabei die Control-Taste drückt. Bei diesen Daten handelt es
-
- sich um die Dichten organischer Substanzen.
-
- Klickt man die Titelbox an, so wird die Textübertragung in ein
-
- anderes Programm eingeschaltet. Diesen Modus kann man auf die
-
- gleiche Weise wieder abstellen.
-
-
-
-
- 3.3 Handbook
-
-
- 3.3.1 Allgemeines
-
-
- Handbook ist der große Bruder von Chemie-Daten. Hier sind Daten
-
- von verschiedenen Substanzen in Tabellenform eingetragen. Daten,
-
- die beim Programmstart geladen werden, müssen sich in der Datei
-
- HANDBOOK.HBK oder in der in HANDBOOK.INF angemeldeten Datei
-
- befinden. Das Programm wird durch Pulldown-Menüs bedient, die bis
-
- auf einige Abweichungen wie die des Desktops arbeiten. Zum
-
- Herunterklappen eines Menüs muß dazu der Menütitel angeklickt
-
- werden. Abweichend vom Desktop wird der Menüpunkt unter dem
-
- Mauszeiger nicht automatisch invertiert, sondern erst beim An-
-
- klicken. Das Menü verschwindet, wenn man den leeren Teil der
-
- Menüzeile anklickt. Man kann sich in der Datei mit Hilfe des
-
- Schiebereglers an der rechten Seite umsehen. Das ist auch mit
-
- Hilfe der Cursortasten möglich. Die Cursortasten bewegen die
-
- Datei seitenweise, Shift-Cursor zeilenweise. Mit Clr Home kommt
-
- man an den Anfang der Datei, mit Shift Clr Home an das Ende.
-
-
-
- 3.3.2 Desk
-
-
- Hier befindet sich wie bei jedem GEM-Programm das Programm-Info.
-
- Weiterhin können hier weitere Accessories eingetragen werden.
-
- Diese Accessories müssen mit CHEMCALC zusammenarbeiten können.
-
-
- 3.3.3 Datei
-
-
- Hier werden die Dateioperationen geregelt. "Neue Datei" dient
-
- dazu, eine neue Datei anzulegen. Weiterhin kann man eine andere
-
- Datei laden sowie die aktuelle Datei sichern und drucken. Mit
-
- "Block lesen" kann man Daten an eine bestehende Datei anhängen.
-
- Mit "Block schreiben" und "Block drucken" kann man einen Block
-
- auf Diskette schreiben bzw. drucken. Mit "Block als Text" kann
-
- man einen Block direkt in einen Text übernehmen. Dabei muß man
-
- auf das eingestellte Programm im Optionen-Menü achten. Klickt man
-
- "Ende" an, kann man das Accessory verlassen. Handbook kann man
-
- auch durch Drücken der ESC-Taste verlassen.
-
-
-
- 3.3.4 Edit
-
-
- 3.3.4.1 Eingeben
-
-
- Hier kann man neue Daten eingeben, wobei man zwischen Eigen-
-
- schaften und Werte eingeben wählen muß. Eigenschaften werden bei
-
- der Neuanlage einer Datei eingegeben. Dabei werden der Eintrag im
-
- Desktop, eine zweizeilige Überschrift und die einzelnen Eigen-
-
- schaften mit den dazugehörigen Einheiten eingegeben. Der Eintrag
-
- im Desktop wird beim nächsten Booten in das Deskmenü des
-
- Computers eingefügt.
-
- Die Daten kann man eingeben, wenn man "Werte eingeben" anklickt.
-
- Nach der Eingabe muß man den Button "Eingabe richtig" anklicken,
-
- um die Daten in die Datei aufzunehmen.
- Müssen Daten aus anderen Accessories geholt werden, klickt man
-
- eines der unter "Desk" eingetragenen Accessories an. Das
-
- gelieferte Ergebnis wird dann an der Stelle, wo der Cursor steht
-
- eingetragen.
-
- Mit dem Menüpunkt "Sonderzeichen" können bei der Bearbeitung von
-
- Handbook-Daten Zeichen eingegeben werden, die über die Tastatur
-
- nicht verfügbar sind.
-
-
-
- 3.3.4.2 Ändern
-
-
- Will man Daten ändern, so klickt man das zu ändernde Datum und
-
- anschließend den Menüpunkt ändern an. Die weitere Bedienung ist
-
- die Gleiche wie bei "Eingeben".
-
-
- 3.3.4.3 Block markieren
-
-
- Ein Block kann man markieren, indem man ein Datum anklickt und
-
- "Block Anfang" anklickt. Hat man das Ende des Blocks markiert,
-
- wird dieser angezeigt und man kann ihn drucken oder auf Diskette
-
- schreiben.
-
-
-
- 3.3.4.4 Suchen
-
-
- Man kann Einträge in der ersten Spalte suchen. Dazu klickt man
-
- "Suchen" an und gibt den Suchbegriff ein. Der erste gefundene
-
- Datensatz wird in der ersten Zeile angezeigt. "?" kann als
-
- Wildcard benutzt werden.
-
- Mit "Weiter suchen" kann die Suche fortgesetzt werden.
-
-
- 3.3.5 Optionen
-
-
- 3.3.5.1 Sortieren
-
-
- Die Daten können sortiert werden, wobei Sortierschlüssel die
-
- erste Spalte ist. Hat man eine Sortierung gewählt, werden die
-
- Daten nach jeder Veränderung sortiert. Verändert man die Daten
-
- oder gibt neue ein, sollte man "Unsortiert" wählen, dann man
-
- sonst die Daten suchen muß, wenn man sie nochmal überprüfen will.
-
-
-
-
- 3.3.5.2 Chemcalc-Module anmelden, abmelden
-
-
- Hier kann man die Accessories anmelden, die im Desk-Menü erschei-
-
- nen. Dazu gibt man den Dateinamen ohne Extender sowie den Typ der
-
- Daten ein, den das Accessory liefern soll. Der Dateiname wird im
-
- Desk-Menü eingetragen.
-
- Will man ein Accessory abmelden, so braucht man nur den Namen
-
- anklicken.
-
-
- 3.3.5.3 Default-Datei anmelden
-
-
- Welche Daten beim Programmstart geladen werden, kann man unter
-
- "Default-Datei anmelden" einstellen.
-
-
- 3.3.5.4 Ziffernblock einstellen
-
-
- Mit "Ziffernblock einstellen" kann man angeben, für welche Spalte
-
- bei der Ergebnisausgabe Ziffern, Klammern und Operatoren (*/+-)
-
- als Tastendruck auf die entsprechende Taste im Ziffernblock
-
- ausgegeben werden. Das ist für die Anwender von Textverarbei-
-
- tungen interessant, bei denen der Ziffernblock mit anderen
-
- Zeichen (kleinere Zahlen als Indices) belegt werden kann. Zur
-
- Zeit kann man zwischen ASCII-Editoren, Script und Wordplus 3.15
-
- wählen. Für ASCII-Editoren und Wordplus sind alle Zeichen des
-
- Atarizeichensatzes verfügbar, also auch die Sonderzeichen. Bei
-
- Wordplus 3.15 wird dabei ein Tastendruck auf die Funktionstaste
-
- F6 simuliert.
-
-
- Mit "Optionen sichern" kann man die Anmeldungen sichern, so daß
-
- sie beim nächsten Booten sofort verfügbar sind.
-
-
-
- 3.4 Handbook+
-
-
- Für Leute, die Chemcalc, Perioden-System, Handbook und Chemie-
-
- Daten (womöglich mehrfach) ständig mitbooten und denen die 6
-
- Menüeinträge für Accessories knapp werden gibt es jetzt Hand-
-
- book+. Handbook+ besteht aus Handbook, Perioden-System und
-
- Chemie-Daten und benötigt als ein Accessory natürlich nur einen
-
- Menüeintrag. Die Bedienung ist die gleiche wie die der einzelnen
-
- Accessories. Klickt man Handbook+ vom Desktop an, so gelangt man
-
- in den schon bekannten Teil von Handbook. In der Menüzeile
-
- befindet sich der zusätzliche Eintrag "Andere Daten". Klickt man
-
- ihn an, so erscheinen die Einträge für Periodensystem und Chemie-
-
- Daten. Dabei ist Chemie-Daten acht Mal vorhanden und kann
-
- entsprechend umfangreich genutzt werden. Welche Daten beim Pro-
-
- grammstart geladen werden, kann man im Optionen-Menü unter
-
- "Default-Dateien anmelden" einstellen. Das Datei-Format ist mit
-
- dem von Chemie-Daten identisch.
-
- Die einzelnen Teile von Handbook+ können von Chemcalc gezielt
-
- aufgerufen werden. Handbook+ wertet dabei die Funktionsnummer der
-
- Nachricht $6502 aus. Dabei gilt:
-
- 0 = Handbook
-
- 1 = Perioden-System
-
- 2 - 9 = Chemie-Daten
-
-
-
-
- 3.5 Komplexe
-
-
- Komplexe ist ein Demo-Accessory, das lediglich dazu dient, die
-
- Übertragung von Formeln zu demonstrieren. Es liefert die Formeln
-
- von einigen chemischen Substanzen. Von CHEMCALC kann es mit der
-
- Nachrichtennummer $6602 aufgerufen werden und die angeklickte
-
- Formel mit der Meldung $6603 zurückschicken. Die Funktion "mol"
-
- des Rechners kann damit etwas anfangen.
-
-
-
-
- 3.6 Patch
-
-
- Patch ist ein Programm, mit dem man die Namen der Default-Dateien
-
- von Chemie-Daten, Handbook und Handbook+ ändern kann. Dadurch
-
- können diese Accessories mehrfach mit verschiedenen Dateien
-
- installiert werden. Bei Chemie-Daten wird der Name der Daten-
-
- Datei geändert, bei Handbook und Handbook+ die Namen der INF-
-
- Dateien. Nach erfolgter Änderung müssen die Namen der Programm-
-
- Dateien und der Resource-Dateien geändert werden. Die Resource-
-
- Datei muß bis auf den Extender den gleichen Namen wie die
-
- Default-Datei haben. Ein Beispiel:
-
- Es soll Chemie-Daten zweimal installiert werden, und zwar mit den
-
- ebullioskopischen und kryoskopischen Konstanten. Diese Konstanten
-
- findet man in den Dateien EBULLIO.DAT und KRYO.DAT. Jetzt braucht
-
- man nur zwei Kopien von Chemie-Daten unter den Namen EBULLIO.ACC,
-
- EBULLIO.RSC sowie KRYO.ACC und KRYO.RSC auf die Bootdiskette
-
- spielen und mit Patch die Namen der Default-Dateien auf EBULLIO
-
- bzw. KRYO ändern. Den Extender .DAT fügt das Accessory selber
-
- hinzu. Am Ende müssen sich auf der Bootdiskette die Dateien
-
- EBULLIO.ACC, EBULLIO.RSC, EBULLIO.DAT, KRYO.ACC, KRYO.RSC und
-
- KRYO.DAT befinden. Installiert man Handbook zweimal, so muß das
-
- Ergebnis beispielsweise so aussehen: HANDBOOK.ACC, HANDBOOK.RSC,
-
- HANDBOOK.INF und HANDBUCH.ACC, HANDBUCH.RSC, HANDBUCH.INF.
-
- Die ursprünglich vorgesehene Methode, einfach den Namen der
-
- Accessories zu ändern ist nicht möglich, da man auf legale Weise
-
- nicht ermitteln kann, unter welchen Namen ein Accessory gestartet
-
- wurde.
-
-
-
-
- 4. Einzelheiten für Programmierer
-
-
- 4.1 Allgemeines
-
-
- Es ist natürlich klar, daß an die zusätzlichen Accessories
-
- gewisse Anforderungen gestellt werden. Sie müssen Nachrichten
-
- vom Rechner empfangen, darauf reagieren und Antworten schicken
-
- können. Wie das funktioniert soll im folgenden beschrieben
-
- werden.
-
-
-
- 4.2 Das Nachrichtensystem [4]
-
-
- Die Accessories tauschen mit Hilfe der AES-Funktionen
-
- APPL_WRITE (AES 12) und APPL_READ (AES 11) Nachrichten aus.
-
- Zuerst wird die Identifikationsnummer (ap_id) des angesprochenen
-
- Accessorys mit der AES-Funktion APPL_FIND (AES 13) ermittelt.
-
- Wird das Accessory nicht gefunden, so wird der Dialog abgebrochen
-
- und eine entsprechende Meldung ausgegeben. Wird das Accessory
-
- gefunden, so erhält man mit APPL_FIND dessen ap_id.
-
-
-
- 4.2.1 Ablauf des Dialoges
-
-
- Zuerst müssen einige Dinge über Nachrichten, die für Accessories
-
- bestimmt sind, geklärt werden. In vielen Büchern oder Zeit-
-
- schriften, die sich mit diesem Thema befassen heißt es, daß die
-
- Nachrichten AC_OPEN (40) und AC_CLOSE (41) nur von Accessories
-
- empfangen werden kann. Das stimmt so nicht, AC_OPEN und AC_CLOSE
-
- wird auch von anderen Programmen empfangen, wenn man ihnen diese
-
- Nachrichten schickt. Klickt man den Menüeintrag eines Accessorys
-
- an, so schickt der Screenmanager, eine Task, die parallel zum
-
- Hauptprogramm läuft und sich um die Pulldownmenüs und Fenster-
-
- elemente kümmert, an das Accessory die Nachricht AC_OPEN. Man
-
- kann es aber auch so einrichten, daß ein Accessory mit einer
-
- selbstdefinierten Nachricht aktiv wird, wenn man diese dem
-
- Accessory schickt. Alle in diesem Handbuch beschriebenen Acces-
-
- sories werden daher auch bei anderen Nachrichten aktiv.
-
- CHEMCALC benutzt zwei Typen von Nachrichten. Nachrichten mit
-
- einer ungeraden Nachrichten-Nummer werden nicht beantwortet,
-
- solche mit einer geraden Nummer werden mit der folgenden unge-
-
- raden Nummer beantwortet.
-
- CHEMCALC versteht ab Version 1.9 das XACC-Protokoll der Stufe 1,
-
- daher mußten die Nachrichtennummern geändert werden. Weiterhin
-
- wurden bei dieser Gelegenheit einzelne Nachrichten geändert.
-
-
- Folgende Nachrichtennummern werden zur Zeit benutzt:
-
-
- Tab. 7: Nachrichtennummern
-
-
- $6400 Anfrage, ob Rechner installiert ist
-
- $6401 Quittierung einer Nachricht (wird immer gesendet)
-
- $6403 Moduseinstellung von einem Programm
-
- $6404 - $64FE Systemnachrichten, noch nicht benutzt
-
- $64FF Fataler Fehler ist aufgetreten, ACC meldet sich ab
-
- $6502 Fließkommazahl wird angefordert
-
- $6503 Fließkommazahl wird gesendet
-
- $6504 - $65FF noch nicht benutzt
-
- $6602 Formel wird angefordert
-
- $6603 Formel wird gesendet
-
- $6604 - $66FF noch nicht benutzt
-
- $6702 Ankündigung einer Formel
-
- $6704 Formel wird an CHEMCALC gesendet und sofort
-
- berechnet
-
- $6705 Antwort auf $6704
-
-
- Bei den Nachrichten $6400, $6403, $6702, $6704 arbeitet CHEMCALC
-
- unsichtbar, es gibt also keine Ausgabe auf den Bildschirm. Diese
-
- muß das aufrufende Programm erledigen.
-
- Da die Beantwortung vieler Fragen eine nicht vorherzusehende
-
- Zeit in Anspruch nimmt, müssen sie erst einmal mit
-
- $6401 bestätigt werden. Erst wenn diese Bestätigung ankommt,
-
- kann auf die Antwort gewartet werden. Dadurch wird vermieden,
-
- daß man auf eine Antwort wartet, die niemals kommt, weil die
-
- Frage nicht verstanden wird. Installiert man beispielsweise
-
- das Kontrollfeld als Accessory, das eine Konstante liefern
-
- soll, kann man lange auf die Antwort warten. Um das weiter zu
-
- verdeutlichen, soll der Dialog mit dem Accessory Perioden-System
-
- beschrieben werden.
-
- Perioden-System ist ein Accessory, das für jedes chemische
-
- Element eine Menge Konstanten liefert, die man für viele
-
- Berechnungen in der Chemie braucht.
-
- Wenn eine Konstante verlangt wird, so sendet CHEMCALC an
-
- Perioden-System eine Nachricht mit der Nummer $6502. Das ist
-
- eine gerade Nachrichtennummer, muß also beantwortet werden.
-
- Jetzt wartet CHEMCALC 2 Sekunden auf die Bestätigung. Vergehen
-
- die 2 Sekunden, ohne das etwas passiert, kann Perioden-System
-
- nicht antworten und CHEMCALC gibt eine entsprechende Meldung
-
- aus. Das geschieht z. B. in dem Fall, wenn man das Kontrollfeld
-
- als Perioden-System ausgibt. Das Gleiche, aber schneller
-
- geschieht dann, wenn bei der Nachricht $6401 message&(3)=0 ist.
-
- Das bedeutet, daß eine Antwort mit $6503 verweigert wird, aus
-
- welchen Gründen auch immer.
-
- Perioden-System kann die Nachricht $6502 verstehen, bestätigt
-
- sie mit der Nachricht $6401 an den Absender (message&(3)=1) und
-
- kann sich jetzt mit der Antwort $6503 beliebig Zeit lassen.
-
- Für den Anwender heißt das, man kann sich Perioden-System
-
- genau ansehen oder zwischendurch etwas anderes machen.
-
- CHEMCALC wartet geduldig, bis man fertig ist.
-
- Hat man eine Konstante ausgewählt und verläßt Perioden-System, so
-
- wird diese mit der Nummer $6503 an CHEMCALC geschickt.
-
-
-
- 4.2.2 Aufbau der Nachrichten
-
-
- Nachrichten wie $6400, $6401, $6502 und $6503 haben die GEM-
-
- Standardlänge von 16 Bytes, die in 8 Worte aufgeteilt sind. Die
-
- ersten 3 Worte sind zur Organisation des Dialoges reserviert, so
-
- daß für eigene Zwecke 5 Worte übrigbleiben. CHEMCALC ist in
-
- GFA-BASIC 3.5 geschrieben, die programmiertechnischen Einzel-
-
- heiten beziehen sich auf diese Sprache. Die folgende Tabelle
-
- zeigt den Aufbau einer Standardnachricht.
-
-
- message&(0) Nachrichtennummer
-
- message&(1) ap_id des Absenders
-
- message&(2) Zusätzliche Bytes der Nachricht; bei Standardlänge
-
- von 16 Bytes 0
-
- message&(3) - message&(7) Nachricht
-
-
- Es ist sehr wichtig, daß das sendende Programm seine ap_id in
-
- message&(1) einträgt, da sonst der Empfänger nicht weiß, wohin
-
- die Antwort geschickt werden soll.
-
- Im Folgenden wird der Aufbau der einzelnen Nachrichten
-
- beschrieben. Da der Aufbau der ersten 3 Worte in allen Nach-
-
- richten gleich ist, wird nur bei Besonderheiten darauf einge-
-
- gangen.
-
-
- $6400 Anfrage, ob Rechner installiert ist
-
-
- message&(3) - message&(7) reserviert, immer 0
-
-
- $6401 Allgemeine Bestätigung einer Anfrage
-
-
- message&(3) Wenn <> 0, Anfrage wird bearbeitet, 0: Bearbeitung
-
- verweigert
-
-
- message&(4) - message&(7) reserviert, immer 0
-
-
- $6403 Moduseinstellung
-
-
- message&(3) Modus
-
- message&(4) Submodus (bei Modi 9 - 11)
-
- message&(5) - message&(7) immer 0
-
-
- $64FF Ein schwerer Fehler ist aufgetreten
-
-
- message&(3) Fehlernummer (GFA-Basic)
-
- message&(4) - message&(7) nicht benutzt
-
-
- $6502 Fließkommazahl im IEEE-Double-Format anfordern
-
-
- message&(3) Funktionsnummer
-
- message&(4) - message&(7) reserviert, 0
-
-
- $6503 Fließkommazahl ohne Bestätigung senden
-
-
- message&(3) reserviert, immer 0
-
- message&(4) Fließkommazahl im IEEE-Double-Format (8 Bytes)
-
- message&(5) "
-
- message&(6) "
-
- message&(7) "
-
-
- $6602 Formel anfordern
-
-
- message&(3) Funktionsnummer
-
- message&(4) - message&(7) nicht benutzt
-
-
- $6603 Formel ohne Bestätigung senden
-
-
- message&(2) Länge der Formel (=Überlänge der Nachricht)
-
- message&(3) - message&(7) nicht benutzt
-
- message&(8) - message&(63) Formel
-
-
- Eine Formel kann maximal 112 Zeichen lang sein. Die Über-
-
- tragung von Formeln unterscheidet sich von der Übertragung von
-
- Zahlen, da hier Nachrichten mit Überlänge verschickt werden. Der
-
- Anfang des Dialoges gleicht dem Nachrichtenaustausch CHEMCALC
-
- - Perioden-System. Empfängt CHEMCALC die Nachricht $6603, prüft
-
- er den Inhalt von message&(2). Ist dieser größer als 0, so wird
-
- mit der Funktion APPL_READ der Rest der Nachricht ausgelesen.
-
- GFA-BASIC Fließkommazahlen werden auf folgende Weise in das
-
- Integerfeld message&() übertragen:
-
-
- DOUBLE{V:message&(4)}=ergebnis (GFA-BASIC 3.x und IEEE-
-
- Double Fließkommazahlen
-
- sind 8 Bytes lang)
-
-
-
- umgekehrt:
-
-
- ergebnis=DOUBLE{V:message&(4)}
-
-
- Formeln werden auf folgende Weise in das Feld message&()
-
- übertragen:
-
-
- BMOVE V:formel$,V:message&(8),LEN(formel$)
-
-
- und zurück:
-
-
- formel$=SPACE$(message&(2))
-
- BMOVE V:message&(8),V:formel$,message&(2)
-
-
- Offensichtlich ist die Message-Pipe 128 Bytes groß, daher können
-
- mit der Funktion APPL_READ maximal 112 Bytes ausgelesen werden.
-
- Von den 128 Bytes bilden die ersten 16 Bytes die Standard-
-
- nachrichten.
-
-
- 4.3 CHEMCALC als Programmerweiterung
-
- 4.3.1 Konstanten von Hand berechnen
-
-
- Am Anfang dieser Anleitung wurde schon gesagt, das der Name
-
- dieses Accessorys nicht geändert werden soll. Die Begründung soll
-
- jetzt nachgeholt werden.
-
- CHEMCALC ist in der Lage, Konstanten oder Formeln aus fremden,
-
- aber dafür geeigneten Accessories zu holen. Dazu werden an die
-
- Accessories spezielle Nachrichten verschickt. Jetzt kann aber
-
- ein beliebiges Programm CHEMCALC dazu aufordern, einen Wert zu
-
- berechnen und zurückzuschicken. Der inaktive CHEMCALC versteht
-
- daher außer der Nachricht 40 von Desktop die spezielle Nachricht
-
- $6502, die ihn auffordert, einen Wert zu berechnen und an
-
- das Programm zurückzuschicken. Der Aufbau des Dialoges ist
-
- der gleiche wie der von CHEMCALC und Perioden-System, d. h.
-
- CHEMCALC bestätigt die Anfrage mit $6401 und kann sich dann
-
- mit der Berechnung Zeit lassen. Das fragende Programm kann
-
- dann nach Empfang der Meldung $6401 sicher sein, daß
-
- sein Anliegen bearbeitet wird. CHEMCALC schickt die Antwort
-
- ab, wenn sein Schließfeld angeklickt wird.
-
- Man kann das Ganze noch ausweiten, in dem man sich dabei aus
-
- anderen Accessories Formeln und Konstanten holt, CHEMCALC damit
-
- rechnen läßt und das Ergebnis an das Programm zurückschickt. Es
-
- muß doch schön sein, viele zu beschäftigen.
-
- Damit das Ganze in Gang gesetzt werden kann, muß das Programm die
-
- ap_id von CHEMCALC ermitteln. Das geschieht so:
-
-
- ap_id&=APPL_FIND("CHEMCALC")
-
-
- ap_id& muß jetzt größer oder gleich 2 sein, und das ist nur der
-
- Fall, wenn der Rechner als CHEMCALC.ACC gestartet wurde. (Die
-
- ap_id des laufenden Programms ist 0, die des Screenmanagers, zu
-
- finden mit APPL_FIND("SCRENMGR"), ist 1). Damit jedes Programm,
-
- das CHEMCALC benutzen kann den Rechner auch findet, unab-
-
- hängig davon woher man ihn hat, sollte man den Namen auf
-
- keinen Fall ändern. Damit ist aber nur sichergestellt, daß das
-
- Programm die ap_id eines Accessorys mit Namen "CHEMCALC" kennt.
-
- Um sicher zu gehen, mit diesem CHEMCALC zu arbeiten, kann das
-
- Programm mit der Nachricht $6400 nachfragen. Wenn jetzt eine
-
- Antwort mit der Nummer $6401 kommt (message&(3)=1!), dürften wohl
-
- keine Zweifel an der Indentität von CHEMCALC offen bleiben. Das
-
- Programm kann aus der Antwort weitere Schlüsse ziehen und
-
- beispielsweise bestimmte Einstellungen vornehmen, den Anwender
-
- informieren oder was man auch immer für diesen Fall vorsehen mag.
-
- Die Modi 9-11 sowie die Rundungseinstellungen sind bei Anfragen
-
- mit $6503 nicht wirksam. Das Ergebnis den eigenen Anforderungen
-
- entsprechend aufzubereiten bleibt dem aufrufenden Programm vorbe-
-
- halten.
-
-
- Mit der Nachricht $6403 kann ein Programm eine der Betriebsarten
-
- 2-14 einstellen. Dadurch könnte beispielsweise ein Programm-
-
- editor, bevor er CHEMCALC aufruft, diesen auf Rechnungen mit
-
- Hexadezimal oder Binärzahlen einstellen. Müssen mehrere Betriebs-
-
- arten eingestellt werden, muß die Nachricht entsprechend oft
-
- wiederholt werden.
-
-
-
- 4.3.2 Konstanten im Hintergrund berechnen
-
-
- CHEMCALC kann seinen Formelparser anderen Programmen zur
-
- Verfügung stellen, ohne selber dabei in Erscheinung zu treten.
-
- Das Programm schickt dazu an CHEMCALC eine Formel, dieser
-
- berechnet sie und schickt diese an das Programm zurück. Wie das
-
- funktioniert, soll hier beschrieben werden.
-
- Da Formeln meistens länger als die freien 10 Bytes einer
-
- Standardnachricht sind, ist der Dialog zwischen CHEMCALC und dem
-
- Programm etwas komplizierter, zumal hier zum reibungslosen
-
- Funktionieren auch noch Sicherungen eingebaut werden müssen. Der
-
- Austausch der Nachrichten soll hier kurz skizziert werden:
-
-
- PRG an CHEMCALC $6702 Ankündigung einer längeren Nachricht
-
- Länge der Nachricht in message&(3)
-
- CHEMCALC an PRG $6401 Nachricht bestätigen, wenn Nachricht
-
- empfangen werden kann
-
- PRG an CHEMCALC $6704 Formel mit Überlänge wird gesendet.
-
- message&(8)-message&(x): Formel
-
- CHEMCALC an PRG $6705 Ergebnis
-
-
-
- Der erste Teil dient der Vorbereitung der Nachrichtenüber-
-
- mittlung. Das Programm teilt CHEMCALC in der Nachricht $6702 mit,
-
- daß es eine Formel mit einer bestimmten Länge berechnet haben
-
- möchte. Sollte CHEMCALC dazu in der Lage sein, bestätigt er die
-
- Ankündigung mit der Nachricht $6401. Wenn das Programm die
-
- Bestätigung bekommt, dann und nur dann darf es CHEMCALC die
-
- Formel senden.
-
- CHEMCALC verweigert die Annahme von Formeln, die länger als 112
-
- Bytes sind oder wenn er vorher aufgrund eines unvorhergesehenen
-
- Fehlers abgestürzt ist. In allen anderen Fällen wird eine
-
- Berechnung durchgeführt.
-
- Das Verfahren erscheint kompliziert, ist aber nicht grundlos so
-
- gewählt. Wenn man Nachrichten mit Überlänge verschickt, sollte
-
- man sicher sein, das diese Nachrichten gelesen werden können.
-
- Nachrichten mit der Standardlänge von 16 Bytes kann man an jedes
-
- Programm schicken, ohne daß etwas passiert. Bei Nachrichten mit
-
- Überlänge kann jedes Programm 16 Bytes empfangen, nur steckt dann
-
- der Rest noch in der Message-Pipe, und wenn diese nicht ausge-
-
- lesen werden, hat das sehr schnell verheerende Folgen und man
-
- kann schon mal den Reset-Knopf des Computers suchen. Bei
-
- Versuchen mit Perioden-System wurde bei einer Anfrage mit Über-
-
- länge diese zwar bestätigt, als aber die Daten verschickt werden
-
- sollten, rührte sich nichts mehr. Daher sollte man etwas vorsich-
-
- tig sein, wenn man Nachrichten mit Überlänge verschickt. Unange-
-
- kündigt an irgendein Programm sollte man das nicht tun.
-
- Eine zweite Möglichkeit, Hintergrundberechnungen durchzuführen
-
- steht den Programmen offen, die das XACC-Protokoll der Stufe 1
-
- verstehen. Schickt ein derartiges Programm CHEMCALC einen Text,
-
- der nicht länger als 512 Zeichen lang sein darf, so wird dieser
-
- als mathematischer Ausdruck gewertet, der, sofern möglich,
-
- berechnet wird. Das Ergebnis wird auf die gleiche Weise an das
-
- Programm zurückgeschickt.
-
-
-
- 4.4 Die letzten Worte
-
-
- Bei den letzten Worten handelt es sich nicht um die letzten
-
- Worte dieser Anleitung, sondern um die letzten Worte des Calcula-
-
- tors. Diese gibt er nämlich von sich (er versucht es zu mindest,
-
- wenn das nicht klappt ist ohnehin alles vorbei), wenn beim
-
- Betrieb ein unvorhergesehener Fehler auftritt. Die Fehlerbehand-
-
- lung bei kompilierten GFA-BASIC-Programmen ist (zu mindest bei
-
- mir) ein Kapitel für sich, jedenfalls ist es kaum möglich, das
-
- Programm wieder in Gang zu bringen. Startet man den Rechner als
-
- PRG, so terminiert er nach einem Fehler, als Accessory darf er
-
- das aber nicht. Da es aber keine fehlerfreien Programme gibt,
-
- und das gilt natürlich auch für CHEMCALC, müssen die Folgen
-
- eines Fehlers so klein wie möglich gehalten werden. Bei CHEMCALC
-
- wird in derartigen Fällen wie folgt verfahren:
-
- Tritt ein Fehler auf, wird eine Fehlernummer ausgegeben.
-
- Anschließend wird, wenn der Rechner von einem anderen Programm
-
- aufgerufen wurde, die Nachricht $64FF mit der Fehlernummer an das
-
- Programm geschickt. Danach legt sich der Rechner in einer
-
- endlosen EVNT_TIMER()-Funktion mit passender Schleife zur ewigen
-
- Ruhe.
-
-
-
-
-
- 4.5 Probleme mit dem GEMINI und XACC-Protokoll
-
-
- In allen Accesories wurde das GEMINI-AV-Protokoll schon implemen-
-
- tiert und funktionierte zufriedenstellend, da trat bei einem
-
- Test, bei dem CHEMCALC mit 3 Zusatz-Accessories (HANDBOOK,
-
- HANDBOOK+ und Perioden-System) installiert wurde ein häßlicher
-
- Fehler auf. Nachdem ich mir eine Datei auf dem Desktop angesehen
-
- hatte wurde der Desktop nach dem Ende nicht wieder aufgebaut.
-
- Nach dem Zeichnen der Fensterelemente der ersten Fensters war
-
- Schluß, es mußte neu gebootet werden. GEM-Programme stellten beim
-
- Versuch ein Fenster zu öffnen ihre Tätigkeit ein. Wurden nur 3
-
- CHEMCALC-Accesories installiert, funktionierte alles zufrieden-
-
- stellend, vorausgesetzt im Desktop waren höchstens 2 Fenster
-
- offen. Bei mehr Fenstern stellte sich wieder der Fehler ein.
-
- Gemini mit 7 offenen Fenstern lief nicht, wenn CHEMCALC als
-
- einziges Accesory installiert war.
-
- Nachdem der Fehler in CHEMCALC nicht gefunden werden konnte
-
- installierte ich versuchsweise TREEVIEW mehrfach, und siehe da, 5
-
- TREEVIEWs und der Desktop mit 4 Fenstern waren eine Kombination
-
- mit Absturzgarantie. Bei Gemini mit 7 Fenstern reichten schon 2
-
- TREEVIEWs (1 TREEVIEW und 1 XACC-fähiges Accessory oder 2 XACC-
-
- fähige Accessories auch) zum Absturz aus.
-
- Der Fehler kann nur behoben werden, wenn die Identifizierungs-
-
- prozedur beider Protokolle geändert wird. Accessories, die das
-
- XACC- oder GEMINI-Protokoll beherrschen identifizieren sich beim
-
- Hauptprogramm, nachdem sie eine AC_CLOSE-Mitteilung vom Desktop
-
- erhalten haben. Dazu senden sie an das Hauptprogramm die Nach-
-
- richten ACC_ID (XACC) oder AV_PROTOKOLL (GEMINI). Läuft kein
-
- Programm, ist der Desktop das Hauptprogramm. Wenn der Desktop
-
- Fenster öffnet, bekommt er von Screenmanager für jedes Fenster
-
- eine Redraw-Nachricht geschickt. Da aber in den Message-Puffer
-
- nur 8 Standardnachrichten Platz haben, läuft der Puffer über,
-
- wenn 6 Accessories ihre Nachrichten schicken und für 4 oder mehr
-
- Fenster Redraw-Nachrichten ankommen. Noch schwieriger wird es,
-
- wenn die Accessories beide Protokolle vestehen.
-
- CHEMCALC ist für den Betrieb mit Anwender-Programmen wie bei-
-
- spielsweise Textprogramme, Datenbanken, spezielle Chemie-Pro-
-
- gramme u.s.w. vorgesehen, daher kann auf das GEMINI-Protokoll
-
- verzichtet werden, da ohnehin nur der Aufruf vom GEMINI-Desktop
-
- vorgesehen war. Die Möglichkeit der Ergebnisübertragung in Pro-
-
- gramme wie Thats-Write ist hier wichtiger. Hat man das gesamte
-
- Paket und möglicherweise weitere Accessories, die das GEMINI oder
-
- XACC-Protokoll beherrschen, installiert, sollte man folgendes
-
- beachten:
-
- Die Summe von installierten Accessories und offenen Desktop-
-
- fenstern darf nicht größer als 8 werden. Accessories, die beide
-
- Protokolle beherrschen, zählen doppelt. Unter WINX kann das
-
- anders aussehen, aber da ich das Programm nicht besitze, (Rechner
-
- mit TOS 1.02) kann ich das nicht prüfen.
-
- Die Bedenken, die Herr Andreas Kromke bezüglich Nachrichten mit
-
- Überlänge in seinem Artikel in der C'T [5] äußert, kann ich nicht
-
- teilen. Wer sich bei Nachrichten mit Überlänge an die in Kapitel
-
- 4.3.2 genannten Bedingungen hält, dürfte keine Probleme damit
-
- haben. Applikationen, die mittels überlanger Nachrichten mitein-
-
- ander kommunizieren, sollten dieses ohne Auswirkungen auf den
-
- Bildschirm erledigen, um der Gefahr einer eventuellen Redraw-
-
- Mitteilung des Screenmanagers zu entgehen.
-
-
-
-
- 4.6 Zukünftige Entwicklungen
-
-
- Der Chemie-Calculator ist in dem jetzigen Stadium sicher nicht am
-
- Ende der Entwicklung angelangt. Es wird bestimmt Wünsche zu einer
-
- Erweiterung geben. Was die Zusatzaccessories angeht, stehen im
-
- Rahmen des bestehenden Nachrichtensystems alle Möglichkeiten
-
- offen. Diese Zusatzaccessories müssen auch nicht von mir program-
-
- miert werden.
-
- CHEMCALC selbst soll weiterentwickelt werden. Für die weitere
-
- Zukunft sind Matrixberechnungen vorgesehen, die ja unter GFA-
-
- BASIC 3.5 besonders leicht sind. Das Tempo dieser Arbeiten ist
-
- allerdings auch vom Echo der Anwender abhängig. Registrierte
-
- Anwender werden auf jeden Fall als erste in den Genuß verbes-
-
- serter Versionen kommen.
-
- CHEMCALC 2.0 ist bereits fertig. Diese Version ist besser für
-
- Zusatzaccessories eingerichtet, die wie HANDBOOK+ mehrfach
-
- installiert werden können. Weiterhin wurde versucht, mit Hilfe
-
- der in der ST-COMPUTER 9/91 beschriebenen Methode die Resource-
-
- Datei in das Programm einzubinden, um CHEMCALC auch TT-tauglich
-
- zu machen, da bei einem Auflösungswechsel der Speicherbereich,
-
- den die Resourcen belegen nicht freigegeben wird. Dieses Problem
-
- gibt es auch beim ST, jedoch wird hier selten die Auflösung
-
- gewechselt. Das beschriebene Verfahren funktioniert auch, jedoch
-
- tritt eine merkwürdiger Fehler auf. Das Accessory wird beim
-
- Booten korrekt installiert, es fehlt jedoch der Eintrag in der
-
- Menüzeile. Dieser wird erst installiert, wenn ein Programm
-
- gestartet wird. Diesen Fehler habe ich bisher nicht gefunden,
-
- daher gibt nach wie vor die separate *.RSC-Datei. Wer dazu eine
-
- Lösung (bitte keinen Wechsel der Programmiersprache) gefunden
-
- hat, kann mir diese ja mitteilen.
-
-
-
- 5 Literatur
-
-
- [1] H. G. Zachmann, Mathematik für Chemiker, 3. Aufl., Verlag
-
- Chemie, Weinheim 1977
-
- [2] Werner Schmidt, Lehrprogramm Statistik, 1. Aufl., Verlag
-
- Chemie, Weinheim 1976
-
- [3] F. A. Cotton, G. Wilkinson, Anorganische Chemie, 4. Aufl.,
-
- Verlag Chemie, Weinheim 1982
-
- [4] Pipes, die letzte Grenze, Tom Hudson, ST-Magazin 6/1988
-
-
- [4] Soft Flirt, Andreas Kromke, C'T 11/1991
-
-
-
-
-
-