Nutzerdokumentation (Stand 15.10.84) Tableauprogramm SUPERCALC (1.12.) --------------------------------- 1. Allgemeines ---------------- 1.1. Das Tableau SUPERCALC ist ein CP/M-compatibles Programmpaket, welches sich aus drei Dateien zusammensetzt: SC.COM 24 K-Byte resisdente Befehlsdatei SC.HLP 9 K-Byte transiente Hilfsmenuedatei SC.OVL 14 K-Byte transiente Funktionsueberlaufdatei Mit ihrer Hilfe wird im verbleibenden Hauptspeicher (bei 64-K- Rechnern ca. 20 K-Byte) ein Tableau mit 63 Spalten (gekennzeichnet durch die Buchstaben A-Z, AA-AZ und BA-BK) sowie 254 Zeilen (Nr. 1-254) generiert. Die Spalten koennen, unab- haengig von der zwischen 0 bis 126 Zeichen waehlbaren Ausgabe- breite, je Zeile ein Element aufnehmen, welches damit eindeutig durch Spaltenbuchstabe und Zeilennummer adressiert werden kann (z.B. AG123). Ein Element wiederum kann jederzeit 116 Zeichen Text oder Formeln (10 Zeichen bleiben Format-und Steuerzeichen) aufnehmen. Zahlen koennen maximal mit 16 Stellen angegeben werden, wobei ein Faktor 10exp+/-63 (z.B. 0.12345678901234e-63, d.h., e steht fuer die Basis 10) ausreichende Groeszenordnungen ermoeglicht. Die Formelbelegung der Felder enthaelt die Voraussetzungen viel- faeltigste Beziehungen der Elemente (Zahlen-und Formelfelder / Textfelder haben den Wert = 0) zu definieren, die bei Aenderung eines Elementes automatisch oder auf Befehl alle neu berechnet werden. Damit ensteht die Moeglichkeit, ein geschaffenes Schema zum Variantenspiel beliebig oft zu benutzen. Neben der Anwendung als direktes Hilfsmittel eines Leiters zur Entscheidungsfindung sollen mit Projektierung, Bilanzierung, Planung und Abrechnung (z.B. durch das Arbeiten mit vertrauten Formblaettern) nur vier Eisatzgebiete genannt werden. 1.2. Kommunikation Nutzer-SUPERCALC Nach dem Laden des Betriebssystems (M/OS ab Version 3) und der SUPERCALC enthaltenden Komponentenkassette wird die Befehlsdatei aufgerufen: sc(ENTER) Das erscheinende Titelbild kann durch einen beliebigen Tasten- druck uebersprungen werden und der Bildschirm zeigt den linken oberen Ausschnitt des unter 1.1. beschriebenen Grundtableaus. Unter diesem "Fenster" sind noch weitere drei Zeilen zu sehen: 1. Statuazeile 2. Mentor 3. Eingabezeile Ueber diese Zeilen erfolgt die gesamte Kommunikation. Sie enthal- ten folgende Informationen: zu 1.- Tableaukursorprogrammirung (angezeigt durch Pfeilsymbol) - Adresse, Formatierung und Inhalt des aktuellen Elements (Dort befindet sich der Tableaukursor gerade.) - Fehlerausschriften des Betriebssystems zu 2.- Ausgabebreite der aktuellen Spalte (in Zeichen) - noch verfuegbarer Speicherbereich (in K-Byte) - letztes z.Z. in Benutzung befindliches Element (links un- ten) zur Eingrenzung des beschriebenen Bereichs - Hinweis des Mentors zur Fortsetzung der Arbeit (staendig kann mit Fragezeichen ein Hilfsmenue aufgerufen werden) zu 3.- laufende Nummer des aktuellen Zeichens in der Eingabezeile - fuer die Eingabe in das aktuelle Element bzw. fuer eine Befehlmontage erstellte Zeichenfolge Hat man sich aber bei einer Eingabe vertippt, ist das gleich in der Eingabezeile korrigierbar, da die vier Richtungspfeiltasten fuer den Kursor der Eigabezeile entsprechende Bedeutung haben und alle Zeichen (auszer Startsymbole) muehelos ueberschrieben werden koennen: Pfeil rechts: ein Zeichen nach rechts bzw. Freizeichen Pfeil links : ein Zeichen nach links Pfeil tiefer: loeschen des aktuellen Zeichens und Verschieben des Folgetextes um ein Zeichen nach links Pfeil hoeher: verschieben des aktuellen Zeichens einschlieszlich des Folgetextes um ein Zeichen nach rechts und einfuegen eines Freizeichens Durch (CTRL)z kann auch die gesamte Eingabezeile geloescht werden. Alle Eingaben von Daten (Zahlen,Formeln und Text) sind mit (ENTER) abzuschlieszen. Bei der Befehlsmontage gibt der Mentor gesonderte Hinweise. Bei Fehlerausschriften des BS ist entweder die Befehlseingabe nach Beheben des Fehlers (z.B. Kasste laden) zu wiederholen oder nach Abbruch von neuem mit der Arbeit zu beginnen. 1.3. Zur Kapazitaet Das im Hauptspeicher generierte Tableau ist natuerlich mit den verbleibenden 20 K-Byte nicht auszuschoepfen. Z.B. koennen bei einer Eingabe von 6 Zeichen je Element etwa 3400 Elemente - ca. 20% der Gesamtheit - belegt werden. Ganz abgesehen davon, dasz damit schon erhebliche Probleme loesbar sind, bietet das grosze Tableau die Moeglichkeit einer Untergliederung in Daten-und Pro- blembereiche. Letztere koennen dann strukturiert und nacheinander abgearbeitet werden, da die dort enthaltenen Formeln oft viel Speicherplatz benoetigen. So sind mit etwas gestiegenem Zeitaufwand auch groeszere Aufgaben loesbar. 2. Befehle und Funktionen ---------------------------- 2.1. Startsymbole Startsymbole stehen am Anfang einer Eingabe und beschreiben ihren Charakter bzw. loesen direkte Reaktionen aus: / ... Beginn eines Befehls " ... Beginn eines Textelements ` ... Beginn eines Wiederholungstextes (z.B. Unterstreichung) bis zum naechsten belegten Element = ... Beginn eines Sprungbefehls, dem die anzuspringende Feld- adresse folgt ! ... Berechnungsbefehl fuer das gesamte Tableau (auszer in Text- feldern) ; ... Wechsel des Tableaukursors in die alternative Bildschirm- haelfte (nach einer Bildschirmteilung) Alle anderen Zeichen werden als Beginn eines Zahlen-bzw. Formel- feldes interpretiert. 2.2. Adressierung von Feldern ------------------------------ Zur Montage von Befehlen werden neben den Startsymbolen und den Befehlsbuchstaben noch Adressen von Einzelfeldern oder ganzen Feldgruppen benoetigt. Dabei sind folgende Faelle zu unterscheiden: cell (Einzelfeld) Spaltenbuchstabe und Zeilennummer (ENTER) oder wenn es sich um die Adresse des aktuellen Elements handelt nur: (ENTER) row (Zeile) Zeilennummer (ENTER) oder bei aktueller Zeile nur: (ENTER) column (Spalte) Spaltenbuchstabe (ENTER) oder bei aktueller Spalte nur: (ENTER) block (eine von zwei Eckelementen-links oben oder rechts unten- begrenzte Menge von Elementen) Spbuchst.Zeilennr. :Spbuchst.Zeilennr. (ENTER) range (Reihe) wahlweise cell oder block 2.3. Befehle Befehle untergliedern sich in den Grundbefehl und einzelne Parameter. Dabei kann es sich um Befehlsworte oder Adressen handeln. Die Eingabe der Befehlsworte erfolgt nur durch ihren Anfangsbuchstaben. Vor der Befehlsliste sind jedoch drei grundlegende Bemerkungen notwendig: 1) Die Grundfunktionen des Betriebssystems M/OS werden groeszten- teils vom Tableauprogramm realisiert und der Nutzer ist nicht ge- zwungen das Programm zu verlassen. - Loeschen einer Datei (erase) ueber: / d(elete) f(ile) ... - Sichern einer Datei (save) ueber : / s(ave) ... - Ausgeben einer Datei (type) ueber : / o(utput) ... - Anzeigen eines Speicherverzeichnisses (directory) ueber: / l(oad) ... / s(ave) ... oder / x(execute) ... ohne die Angabe eines Dateinamens Dabei sind sowohl Laufwerkwechsel (chose disk) wie der Aufruf eines speziellen Verzeichnisses fuer CAl-Dateien (supercale directory) moeglich. Dieses liest jeweils alle Elemente A1 und schreibt ihren Inhalt zum Dateinamen. Somit besteht die Moeglichkeit, die kurzen Dateinamen durch einen Text bis zu 116 Zeichen zu kommentieren. - Umbenennung einer Datei (rename) nur fuer CAL-Dateien ueber: / l(oad) ... und / s(ave) ... (mit anderen Namen) 2) Bei einer Reihe von Befehlen (copy,load und replicate) ist es moeglich, als letzten Teil adjustment-Parameter zu unterscheiden, mit denen die Adressinhalte der Elemente entgegen dem automatischen Anpassungsverfahren nur teilweise oder gar nicht angepaszt uebertragen bzw. nicht uebertragen werden. Diese Parameter sind: n(o adjust) ... unveraenderte Uebertragung aller Adressen a(sk for adjust) ... es wird gefragt, welche Adressen anzupassen und welche konstant zu uebertragen sind v(alue) ... es werden nur die Werte (Zahlen oder Text) aber nicht die Fojmeln uebertragen 3) Dateinamen sind 1-8 Stellen lang (keine Leerzeichen) und durch einen Punkt von ihrer Klassebezeichnung getrennt. Diese wiederum umfaszt 0-3 Zeichen, d.h., bei 0 Zeichen wird die Standardklasse (CAL-Dateien) angenommen und der Trennungspunkt entfaellt. Soll eine Datei von einem anderen Laufwerk (aktuelles Bezugslaufwerk enthaelt SC-Dateien) geladen bzw. dorthin gespeichert werden, so sind vor dem Dateinamen Laufwerksbuchstabe und Doppelpunkt ein- zugeben. z.B. : c:computer.cal Befehlswort Aufbau und Inhalt ----------------------------------------------------------------- b(lank) / b range (ENTER) Loeschen der Elementeinhalte einschlieszlich Einzelformaten Befehlswort Aufbau und Inhalt ----------------------------------------------------------------- c(opy) / c quellrange (ENTER) zielcell (ENTER) oder adjustment Einfaches Kopieren von Elementeinhalten (vom Zielblock musz nur das linke obere Element als Adresse angegeben werden) d(elete) / d 1.Parameter 2.Parameter (ENTER) Loeschen einer Zeile, Spalte oder Datei; bei Zeile bzw. Spalte werden die Folgespalten bzw.-zeilen nachgerueckt und ihre Adressen automatisch umgewandelt 1.Parameter: c(olumn) Loeschen einer Spalte - 2.Param.:Sp.buchstabe r(ow) Loeschen einer Zeile - 2.Param.:Zeilennummer f(ile) Loeschen einer Datei -ohne 2.Param.:directory -2.Param.:Dateiname e(dit) / e cell (ENTER) Den Inhalt des angegebenen Elements in die Eingabezeile schreiben (z.B. zur Korrektur) f(ormat) / f 1.Param. 2.Param. (ENTER) Param.liste (ENTER) legt Ausgabeformat fest 1.Parameter: g(lobal) Formatieren des Tableaus - 2.Param.:entfaellt c(olumn) Formatieren einer Spalte -2.Param.:Sp.buchst. r(ow) Formatieren einer Zeile - 2.Param.:Zeilen-Nr. e(ntry) Formatieren von Einzelelementen-2.P.:range Parameterliste: Die folgenden Parameter koennen teilweise alternativ durch Komma getrennt in der ver- wendeten Reihenfolge angegeben werden. i(nteger) Ausgabe gerundeter ganzzahliger Zahlenwerte g(eneral) Ausgabe im Eingabeformat mit Gleitkomma, bei zu geringer Ausgabebreite in Exponential- schreibweise e(xponential) Ausgabe in Exponentialschreibweise (e steht fuer die Basis 10) $(Dollarsymbol) Ausgabe von Zahlen mit zwei Kommastellen r(ight)/l(eft) Ausgabe von Zahlen rechts-/linksbuendig t(ext)r/t(ext)l Ausgabe von Text rechts-/linksbuendig *(Sternsymbol) Ausgabe einer einfachen Wichtungsgrafik mit *-Balken d(efault) setzt Ausgabestandard (g,r,tl) (column idth) Festlegen der Ausgabespaltenbreite als Ziffer g(lobal) / g Parameter gestattet den Wechsel globaler Ausgabe-, Kursor-bzw. Rechenregeln fuer das ganze Tableau Parameter: f(ormeln) Alternative Ausgabe von Formeln oder ihren Ergebnissen n(ext) Ein-/Ausschalten der Kursorschrittautomatik (Kursorbewegung um ein Element in gleicher Richtung nach Beenden einer Eingabe) b(order) Ein-/Ausschalten der Zeilenbeschriftung t(ab) Ein-/Ausschalten der Kursorsprungautomatik (Ueberspringen leerer bzw. schreibge- schuetzter Elemente) c(olumn)/r(ow) Berechnung des Tableaus spalten-/zeilenweise m(anual)/a(uto) Ein-/Ausschalten der Berechnungsautomatik nach jeder Eingabe i(nsert) / i 1.Param. 2.Param. (ENTER) Einfuegen einer Spalte bzw. Zeile, wobei der Platz durch Verschieben der nachfolgenden und durch Loeschen der letzten Spalte bzw. Zeile geschaffen wird. Adressen werden automatisch angepaszt. 1.Parameter: c(olumn) Einfuegen einer Spalte - 2.Param.:Sp.buchst. r(ow) Einfuegen einer Zeile - 2.Param.:Zeilen-Nr. l(oad) / l dateiname (ENTER) 1.Param. 2.Param. (ENTER) 3.Param. (ENTER) oder, adjustment Laden einer Tableaudatei der Klasse CAL vom externen in den Arbeitsspeicher dateiname Ohne Dateiname:directory 1.Parameter: a(ll) Einlesen des gesamten Tableaus und Uebername seiner Formatbefehle; 2.und 3.Param. entfallen Befehlswort Aufbau und Inhalt ------------------------------------------------------------------ p(art) Einlesen eines Tableauausschnittes und nur Ubername von Einzelelementformaten entweder a(ll)...einschlieszlich aller Formeln oder v(alues)...ohne Formeln 2.Param.:quellrange; 3.Param.:zielcell m(ove) / m 1.Param. 2.Param.(ENTER) 3.Param. (ENTER) Verschieben einer Spalte bzw. Zeile mit automatischer Adressenaenderung 1.Parameter: c(olumn) Spaltenverschiebung; 2.Param.:Quellsp.buchst. 3.Param.:Zielsp.buchst. r(ow) Zeilenverschiebung ; 2.Param.:Quellzeilennr. 3.Param.:Zielzeilennr. o(utput) / o 1.Param. range (ENTER) 2.Param. Ausgabe des Tableaus 1.Parameter: d(isplay) Ausgabe in der Form, wie sie auf dem Bild- schirm gerade sichtbar ist c(ontens) Ausgabe der Formeln als Protokoll (je Zeile ein Element) 2.Parameter: s(etup) Ausgabe ueber Datenfernuebertragungsleitung (bei ensprechendem Anschlusz) c(onsole) Ausgabe ueber Bildschirm p(rinter) Ausgabe ueber Drucker, wobei vor dem Seiten- vorschub zum evtl. Papierwechsel gewartet wird (Druckfortsetzung mit ENTER) o(utput) Ausgabe einer PRN-Datei auf externen Speicher die auch andere M/OS-Komponenten bearbeiten koennen. p(retsot) / p range (ENTER) Schutz von Elementen vor dem unbeabsichtigten Ueberschreiben q(uit) / q (y/n) Verlassen des Tableauprogramms und Sprung in das Betriebssystem (Das gasamte Tableau wird unwiederruflich zerstoert.) mit y(es). Sonst n(o). Befehlswort Aufbau und Inhalt ----------------------------------------------------------------- r(eplicate) / r quellrange(ENTER) zielrange (ENTER) oder, adjustment Mehrfaches Kopieren einer Reihe von Elementen (kein Block), wobei ziejrange die Menge der ersten Elemente jeder Kopie umfaszt. s(ave) / s dateiname (ENTER) 1.Param. 2.Param. (ENTER) oder, adjustment Sichern eines Tableaus durch Kopieren auf ex- ternen Speicher als CAL-Datei dateiname Existiert der eingegebene Dateiname schon, so gibt es hier noch einen Wahlparameter: c(ange name) ... Dateiname der zusichernden aendern b(ackup) ... Erhalten der vorhandenen Datei mit gleichen Namen als BAK-Datei o(verwrite) ...Ueberschreiben der alten Datei Schlieszlich ohne dateiname: directory 1.Parameter: a(ll) Sichern des gesamten Tableaus einschlieszlich der Formeln fuer resultierende Elemente 2.Parameter: entfaellt p(art) Sichern eines Teils des Tableaus-Hier gibt es die Moeglichkeit zu waehlen: a(ll) ... Sichern einschlieszlich der Formeln v(alues) ... Sichern ohne Formeln 2.Parameter: range v(alues) Sichern des gesammten Tableaus ohne Formeln 2.Parameter: entfaellt t(itle) / t Parameter Definition (durch Kursorpossitionierung) von Titelspalten und/oder -zeilen, die bei Ver- schiebung auf dem Bildschirm sichtbar bleiben Parameter: v(ertical) Fixiert alles links von der aktuellen Spalte (einschlieszlich derselben) h(orizontal) Fixiert alles ueber der aktuellen Zeile (ein- schlieszlich derselben) b(oth) Umfaszt vertical und horizontal c(lear) Aufloesen der Titelfixierung u(nprotect) / u range (ENTER) Aufheben des Schreibschutzes von Elementen Befehlswort Aufbau und Inhalt ----------------------------------------------------------------- w(indow) / w Parameter Teilen des Bildschirms in zwei Teile, indem an der aktuellen Spalte/Zeile eine Koordina- tenleiste angelegt wird (Kursorsprung durch ;) Parameter: v(ertical) Vertikale Bildschirmteilung h(orizontal) Horizontale Bildschirmteilung c(lear) Aufloesen der Bildschirmteilung s(ynchr)/n(syn.) Paralleles/unabhaengiges Rollen der beiden Bildschirmteile x(execute) / x dateiname (ENTER) Akzeptiert Befehle und Daten einer PRN-Datei, durch Eintragen und Berechnen beginnend mit dem aktuellen Element dateiname: Ohne Dateiname: directory z(ap) / z (y/n) Loeschen des gesamten Tableauinhalts (un- wiederruflich) mit y(es)-ja, sonst n(o)-nein 2.4. Funktionen --------------- Als Funktionen fuer ein Element sind beliebige Verknuepfungen der folgenden Grundrechenarten und Funktionsworte mit Elementeadressen moeglich. Dabei kann die auch hier gueltige Reihenfolge der Berechnung (hoehere Funktionen vor Multiplikation/Division vor Addition/Subtraktion) beliebig durch das Setzen von runden Klammern variiert werden. Der Bindestrich gilt als negatives Vorzeichen. Fuer einen Term kann also immer eine Ziffer, eine Elementaradresse oder eine weitere Funktion stehen. 2.4.1. Rechenopperationen Term1-Term2 Subtraktion Term1+Term2 Addition Term1*Term2 Multiplikation Term1/term2 Division SQRT(Term) Quadratwurzel Term1 Term2 Potenz zur Basis (Term1) mit Exponent (Term2) EXP(Term) Potenz zur Basis 10 LN(Term) Natuerlicher Logarithmus LOG10(Term) Dekadischer Logarithmus SIN(Term) COS(Term) TAN(Term) ASIN(Term) Arcussinusfunktion ACOS(Term) ATAN(Term) ABS(Term) positiver Zahlenwert IWT(Term) Loeschen des Dezimalanteils einer Zahl ohne Rundung PI PI mit 15 Dezimalstellen 2.4.2. Logische Funktionen Ist eine Aussage wahr, so wird der Wert 1 angenommen - sonst der Wert 0. Term1= Term2 Term1 gleich Term2 Term1 Term2 Term1 ungleich Term2 Term1 Term2 Term1 kleiner als Term2 Term1 =Term2 Term1 kleiner gleich Term2 Term1 Term2 Term1 groeszer als Term2 Term1 =Term2 Term1 groeszer gleich Term2 AND(Term1,Term2) logisches und OR(Term1,Term2) logisches oder (schlieszt und ein) NOT(Term) Negation der Aussage IF(Term1,Term2,Term3) Wenn Term1 wahr ist, wird Term2 ausge- fuehrt, sonst Term3 2.4.3. Spezielle Funktionen COUNT(range) Zaehlt die belegten Elemente in einem Bereich LOORUP(term,range) Sucht das Ergebnis des Terms in dem durch range bezeichneten Bereich (musz in einer Spalte/Zeile liegen, Zahlenwerte aufsteigend) und uebertraegt den in seinem Nachbarelement stehenden Zahlenwert. Nachbarelemente liegen bei Spaltenvektoren in der rechten Nachbar- spalte und bei Zeilenvektoren eine Zeile tiefer. MAX(range) Sucht maximalen Zahlenwert im angege- benen Bereich MIN(range) Sucht minimalen Zahlenwert im angegebenen Bereich SUM(range,range...) Summieren aller Elemente eines oder mehrerer Bereiche AVERAGE(range,...) Arithmetisches Mittel aller Elemente eines oder mehrerer Bereiche NPV(Rate,range) Berechnung der kummulativen Zinsen fuer die Zahlenwerte eines Spalten- /Zeilenbereichs entsprachend der dezimal anzugebenden Zinsrate(z.B.5% entspricht 0.05)