143 16 36MB
German Pages 194 Year 1983
S. R. Trost
Commodore 64 Programmsammlung
Commodore 64 ProgranunsaDßrndung
Stanley R . Trost
BERKELEY . PARIS· DÜSSELDORF
Dieses Buch basie rt auf dem be i SYB EX e rschie nenen Tite l " Programme für me in en Apple ll " Deutsche Bearbeitung: Wolfgang Dederichs
Umschl aggesta ltung und Satz: tgr - typo-grafik-repro gmbh , re msche id Gesamtherstellung: Drucke re i Hub . Hoch , Düsseldorf D er Verlag hat alle Sorgfalt wa lten lasse n, um vollstä ndige und ak kurate Informatio ne n zu publi ziere n. SYB EX-Verlag GmbH , D üsseldo rf, übern imm t keine Verantwortung für die Nutzu ng dieser In fo rmatio nen , auch nicht für di e Verletzung vo n Patent- und anderen Rechte n Dritter , die daraus resu ltie ren. H erste ller be ha lten das Recht , Schaltp lä ne und technische Charakte risti ka o hne Bekanntgabe an die Öffe ntlichkeit zu ände rn . Für genaue technische Date n auf de m neueste n Stand wird der Leser a n die He rste ll er verwiese n. ISBN 3-88745-051-5 1. Au fl age 1983 Alle de utschsprachigen Rechte vorbehalten. Kein Tei l des Werkes darf in irge ncle in e r Form (Druck , Fotokopie , M ikrofilm oder ein em andere n Verfa hre n) ohne schri ft liche Genehmigung des Ve rl ages reproduzie rt ode r unte r Verwe ndung e le ktroni sche r Systeme verarbe itet, ve rvie lfä ltigt oder verbreitet werden. Printed in Germany Copyright © 1983 by SYBEX-Verlag GmbH, D üsseldorf
5
Vorwort
Commodore 64 Programmsammlung ist ein Buch, das Ihnen helfen soll, die Möglichkeiten und die Vielseitigkeit Ihres C64-Computers zu entdekken . Wir wollen Ihnen diese mit Hilfe von nicht weniger als 65 Anwenderprogrammen und Unterprogrammen vermitteln, die sorgfältig getestet sind und ohne weiteres gestartet werden können. Sie decken eine weite Palette von kaufmännischen, persönlichen und schulischen Anwendungen ab. Das besondere ist , daß Sie über keine Programmiererfahrung verfügen müssen, um diese BASIC- Programme für Ihre Anwendungen zu nutzen : Sie beschränken sich einfach auf deren Eingabe in den Computer.
Diese Programme helfen Ihnen z. B. bei wichtigen Finanzierungse ntscheidungen: Sie können die Ertragsschwelle für eine neue Investition berechnen, die Höhe monatlicher Einzahlungen auf ein Sammelkonto oder den zukünftigen Wert einer Einlage bei regel- und unregelmäßigen Ein zahlungen bestimmen. Die Dateiverwaltungsprogramme z. B. helfen bei der Verwaltung von einer Kundendatei , einem Telefonverzeichnis oder einem Fahrtenbuch. Für Schüler, Studenten und solche, die es werden wollen, sind die mathematischen Übungsprogramme hilfreich. Sie "pauken" fehlerfreies Rechnen in den Grundrechenarten. Commodore 64 Programmsammlung besteht aus einer Vielzahl interessanter Programme. Themen wie das Üben der Grundrechenarten, Kettenmultiplikation, Dateiverwaltung , Datenanalyse und Graphikverarbeitung sind sonst nur selten in einer Programmsammlung zu finden.
Die Anwendung der einheitlich genutzten allgemeinen Unterprogramme ist ebenso einzigartig. Zur Verwirklichung des ersten gesetzten Ziels, nämlich Programme so kurz und effektiv wie möglich zu gestalten und die Eingabe in den Computer zu vereinfachen, ist eine Standardsammlung zentraler Unterprogramme unerläßlich. Gerade diese Unterprogramme helfen, sich eine Menge Mühe auch bei Programmeigenentwicklungen zu ersparen.
6
Commodore 64 Programmsammlu ng
Obwohl es nicht Aufgabe dieses Buches ist, Ihnen Kenntnisse in der Programmiersprache BASIC zu vermitteln , werden Sie durch die Eingabe und Anwendung der hier aufgeführten Programme geradezu automatisch etwas davon mitbekommen. Mit der wachsenden Vertrautheit zum Computer und zur Programmiersprache BASIC wird gleichzeitig Ihre Fähigkeit wachsen, Programme zu modifizieren und selbst zu entwickeln . Wir wollen nun einen Blick darauf werfen, was alles im Buch behandelt wird : In Kapitell finden Sie generelle Anwendungshinweise für den Gebrauch der Programme und Erläuterungen der Dialogeigenschaften. Sie sollten sich daher dieses Kapitel besonders sorgfältig anschauen.
Kapitel 2 enthält eine Sammlung von Programmen für den Heim- und Geschäftsgebrauch. Dazu gehören Programme wie das zur Berechnung des zukünftigen Werts einer Einlage oder, auf regelmäßige Zahlungen bezogen , die Höhe einer Altersversorgung. Weiterhin sind Zinsersparnisse bei Investitionen und Berechnung von Zeiträumen bis zur Einlageverdopplung Themen dieses Kapitels . Diese Programme können bei Investitionsentscheidungen eine große Bedeutung erlangen. Kapitel 3 enthält eine Sammlung von kaufmännischen Programmen. Diese berechnen Abschreibung, die Ertragsschwelle bei Neuinvestitionen, Überstundenentgelt und Entscheidungsanalysen. Sie finden Verwendung bei Kaufleuten, Angestellten und Endverbrauchern. Kapitel 4 bezieht sich auf Immobilien . Berechnet werden Hypotheken, Restschuld und Mieten . Ein Beispiel ist die Berechnung der Zinsersparnis bei Erhöhung der monatlichen Abzahlungen. Für Hausbesitzer, Investoren und potentielle Interessenten am Erwerb von Immobilien werden diese Programme von Nutzen sein . Kapitel 5 enthält eine Sammlung von Datenanalyseprogrammen für wissenschaftliche und ,kaufmännische Anwendungen. Mit ihnen kann man Mittelwert und Standardabweichung, gleitende Mittelwerte und die lineare Regression berechnen. Zur Veranschaulichung ist auch eine graphische Darstellung der Ergebniswerte möglich . Damit kann man zum Beispiel Aktientendenzen an der Börse verdeutlichen . Kapitel 6 enthält eine Programmsammlung zur Dateiverwaltung. Mit diesen Programmen sind Sie in der Lage, Kundenadressen zu verwalten, eine Telefonkartei oder ein Fahrtenbuch zu führen. Auch artverwandte An wendungen können mit wenig Aufwand realisiert werden. Kapitel 7 präsentiert eine Reihe von Programmen, die Übungsaufgaben für Grundrechenarten liefern. Dies kann besonders für Schüler und Studenten eine nützliche Hilfe darstellen.
7
Dieses Buch enthält zudem drei Anhänge. Im Anhang A finden Sie die zentrale Unterprogrammsammlung, auf die alle Anwenderprogramme zugreifen. Die Funktion dieser Unterprogramme ist jeweils am Anfang eines jeden Unterprogramms aus REM-Zeilen ersichtlich. Weiterhin sind die Zeilennummern fortlaufend numeriert, so daß Bezüge auf bestimmte Unterprogramme sehr leicht nachzuvollziehen sind. Anhang B demonstriert, wie man sich diese Unterprogramme auch für Programmeigenentwicklungen nutzbar machen kann. Beschreibungen und Beispiele sind ebenfalls aufgeführt.
Anhang Centhält Unterprogramme, mit deren Hilfe Sie Ihren Drucker auf verschiedene Schriftarten konfigurieren können, wie Engschrift , Doppelschrift, Schönschrift und so weiter.
Commodore 64 Programmsamm lung
8
Inhaltsverzeichnis
Vorwort 1 Einführung Starthilfe . Anmerkungen innerhalb der Programme Aufbau einer Unterprogramm-Bibliothek Eingabe und Ausführung der Anwenderprogramme Dialogeigenschaften Zusammenfassung
5
11 11
12 13
15 17 17
2 Zinsrechnung Zukünftiger Wert einer Einlage Zukünftiger Wert einer Reihe von Einl agen Barwertermittlung . . . . . . . . . . . . . Barwertermittlung bei Ratenzahlungen Einzahlungen bei vorgegebener Endsumme Regelmäßige Abbuchungen . . . . . . . . Rendite . . . . . . .. . . . . . . . . . . Investitionen mit unregelmäßigen Rückzahlungen Zeitraum bis zur Kapitalverdoppelung . . . Zinsumrechnung . . . . . . . . . . . . . . Menueprogramm zum Kapitel Z insrechnung
19 20 22 24 26 28
3 Kaufmännisches Rechnen Lineare Abschreibung . . Geometrische Abschreibung Abschreibung nach Jahreszahlen Ertragsschwelle Optimale BesteUmenge Verkaufspreis mit Rabatt Gewichteter Mittelwert Provisionsabrechnung Stundenlohn mit Überstunden berechnung
43
30 32 34 36 38
40 44 46 48 50 52 54 56 58
60
9
Entscheidungshelfer . . . . . . . . . . . . . Menue zum Kapitel Kaufmännisches Rechnen
4 Immobilien-Programme . . . . . . Immobilien-Unterprogramme . . . Berechnung der monatlichen Raten Tilgungsplan . . . . . . . . . Restschuld . . . . . . . . . . Wachsende Rückzahlungsraten Resthypothek .. . .. . Vertretbarer Hauspreis Erste und zweite Hypothek Mietberechnungen . . . . Menue zu den Immobilien-Programmen
5 Programme zur Datenanalyse .. . .. Menue für die Programme zur Datenanalyse Unterprogramme zur Datenanalyse Eingabe von Daten . . . . . . . . . Das Zeichnen von Daten . . . . . . Mittelwert und Standardabweichung Gleitender Mittelwert mit drei Punkten Gewichteter gleitender Mittelwert . . . Zentrierter Mittelwert mit fünf Punkten Lineare Regression
62 64
67 68 70 72
74 76 78 80 82 84 86 89 90 92
94 96 98 100 102 104 106
109
6 Programme zur Dateiverwaltung Menue zur Personaldaten-Verwaltung Unterprogramme zur Dateiverwaltung Anlegen einer Datei und Hinzufügen von Datensätzen Auflisten der Personaldatei Löschen eines Datensatzes Suchen eines Datensatzes .
110 112 114 116 118 120
Menue zum Fahrtenbuch . Anlegen einer Datei und Hinzufügen von Datensätzen Auflisten des Fahrtenbuchs Löschen eines Datensatzes .. . . . . . .
124 126 128
7 Programme für mathematische Übungen Menue zu den mathematischen Übungen 1 Unterprogramme zu den mathematischen Übungen 1 Addition Subtraktion . . . . . . . . . . . . . . . . . . . . .
122
131 132 134 136 138
Commodore 64 Programmsammlung
10
M ultip likatio n Division
Menue zu den mathematischen Übungen 2 Spalten-Addition . . . . . MehrsteIlige Multiplikation . . . . . . . . Menue zu den mathematischen Übungen 3 Unterprogramme zur Bruchrechnung Addition von Brüchen Subtraktion von Brüchen . . Multiplikation von Brüchen Division von Brüchen
140
142 144
146 148 150
152 154 156 158 160
Anhang A Zentrale Unterprogramme Hinzufügen eines Datensatzes . Abfrage nach einer Fortsetzung Anlegen einer Sicherungsdatei Löschen eines Datensatzes Bildschirmdialog . . . Eingabe eines Zeichens Eingabe von Daten . . Vorbereiten des Bildschirms Eingabe der Parameter . Darstellung des Menues Pause . . . . . . . . . . Abfrage ja/nein Druckerprotokoll des Bildschirms
163 164 165 165 166 167 168 168 169 169 170 171 171 172
B Beispiele zur Anwendung der zentralen Unterprogramme Aufbau eines Menues Abfrage nach der Fortsetzung .. . . . Das Dialog-Unterprogramm . . . . . . Das Unterprogramm zur Dateneingabe
173 174 176 178 180
C Nützliche Drucker-Unterprogramme
183
Literaturhinweise
187
11
Kapitell
Einführung In diesem Kapitel werden wir sehen, wie wir mit Hilfe dieses Buches die Leistungsfähigkeit unseres C64-Computers erheblich verbessern können. Wir werden lernen, wie man Programme eingibt und laufen läßt, wie man eine Bibliothek von Unterprogrammen erstellt und das Starten von Programmsegmenten über ein Menue realisiert. Wir werden ebenfalls lernen, was strukturiertes Programmieren bedeutet und wie interaktive Programmentwicklung realisiert werden kann. Die in diesem Buch aufgeführten Programme benötigen keine spezielle Kenntnis der Programmiersprache BASIC. Man kann sie einfach einsetzen zur Problemlösung im privaten , kommerziellen und schulischen Bereich. Wenn Sie jedoch Ihre Programmierkenntnisse erweitern wollen, werden Ihnen die Routinen zeigen, wie Sie die Fähigkeiten Ihres Computers voll ausschöpfen können. STARTHILFE
Die Programme in diesem Buch laufen sowohl auf Rechnern mit als auch ohne Diskettenlaufwerk (mit Ausnahme des Kapitels 6). Schauen Sie in Ihr C64-Handbuch , wenn Sie mit den Einzelheiten noch nicht richtig vertraut sind. Um das ROM-BASIC zu starten, betätigen Sie einfach den Netzschalter Ihres Computers. DAS ROM-Basic wird sich nach kurzer Zeit melden.
**** COMMODORE 54 BASIC V2 **** 54K RAM SYSTEM 38911 BASIC BYTES FREE READY.
Sofern Sie mit einem Diskettenlaufwerk arbeiten, sollten Sie jetzt 2 formatierte Disketten bereithalten oder vorab 2 Disketten formatieren. Dieses Formatieren erfolgt mit den Befehlen: OPEN 15,8,15 PRINT#15, "N:name,1" CLOSE15
u
Com modore 64 Programmsammlung
Durch die Nummer 15 wird ein spezieller Kanal zum Diskettenlaufwerk geöffnet, über den direkte Anweisungen an die Diskette gegeben werden können. Mit dem Befehl PRINT* 15 wird eine Botschaft an das Laufwerk geschickt, durch die eine Diskette formatiert wird, die einen frei gewählten Namen trägt. Die Ziffer 1 dient zur Numerierung der Disketten . Die zweite Diskette sollte dann logischerweise die Nr. 2 bekommen. Nachdem sich das BASIC gemeldet hat , können Sie jedes der in diesem B uch befindlichen Programme eingeben. Dazu tippen Sie einfach die Zeilen so ab, wie sie in dem Buch stehen. Nach jeder Zei le drücken Sie die RETURN-Taste . Z u Testzwecken können Sie kurz fo lge ndes Programm eingeben: 100 PRINT"HALLO" 110 END
Beginnen Sie mit der Eingabe der Zeile 100. Denken Sie bitte daran , jeweils zum Abschluß die RETURN-Taste zu betätigen! Nach Eingabe der Zeile 110 ist das Programm bereits komplett. Bei Eingabe der Programme werden Ihnen manchmal Fehler unterlaufen. Bei kurzen Zeilen ist es häufig am einfachsten , die Zeile noch einmal einzutippen. Wie Sie Korrekturen an längeren Zei len vornehmen können, ohne diese zu löschen , können Sie Ihrem C64-Handbuch entnehmen. Um das o. a. Testprogramm zu starten, geben Sie bitte RUN 100 ein und betätigen Sie die RETURN-Taste. Auf dem Bi ldsch irm erscheint ein HALLO unter der gerade eingegebenen Zeile. Weitere Informationen bezüglich Eingabe, Abspe icherung und Ablauf von Programmen finden Sie weiter unten in diesem Kapitel.
ANMERKUNGEN INNERHALB DER PROGRAMME Anmerkungen verwenden wir , um das Programm leichter verständlich zu machen. Anmerkungen beginnen mit einem REM. In Abb . 1.1 wird in den oberen Zeilen der Programmtitel angegeben. Zusätzlich wird in Zeile 130 eine knappe Erläuterung zum besseren Verständnis dieser Zeile gegeben. Im Prinzip brauchen Sie die Anmerkungen nicht mitzuschreiben . Das Programm läuft auch ohne diese Texte. Lediglich die erste Zeile eines jeden Programmes ist unbedingt notwendig, da diese Zeile als Startpunkt für das jeweilige Programm benötigt wird. Abbildung 1.2 zeigt das Programm in der Minimalfassung.
Einführung
13
100 101 102 110 120 130 140
REM -----------------NS="BEISPIEL-PROGRAMM" REM -----------------INPUT I INPUT Y PRINT X+Y:REM SUMME AUSGEBEN END
Abb. 1.1: Programmüste einschließlich der Anmerkungen
100 101 110 120 130 140
REM NS="BEISPIEL-PROGRAMM" INPUT I INPUT Y PRINT X+Y END
Abb . 1.2: Programmliste mit minimalen Anmerkungen
AUFBAU EINER UNTERPROGRAMM-BIBLIOTHEK Die Programme in diesem Buch verwenden eine zentrale Bibliothek von Unterprogrammen, um die Ein- und Ausgabe der Programme zu erleichtern. Ein Unterprogramm ist einfach ein Programm , welches als Bestandteil eines anderen Programms genutzt wird. So dient z. B. ein Unterprogramm dazu, die Dateneingabe abzuwickeln. Durch dieses Unterprogramm werden die eigentlichen Programme sehr kurz und sind daher leicht einzugeben. Im Anhang A sind alle Unterprogramme dieses Buches zentral zusammengefaßt . Anhang B zeigt alternative Verwendungsformen für diese Unterprogramme. Im folgenden finden Sie eine Liste , welche Unterprogramme Sie für die verschiedenen Kapitel dieses Buches benötigen und demzufolge auf Diskette parat haben sollten, damit Sie jedes dieser Unterprogramme nur einmal eingeben müssen. Die in der Liste aufgeführten Zahlen beziehen sich jeweils auf die erste Zeile des jeweiligen Unterprogramms. Kapite l 2-7: Kapite l 6:
4500 , 6000 , 6500 , 7000 , 7500,8000 8500, 9000,9500,9800 4000 , 5000,5500
Am besten beginnen Sie mit der Eingabe der Unterprogramme für KapiteI2-5. Wenden Sie sich dem Anhang zu , dort finden Sie die Auflistung der entsprechenden Unterprogramme.
Commodore 64 Programmsammlung
14
Da das Unterprogramm in Zeile 4000 erst im Kapitel 6 benötigt wird, beginnen Sie mit Zeile 4500. Bitte geben Sie zunächst den Befehl NEW ein, um das bisher im Rechner vorhandene Programm zu löschen. Danach können Sie mit der Eingabe der Befehle für das Unterprogramm beginnen. Ihre Eingabe sollte in etwa so aussehen wie in Bild 1.3.
4500 4660 4670 4690 4710 4720
REM Q1$="WDLLEN SIE EINE WEITERE" Q3$="DUlkHFUEHREN (J,N)?" GDSUB 6000 GDSUB 9500 RETURN
Abb. 1.3: Programmliste: Abfrage der Fortsetz ung
Fahren Sie analog mit dem Rest der für Kapitel 2-5 notwendigen Unterprogramme fort. Speichern Sie diese dann auf Diskette oder Kassette . Das Abspeichern erfolgt mit Hilfe des Befehls SAVE " UNTERPROGRAMME"
bzw. SAVE "UNTERPROGRAMME",8
für Rechner mit Diskettenlaufwerk . Mit diesem Befehl werden die Programme auf das Speichermedium übertragen . Gelegentlich kommt es vor, daß ein Programm gleichen Namens bereits auf der Diskette steht. Dann muß vor dem Namen noch ei n Klammeraffe und ein Doppelpunkt angegeben werden , um dem Diskettenlaufwerk mitzuteilen , daß das alte Programm überschrieben werden soll . Der vollständige Befehl zum Speichern lautet dann: SAVE "@:UNTERPROGRAMME",8
Diese Programme werden späterhin mit dem Befehl LOAD " UNTERPROGRAMME"
bzw. LOAD "UNTERPROGRAMME",8
wieder in den Rechner geholt. Für Rechner mit Diskettenlaufwerk muß generell noch das Komma und die Ziffer 8 angehängt werden. Der Einfachheit halber wird dies im weiteren Text weggelassen.
Einführung
15
Mit dem Befehl SA VE werden die Unterprogramme auf Diskette gespeichert. Sie können dann später an das im Speicher stehende Anwenderprogramm angehängt werden. Die zentralen Unterprogramme sind nun unter dem Namen UNTERPROGRAMME abgespeichert. Die restlichen Unterprogramme werden erst im Kapitel 6 benötigt.
EINGABE UND AUSFÜHRUNG DERANWENDERPROGRAMME Sie sind nun so weit , daß Sie die Programme eingeben können. Die Programme in Kapitel 2, 3 und 4 sollten als eine Datei abgespeichert werden. Die Programme sind dann lauffähig , wenn Sie a) das Anwenderprogramm geladen , b) die Unterprogramme angehängt haben , c) und RUN mit der ersten Zeilennummer des gewünschten Programms eingegeben haben. Wenn Sie alle Programme eines Kapitels eingegeben haben, können Sie ein sog. Menue entwickeln , über das alle Programme in dem jeweiligen Kapitel gestartet werden. Ein Menue ist eine durchnumerierte Auswahlliste , bei der Sie durch Eingabe einer Ziffer das gewünschte Programm anwählen. Anweisungen für die Erstellung eines derartigen Menues sind am Ende eines jeden Kapitels aufgeführt. Innerhalb eines Kapitels haben die Programme alle verschiedene Zeilennummern und können daher jeweils zu einem kompletten Programm paket zusammengefaßt werden. So enthält z. B. Kapitel 2 eine Anzahl von Programmen, die für kaufmännische Berechnungen nützlich sind . Geben Sie das Programm zur Berechnung des zukünftigen Wertes einer Einlage ein und speichern Sie es auf Diskette durch
SAVE"KAUFM.RECHNEN" Wenn Sie ein weiteres Programm benötigen, das in diese Kategorie fällt , laden Sie zuerst das schon vorhandene Programm mittels
LOAD "KAUFM. RECHNEN" und ergänzen es um das weitere Segment . Beides können Sie dann durch
SAVE"KAUFM.RECHNEN" wieder abspeichern. Diese Methode ermöglicht es , eine ganze Programmsammlung zu erstellen.
Commodore 64 Programmsammlung
16
Nach Eingabe aller Anwenderprogramme aus Kapitel 2 erfolgt die Eingabe des Programm-Menues , das dazu dient , alle Programme aus diesem Kapitel über das Menue anzuwählen. Der umständliche Weg über RUN "erste Zeilennummer" entfällt. Wenn Sie das Menue-Programm mit in Ihre Anwenderprogramme einbauen , sollten Sie in der letzten Zeile jedes Anwenderprogramms das END durch ein RETURN ersetzen. Die Programme in Kapitel 5-7 werden etwas anders gehandhabt . Da das Menue-Programm jeweils am Anfang steht, sollten Sie dieses auch zuerst eingeben , um dann die Anwenderprogramme folgen zu lassen. Die Anwenderprogramme werden demzufolge auch durch Aufruf vom Menue aus gestartet. Demzufolge brauchen wir uns auch keine Gedanken zu machen , was das Ersetzen der ENDs durch RETURN angeht. Das Starten des Programms "Zukünftiger Wert einer Einlage" geht nun folgendermaßen vonstatten: Zunächst müssen die Programme in den Rechner geladen werden . Dies geschieht mit dem Befehl LOAD "KAUFM.RECHNEN"
Der Rechner hat in den Speicherstellen 43 und 44 eingetragen, ab welcher Speicherstelle das Programm in Rechner zu finden ist. In den Speicherstellen 45 und 46 steht nach dem Laden , bis zu welcher Speicherstelle das Programm geht. Diese Programmadresse nehmen wir jetzt als neue Anfangsadresse , um die Unterprogramme ebenfalls in den Speicher des Rechners zu holen. Wir können Speicherstelle 45 mit dem Befehl PRINT PEEK (45) anschauen . Mit den Befehlen POKE 43,PEEK(45)-2 POKE 44,PEEK(46)
bzw.
POKE 43,PEEK(45)+254 POKE 44,PEEK(46)-1
fal ls PEEK(45) >1
bzw.
fa"~ PEEK(45) 500
1500 3 6 STUECK
WOLLEN SIE EINE WEITERE BERECHNUNG DURCHFUEHREN (J,N) ?
Abb. 3.7: Bildschirm: Ertragsschwelle
1140 1150 1160 1170 1180 1190 1200 1210 1220 1230 1240 1250 1260 1270 1280 1290
REM ----------------N$= "ERTRAGSSCHWELLE " REM - ------ ---------GOSUB 7500: K = 1 REM HOLEN DER EINGABEPARAMETER Q1$= "GEBEN SIE DIE DATEN EIN": Q2$ = Q3$ = "FIXE KOSTEN 1 THEN 12 1111 117111 ERF= 111 118111 01 $= "DATEN AUSSERHALB DES ERLAUBTEN BEREICHS " 119111 0 2$= "BITTE NEUE DEKLA RATION" 12111111 GOTO 11119111 12 1111 POKE 214 ,24: POKE 2 11,1: SYS 58732:REM CURSORPOS . 122111 PRINT "WEI TER 7 , 8ITTE TASTE BETAETIGEN " ; 123111 GET CH$ 1233 IF CH$= " " THEN 123111 1235 IF CH$= " P " THEN 98111111 124111 RETURN
Abb. 5.8: Programmliste: Zeichnen der Daten
98
Commodore 64 Programm sammlung
MITfELWERT UND STANDARDABWEICHUNG Beschreibung Wir wollen uns nun das Programm anschauen, das für die Eingabedaten den Mittelwert und die Standardabweichung berechnet. Das Programm wird einfach über das Hauptmenue der Datenanalyseprogramme aufgerufen. Beispiel Sie wollen für die im Laborversuch ermittelten Werte den Mittelwert und die Standardabweichung berechnen. Nach dem Aufruf des Programms erscheint das in Abb. 5.9 gezeigte Ergebnis . Abb . 5.10 zeigt die Programmliste. Hinweise Dieses Programm läßt sich bequem erweitern, sofern Sie an weiteren statistischen Auswertungen interessiert sind.
Programme zur Datenanalyse
99
MITTELWERT UND STANDARDABWEICHUNG MITTEL DER EINGABEDATEN STANDARDABWEICHUNG
8.3125 4.47519204
ZUR FORTSETZUNG BITTE EINE TASTE BETAE TIGEN
Abb . 5.9: Bildschirm: Mittelwert und Standard-Abweichung
1250 1260 1270 1280 1290 1300 1310 1320 1330 1340 13 50 13 60 13 70 13 80 13 90
REM ----------------------------------N$= "MITTELWERT UND STANDARDABWEICH UNG" REM --------------------- - ------------GOSU B 7500 REM MITTELWERT BESTIMMEN ME= 0 FOR 1=1 TO ND ME= ME+ D(Il NEXT I ME= ME/ND REM DIE S TANDARDABWEICHU NG BERECHNEN SD= 0 FOR 1= I TO ND SD= SD+ = (0(1-3) + D(I -2 ) + D(I-l»/ 3 NEXT I Q1$= "SOLLEN DIE DATEN AUSGE = " Q2$= "DRUCKT WERDEN (J ODER N)" Q3$= " ": GOSUB 6111111111 REM JA ODER NEIN GOS UB 95111111 IF YN$= "N " THEN RETURN PRINT CHR$ (19); FOR 1= 4 TO ND PRINT R ( j ) , NEXT I REM WARTEN AUF TASTENANSCHLAG GOSUB 9111(/)111 RET URN
Abb. 5.12: Programmliste: Gleitender Mittelwert mit 3 Punkten
102
Commodore 64 Programmsammlung
GEWICHTETER GLEITENDER MITTELWERT Beschreibung
Ein zweites Glättungsverfahren ist der gewichtete Mittelwert aus 3 Punkten. Hierbei wird der jeweils letzte Punkt mit dem Faktor 3, der vorletzte Punkt mit dem Faktor 2 und der erste Punkt mit dem Faktor 1 gewichtet. Dadurch wird erreicht, daß der letzte Punkt das größte Gewicht erhält. Das Programm wird vom Hauptmenue aus aufgerufen. Die geglätteten Daten werden im Feld R gespeichert. Wie gehabt, können die Daten entweder grafisch oder als Zahlen dargestellt werden. Beachten Sie bitte, daß immer nur ein Satz geglätteter Daten im Rechner verfügbar ist. Beispiel
Wir wollen dieses Programm zur Berechnung gewichteter Mittelwerte wieder auf die Laborwerte anwenden. In Abb . 5.13 werden sowohl die Eingabedaten als auch die umgerechneten Daten gezeichnet. Die Programmliste wird in Abb. 5.14 wiedergegeben . Hinweise
Wenn Sie eine andere Gewichtung vornehmen wollen, ist Zeile 1750 entsprechend zu ändern. Anschließend muß durch die Summe der Gewichte dividiert werden. Im Beispiel ist 1 +2+3 = 6. Das Verfahren ist wiederum als Vorhersageverfahren ausgelegt.
Programm e zur Datenanalyse
2111
103
-I I
15
I -I
1111
- I
5
I - I
* * 111111 * 111 111 111111111 * *111111 * *111 * 111 *111 111 * * 111111111 * 111 *111 * 111 *
111 **111 *111 *111111
* 111 * 111111111 * 111 *
1* 1111111111- 1----1----1 ---- 1---- 1-- --1 -* 5
(21
WEITER
?,
1 QI
15
2 121
25
3(21
BITTE TASTE BETAETIGEN
Abb . 5.13: Bildschirm: Gewichteter gleitender Mittelwert
168111 169111 17111111 171111 172111 173 111 174111
REM ------ - ---------- --------------------- --- N$ = "GEWICHTETES, GLEIT. MI TTEL MIT 3 P UNKTEN" REM ------ ---- ---------- ---------------------GOSUB 75111111: REM INITIALISI EREN REM ERGEBNIS IN R(I) ERFASSEN R(I) = III:R(2)= III:R(3)= 111 FOR I = 4 TO ND
17 50 R(I)=
176111 177111 178111 179111 18111111 181111 182111 183111 184111 185111 186111 187111 188111 189111 19111111 191111
(0(1-3)+ 2* D(I-2 )+ 3* D(I- 1»
R(I) = R(I) / 6 NEXT I Ql $= "SOLLEN DIE DATEN AUSGE-" Q2$= "DRUCKT WERDEN (J ODER N)" Q3$= GOSUB 6111111111 REM JA ODER NEIN GOSUB 95111111 IF YN$= "N " THEN RETURN PRINT CHR$(19); FOR 1= 4 TO ND PRINT R(I), NEXT I REM WARTEN AUF TASTENANSCHLAG GOSUB 9111111111 RETURN
Abb. 5.14: Programmliste: Gewichteter gleitender Mittelwert
104
Commodore 64 Programmsammlung
ZENTRIERTER MITTELWERT MIT FÜNF PUNKTEN Beschreibung Wir untersuchen nun ein letztes Glättungsverfahren . Dieses Verfahren gewichtet den ersten und den fünften Punkt mit dem Faktor 1 und den zweiten, dritten und vierten Punkt mit dem Faktor 2. Dieses Programm wird ebenfalls direkt vom Hauptmenue aus aufgerufen. Sie können die geglätteten Daten auflisten oder aber mit dem Zeichenprogramm grafisch darstellen. Beispiel Die Daten aus dem Laborversuch sollen wiederum zugrundegelegt werden. Die geglätteten Daten sowie die Eingabedaten werden in Abb . 5.15 gezeigt und die Programmliste in Abb. 5.16. Hinweise Aus 5 Punkten wird jeweils der sechste Punkt berechnet.
Programme zur Datenanalyse
20
lOS
-I I
I 15
-1
10
-I
5
-I 1 I
* * * * 0000 * 00 * 0 ** 0 * 0 * * 0 0 * 0 *0 * 0 *00 * 0 * * * 0 0 0 * * 0 ** 0 ** 00 * 00 0 * ** *
1* 100000---- 1----1---- 1----1 ---- 1-* o 5 10 15 20 25 30 WEITER ?, BI TTE TASTE BETAETIGEN
Abb. 5.15: Bildschirm: Zentrierter M ittelwert mit 5 Punkten
1920 1930 1940 1950 1960 1970 1980 1990 2000 2010 2000 2010 2020 2030 2040 2050 2060 2070 2080 2090 2100 2 1 10 2120 2130 2140
REM - - - ------------------------- - --------N$= " ZENTRIERTER MITTELWERT MIT 5 PUNKTEN" REM --------------- ----------------------GOSUB 7500: REM INITIALISIEREN REM ERGEBNIS IN R(I) ERFASSEN R(I)= 0:R(2)= 0:R(3)= 0:R(4)= 0:R(5)= 0 FOR 1= 6 TO ND 0 =0(1-4)+ 0(1 - 3)+ 0(1- 2) R(I)= (0(1- 5)+ 2* 0+ 0(1- 1»/ 8 NE XT I R(I)= (0(1- 5)+ 2* 0 + 0(1- 1»/ 8 NE XT QI$= "SOLLEN DIE DATEN AUSGE-" Q2$= " DRUCKT WERDEN (J ODER N) " Q3$= "": GOSUB 6000 REM JA ODER NEIN GOSUB 9500 IF YN$= "N" THEN RETURN PRINT CHR$(19 ); FOR 1= 4 TO ND PRINT R(I), NE XT I REM AUF TASTENANSC HLAG WARTEN GOS UB 9000 RETURN
Abb . 5.16: Programmliste: Zentrierter Miuelwert mit 5 Punkten
Commodore 64 Programmsamm lung
106
LINEARE REGRESSION Beschreibung Lineare Regression dient dazu, für eine Menge von Daten die beste Linie ausfindig zu machen . Die ausgewählte Linie erfüllt die Bedingung, daß die senkrechten Abstände der Punkte von dieser Linie möglichst gering werden . Dieses Programm wird wiederum vom Hauptmenue aus aufgerufen. Es verwendet die Eingabedaten des Feldes D. Auf dem Bildschirm wird die mathematische Formel für die Gerade angegeben. Zusätzlich können Sie die gerade Linie mit dem Zeichenprogramm darstellen. Allerdings wird diese Linie nicht ganz gerade erscheinen , da die Bildschirmauflösung zu grob ist. Beispiel Sie haben eine Reihe von Meßwerten bei einem Laborversuch erhalten und suchen nun die beste Approximationsgerade. Die Daten dazu sind: Nr. der Messung
Wert
Nr. der Messung
Wert
1 2 3 4 5 6 7 8 9 10 11
1 2 3 5 5 6 7 9 10 11 11
12 13 14 15 16 17 18 19 20 21 22
12 13 14 14 15 16 17 19 20 21 22
In Abb. 5.17 finden Sie eine Berechnung dieses Beispiels. Abb. 5.18 enthält das Programm.
107
Programme zur Datenanalyse
LINEARE REGRESSION y=
. 960474 3 09 X +
. 454545444
ZUR FORTSETZUNG BITTE EINE TASTE BETAETIGEN
Abb. 5.17: Bildschirm: Lineare Regression
2150 2160 2170 2180 2190 2200 2210 2220 2230 2240 2 250 2260 2270 2280 2290 2300 2310 2320 2330 2340 2350
REM -------------------N$= "LINEARE REGRESSION" REM -------------------GOSUB 7500 : REM INITIALISIEREN SX= 0 : SY= 0:XY= 0:S 2= 0 FOR I = 1 TO ND SX= SX + SY= SY + D(I) XY= XY + D(I)* 52= 52 + I 2 NEXT I M= (XY- SX* 5Y/ ND)/ (S2- SX 2/ ND) B= SY/ ND- M* SX/ ND PRINT PRINT "Y= ";M; " X + ";B REM ERGEBNI5FELD FUELLEN FOR I = 1 TO ND R(I)= B+ M * I NEXT I G05UB 9000 RETURN A
A
Abb. 5.18: Programmliste: Lineare Regression
109
Kapitel
6
Programme zur Dateiverwaltung In diesem Kapitel wird eingehend erläutert, wie Sie Ihre Diskettenstation zum Speichern, Verarbeiten und Analysieren von Daten verwenden können. Wir beginnen damit, eine Datei anzulegen, unter der wir Namen und Adressen abspeichern können. Sie können diese dann alternativ als Telefonverzeichnis, als Versandadressen oder für andere Anwendungen benutzen . Danach wird gezeigt, wie Sie ein Fahrtenbuch anlegen und den Benzinverbrauch kontrollieren können. Dateiverwaltungsprogramme erscheinen wegen ihrer Komplexität in der Regel nicht als Programmsammlungen. Durch die Verwendung unserer zentralen Unterprogrammsammlung jedoch sind wir in der Lage, die Dateiverwaltungsprogramme auf eine übersichtliche Größe zu reduzieren. Im Ergebnis sind diese Programme dann einfach einzugeben und zu nutzen. Vor Eingabe der eigentlichen Programme dieses Kapitels muß die zentrale Unterprogrammsammlung um einige Segmente erweitert werden. Diese Routinen beginnen mit den Zeilennummern 4000 , 5000 und 5500. Die entsprechenden Pro gram m listen finden Sie in Anhang A. Entgegen den anderen Kapiteln ist es erforderlich, für die Programme dieses Kapitels zwei Dateien anzulegen: eine für die Verwaltungsprogramme der Personaldaten und eine für die Kraftfahrzeugverwaltung. Jedes dieser Programme beginnt mit einem Menueprogramm. Nach dem Start werden von den Programmen automatisch Datenfelder erzeugt. Sie können diese entweder auf Ihrer System diskette speichern oder eine frisch formatierte Datendiskette verwenden. Zuvor noch eine kurze Erklärung der Fachbegriffe. Ein Datenfeld ist die kleinste in einer Datei erfaßte Einheit. Auf eine Personaldatenverwaltungsdatei bezogen sind dies die Datenfelder Nachname, Vorname, Straße , Hausnummer, Postleitzahl , Wohnort und Telefonnummer. Auf eine Kraftfahrzeugverwaltungsdatei bezogen sind dies die Datenfelder Datum, Kilometerstand und Verbrauch in Liter. Eine Gruppe von Datenfeldern bildet einen Datensatz . Eine Gruppe von Datensätzen bildet eine Datei.
110
Commodore 64 Programmsammlung
MENUE ZUR PERSONALDATEN-VERWALTUNG Die Programme der Personaldatenverwaltung werden über ein Menue gesteuert. Wahlweise kann eine neue Datei angelegt werden, es können Datensätze hinzugefügt, gelöscht oder angezeigt werden, die ganze Datei kann aufgelistet werden , und es kann nach einem bestimmten Datensatz gesucht werden . Nach dem Start legen Sie mit Hilfe des Datenergänzungsprogramms eine Datei an. Mit diesem Programm ergänzen Sie auch bestehende Daten. Das Datenläschprogramm entfernt Datensätze aus Ihrer Datei; um einen Satz zu ändern, muß er zuerst gelöscht und anschließend wieder eingefügt werden. Das Dateilistprogramm gibt die gesamte Datei auf dem Bildschirm aus. Das Programm zum Auffinden eines Datensatzes ermöglicht es, z. B. alle Datensätze mit demselben Nachnamen herauszufinden. In Abb. 6.1 finden Sie einen Bildschirmausdruck des Menueprogramms, Abb. 6.2 enthält das Programm.
Programme zur Dateiverwaltung
111
STAMMDATENVERWALTUNG I=ANLEGEN DER DATEI 2=EINEN DATENSATZ HINZUFUEGEN 3=DATENSAETZE LISTEN 4=EINEN DATENSATZ LOESCHEN 5=DATENSAETZE SUCHEN
BITTE AUSWAHL TREFFEN:
Abb. 6.1: Bildschirm: Menue Personaldaten-Verwaltung
100 110 120 127 130 140 150 160 170 180 190 2 00 2 10 220 230 2 40 250 260 270 280 290 3 00 3 10 320
REM ---------------------N$= " STAMMDATENVERWALTUNG" REM -------- -------------PRINT SPC(255) SPC(185):POKE 214,14:SYS 58732: REM CURSORPOSITIONIERUNG DIM 5$(10,8) GOSUB 7500: REM INITIALISIEREN X$ (1) ="ANLEGEN DER DATEI" X$(2)="EINEN DATENSAT Z HINZUFUEGEN" X$(3)="DATENSAETZE LI STEN" X$(4)= " EINEN DATENSAT Z LOESCHEN" X$(5)="DATENSAETZE S UCHEN" REM AN ZAHL DER FELDER UND DEREN BEZEICHNUNG F$(I)= " NACHNAME :" F$ (2)="VORNAME ." F$( 3)= "TEL.NR . F$(4)="STRASSE ." F$(5)= "PL Z ." F$ (6)="WOHNORT ." F$(7)="ALTER NF= 7:F$= "STAMM" FB$= "KOPIE" N= 5: GOSUB 8500: REM MENUE DARSTELLEN ON X GOSUB 4 30 , 730,790,980,1080 GOTO 140
Abb. 6.2: Programmliste: Menue Personaldaten-Verwaltung
112
Commodore 64 Programmsammlung
UNTERPROGRAMME ZUR DATEIVERWALTUNG Zum vorher aufgeführten Menueprogramm gehören die beiden Unterroutinen in Abb. 6.3. Diese werden vom Dateilistprogramm aufgerufen und verwalten die Ausgabe der Datensätze auf dem Bildschirm. Die Unterroutine für die Bildschirmdarstellung enthält auch noch eine Verzögerungsroutine, um das Hochschieben des Bildschirms zu verlangsamen, damit man alle Namen lesen kann.
113
Programme zur Dateiverwaltung
330 REM 340 REM 350 REM
----------------- -----------------------EINEN DATENSATZ AUF DEM BILDSCHIRM DARST. ---------------- - ------- ------- ----------
36121 PRINT L ; "." ,Pl$; " ,
370 380 390 400 410 420
";P2$; "
" ;P7$
PRINT ,P3$ PRINT ,P4$ PRINT ,P5$; " ";P6$ PRINT REM ----- ---------RETURN
Abb. 6.3: Programmliste: Unterprogramme zur Personaldaten-Verwaltung
114
Commodore 64 Programmsammlung
ANLEGEN EINER DATEI UND IDNZUFÜGEN VON DATENSÄTZEN Beschreibung
Bevor die Personaldatei erstmals benutzt werden kann , muß sie auf Diskette angelegt werden. Das nachfolgende Programm führt die erforderlichen Eintragungen auf der Diskette durch . Ist bereits eine gleichnamige Datei auf der Diskette vorhanden , so wird sie zu Beginn gelöscht. Das Erstellungsprogramm wird über Nr. 1 des Menues aufgerufen. Das Programm zum Hinzufügen von Daten wird vom Menue aus über Nr. 2 angewählt. Der Reihe nach werden vom Bediener alle Angaben zu einem Datensatz abgefragt. Jeder neue Datensatz besteht aus Nachnamen, Vornamen, Adresse und Telefonnummer der erfaßten Person . Die Datensätze werden in der Reihenfolge ihrer Eingabe abgespeichert.
Beispiel
Abb. 6.4 zeigt den Bildschirminhalt während der Eingabe eines neuen Datensatzes. Dies setzt voraus , daß zuvor die Datei angelegt worden ist. Abb. 6.5 enthält sowohl das Programm zum Anlegen einer Datei als auch das Programm zum Hinzufügen neuer Sätze.
430 440 450 460 470 480 490 500
REM -- - ------ -----N$= ·'DATEI ANLEGEN" REM --------------GOSUB 7500 : REM INITIALISIEREN Ql$= "DIE BISHERIGE DATEI WIRD GELOESCHT" Q2$= .. .. :Q3$= "WEITER? (J/Nl " GOSUB 6000: GOSUB 9500 IF YN$= "N" THEN RETURN
Abb. 6.5: Programmliste: Datei anlegen und Sätze hinzufügen
Programme zur Dateiverwaltung
115
EINEN DATENSATZ HINZUFUEGEN NACHNAME : VORNAME TEL.NR. STRASSE PLZ WOHNORT ALTER
FRANKE PET ER 0123 4 /56789 AUF DER AUE 4 32 1
BLANKENSTEIN 50
EINEN WEITERE N SATZ HIN ZUFUEGEN? JA ODER NEIN ( J / N)
Abb. 6.4: Bildschirm: Sätze hinzufügen
510 520 530 540 550 560 570 590 610 620 625 650 660 670 680 690 700 710 720 730 740 750 760 770 780
K= 1 Ql$= "BITTE DEN ERSTEN NAMEN:" Q2$= FOR L= 1 TO 7 Q3$= F$(L): GOSUB 7 000 NEXT L F2$= " §:"+F$+ ",S,W" OPEN 2,8,2,F2$ Nl$= " 2 ":PRINT#2,Nl $ PRINT#2,P$(I):PRINT#2 ,P$(2):PRINT#2 ,P$( 3 ):PRINT#2,P$(4) PRINT#2,P$(5):PRINT#2,P$(6):PRINT#2 ,P$(7):PRINT#2,P$(8) CLOSE 2 GOSUB 7500 POKE 2 14 ,5: POKE 2 11, 1 : SYS 587 32 : REM CURSORPOS I TI ON I ER UNG PRINT "DIE NEUE DATEI I ST ANGELEGT" PRINT PRINT "NUN WE RDEN SAETZE HINZUGEFUEGT" GOSUB 9000 : REM PAUSE RETURN REM -------- - ----- - ----- - -------N$= " E INEN DATENSATZ HINZUFUEGEN" REM ----- ----------------- ------REM DIE ENTSPRECHENDE UNTERROUTINE AUFRUFEN GOSUB 4000 RETURN
Abb . 6.5: Programmlisle: Datei anlegen und Sätze hinzufügen
116
Commodore 64 Programmsammlung
AUFLISTEN DER PERSONALDATEI Beschreibuug
Dieses Programm erstellt eine Liste Ihrer Personaldatendatei. Es wird über die Menueoption 3 gestartet. Jeder Datensatz wird auf dem Bildschirm ausgegeben. Die Daten wandern langsam auf dem Bildschirm nach oben, so daß Sie alle Angaben mitlesen können. Beispiel
Abb. 6.6 gibt einen Bildschirmausdruck einer Personaldatei wieder. Beachten Sie, daß jeder Datensatz über eine Datensatznummer verfügt und daß ein Datensatz von seinem vorherigen durch Leerzeilen abgesetzt ist. Auf diese Datensatznummer müssen Sie zurückgreifen, wenn Sie einen bestimmten Datensatz aus der Datei entfernen wollen. Abb. 6.7 enthält das Programm, das die Daten auflistet.
Programme zur Dateiverwaltung
117
FRANKE, PETER 45 01234/56789 AUF DER MAUER 4321 HATTINGEN 2 .
MEIER, PAUL 54 098/76543 BLEICHGASSE 5 7654 OBERNDORF
3 .
NAUMANN, JOCHEN 04545/33221 SACKGASSE 2 1234 EMSEN BERG
12
ZUR FORTSETZUNG BITTE EINE TASTE BETAETI GEN
Abb . 6.6: Bildschirm: Personaldatei auflisten
790 800 810 820 830 84~
850 860 865 870 880 900 920 930 940 950 960 970
REM ----------------------N$= "DATENSAETZE AUFLISTEN" REM ----------------------GOSUB 7500 : REM INITIALISIEREN PRINT CHR$(147): POKE 214,5:SYS 58732:L F2S=F$+",S,R " OPEN 2,8,2,F2$ INPUT#2,Nl$:N=VAL(Nl$) IF N= 1 THEN 940 FOR 1=1 TO N-l L=I INPUT#2,Pl$,P2$,P3$,P4$,P5$,P6$,P7$,P8$ GOSUB 330: REM NAMEN HERVORHEBEN NEXT I CLOSE 2 ·PRINT:PRINT:PRINT:PRINT GOSUB 9000: REM PAUSE RETURN
0
Abb. 6.7: Programmliste: Personaldatei auflisten.
118
Commodore 64 Programmsammlun g
LÖSCHEN EINES DATENSATZES Beschreibung Dieses Programm dient dazu , alte Informationen von der Personaldatei zu löschen und Korrekturen vorzunehmen. Eine Korrektur wird vorgenommen , indem Sie zuerst den Datensatz mit der falschen Information löschen und dann mit Hilfe des Programms "Hinzufügen von Datensätzen" die richtigen Daten neu eingeben. Zuerst gibt man die Nummer des zu löschenden Datensatzes an . A lle Folgesätze bekommen neue Satznummern, so daß die Durchnumerierung fortlaufend ist . Die Satznummern können jederzeit über das Datensuchprogramm oder das A uflistprogramm festgestellt werden.
In Abb . 6.8 finden Sie eine Liste des Programms.
Programme zur D a teiverwaltung
119
980 REM - ---- - - - - --------- -------990 N$ = "EINEN DATENSAT Z LOESCHEN" 1000 REM--- - --- -------- - - - - ------ 1010 GOSUB 5500: REM S AT Z LOESCHEN 1020 IF L < >- 1 THEN 1040 103 0 POKE 214.18:POKE 2 11.1:SYS 5873 2:PRINT"SATZ NICHT GEFUNDEN." 1040 REM FRAGE NACH WEITEREN 1050 Q2$= " LOESCHUNG": GOSUB 4500 1060 IF YN$= "N " THEN RETURN 1070 GOTO 1010
A bb . 6.8: Programmliste: Datensatz läschen
uo
Commodore 64 Programmsammlung
SUCHEN EINES DATENSATZES Beschreibung Mit Hilfe dieses Programms können Sie einen Datensatz direkt suchen, ohne vorher mit dem Dateilistprogramm die Datensatznummer feststellen zu müssen. So geben Sie nur den Nachnamen der Person an, die Sie suchen. Der erste gefundene Datensatz, in dem dieser Nachname vorkommt, wird auf dem Bildschirm ausgegeben . Mit Dateien, in denen derselbe Nachname mehrmals auftaucht, wird so verfahren, daß jeweils nur ein Name auf dem Bildschirm erscheint , Sie aber dann dem Rechner mitteilen können, daß Sie eine Fortsetzung der Suche wünschen. Für den Fall , daß keine weiteren Personen mit demselben Namen gefunden werden, gibt der Rechner eine entsprechende Meldung aus. Für das Auffinden ist es wichtig, daß der Name , nach dem gesucht werden soll, exakt genauso eingegeben wird wie das Original. Sie müssen eine einheitliche Schreibweise beibehalten. Wenn Sie z. B. SCHUERMANN eingegeben haben , wird eine Suche nach SCHÜRMANN nicht zum Erfolg führen. Beispiel Wir suchen den Namen PERNAU. In Abb. 6.9 finden Sie dieses Beispiel , in Abb. 6.10 das Programm.
1~8~ 1~9~
ll~~ lll~
REM ------- ------ -------N$= "SUCHEN IN DER DATEI" REM ------ ----- - - -------GOSUB 75~~: F= ~:L= -I
Abb. 6.10: Programmlisle: Suchen nach einem Mitarbeiter
Programme zur Dateiverwaltung
4 .
PERNAU, WALTER 77777 DROSSELGASSE 5 5 3 20 HIER
Ul
55
WOLLEN SIE WEITERE EINTRAGUNGEN SUCHEN?
Abb. 6.9: Bildschirm: Suchen nach einem Mitarbeiter
1120 1130 1140 1150 1160 1170 1180 1190 1200 1220 1230 1240 1250 1260 1270 1275 1280 1290 1300 1310 1320 1340 1350 136111 1370 1380 1390
Ql$= "NACHNAMEN SUCHEN" Q2$= "":Q3$= "NACHNAME : " GOSU8 6000 INPUT NA$ PRINT CHR$(147l POKE 214,5:POKE 211,I:SYS 58732:REM CURSORPOS. F2$=F$+ " ,S,R" OPEN 2,8,2,F2$ INPUT#2,Nl$:N=VAL(Nl$l:FOR A=1 TO N -1 L=A INPUT#2,Pl$,P2$,P3$,P4$,P5$,P6$,P7$,P8$ IF Pl$NA$ THEN 1310 REM SATZ ANZEIGEN PRINT CHR$(4l:F= 1: POKE 214,14: SYS 58732:REM CURSORPOS. PRINT SPC(255l SPC(145l: POKE 214,14:SYS 58732:REM CURSORPOS. GOSU8 330: POKE 214,24": SYS 58732:PRINT SPC(200l Ql$= "WOLLEN SIE ":Q3$= "" Q2$= "WEITERE EINTRAGUNGEN SUCHEN?" GOSU8 6000: GOSU8 9500: IF YN$= "N" THEN 1320 NEXT A: REM ENDE CLOSE 2 POKE 214,18: POKE 211,5: SYS 58732: REM CURSORPOS. IF F=11I THEN PRINT "KEIN ERFOLG" REM WOLLEN SIE WEITER Q2$= "SUCHE":GOSU8 45111111 IF YN$= "N" THEN RETURN GOTO 111180
Abb. 6.10: Programmliste: Suchen nach einem Mitarbeiter
U2
Commodore 64 Programmsammlung
MENUEZUMFAHRTENBUCH Die folgenden Programme befassen sich mit der Erstellung und Verwaltung einer Datei zur Überwachung der anfallenden Kosten Ihres Kraftfahrzeugs. Außerdem können Sie entnehmen, wieviel Liter Kraftstoff im Durchschnitt pro 100 km verbraucht werden. Das Programm zur Datenerfassung wird über das in Abb. 6.11 dargestellte Menueprogramm an gewählt. Die Programmliste für das Menueprogramm finden Sie in Abb. 6.12. Das vorliegende Programm geht davon aus, daß nach jeder Fahrt vollgetankt wird , um den jeweiligen Verbrauch feststellen zu können.
Programme zur Dateiverwaltung
U3
AUTOMOBILDATEI I=ANLEGEN DATEI 2=E INEN SATZ HINZUFUEGEN 3=DATENSAETZE LISTEN 4=EINEN DATENSATZ LOESCHEN
BITTE AUSWAHL TREFFEN :
Abb. 6.11: Bildschirm: Menue zum Fahrtenbuch
100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260
REM---------------N$= " AUTOMOBILDATEI" REM-------- -------GOSUB 7500: REM INITIALISIEREN X$(l)= " ANLEGEN DATEI" X$(2l= "EINEN SATZ HINZUFUEGEN" X$(3l= "DATENSAETZE LISTEN" X$(4l= "EINEN DATENSATZ LOESCHEN" REM DIE ZAHL DER FELDER UND NAMEN ANGEBEN F$(ll="DATUM" F$(2l=" KILOMETER ZAEHLER" F$( 3l= "LITER" NF=3:F$= "AUTO. TEXT" FB$="AUTO . KOPIE" N=4: GDSUB 8500: REM MENUE ONX GOSUB 270 , 540,600 ,870 GOTO 130
Abb . 6.12: Programmliste: Menue zum Fahrtenbuch
Commodore 64 Programmsamm lung
124
ANLEGEN EINER DATEI UND HINZUFÜGEN VON DATENSÄTZEN Beschreibung
Das Programm zum Anlegen einer Datei wird einmalig zu Beginn benötigt, um die erforderlichen Eintragungen auf der Diskette vorzunehmen. Sollen mehrere Fahrtenbücher geführt werden, so ist pro Fahrzeug eine neue Diskette erforderlich . Im zweiten Teil dieses Programms werden die Daten in die Datei eingegeben. Ein Datensatz enthält jeweils Angaben über Tagesdatum, Kilometerstand und getankte Kraftstoffmenge . Wiederum werden die Datensätze in der Reihenfolge der Eingaben erfaßt. Wenn Sie irrtümlich falsche Daten eingeben, wird sich das auf den Durchschnittsverbrauch auf 100 km auswirken. Sie sollten daher sofort nach der Eingabe die Daten auf Fehlerlosigkeit hin prüfen, zum al die nachträgliche Korrektur eines fehlerhaften Datensatzes sehr schwer ist, wenn schon weitere Sätze folgten. Beispiel
Am 17. Februar 1983 tanken Sie 14,9 Liter Kraftstoff. Laut Tacho beläuft sich der derzeitige Kilometerstand auf 13523 km. Abb . 6.13 zeigt eine Erfassung des Beispiels. Abb. 6.14 zeigt sowohl das Programm zum Anlegen eines Fahrtenbuches als auch das Programm zum Notieren des Kilometerstandes sowie der getankten Mengen.
3~~
REM------ - - --- - --N$="DATEI ANLEGEN " REM--------------GaSUB 75~~: REM INITIALISIEREN
31~
K=
27~ 2B~
29~
1
Abb. 6.14: Programm liste: Datei anlegen und Datensatz hinzufügen
Programme zur Dateiverwaltung
125
EINEN SA TZ HINZUFUEGEN DATUM KILOMETERZAE HLER LITE R
25/1114/83
15785 25
EINEN WEI TEREN SATZ HINZUFUEGEN ? JA ODER NEIN (J / N)
Abb . 6.13: Bildschirm: Datensatz hinz ufügen
32111 33111 34111 3 5111 3 6111 37111 3 8111 39111
Ql $= "DIE BISHERIGE DATEI WIRD GELOESCHT'" Q2$= "":Q3$= "WEITER?(J ODER N)" GOSUB 6111111111: GOSUB 95111111: IF YN$= "N" THEN RETURN Ql$= "ANGABEN ZUM ERSTEN SATZ BITTE " Q2$= Q3$= "DATUM": GOSUB 701110 Q3$= " KI LOMETER": GOSUB 7111111111 Q3$= "LI TER": GOSUB 71111110
401Z1 F 2S= " § :" +F$+" ,S,W"
41111 44111 45111 46111 47111 48111 49111 5111111 51111 52111 53111 54111 55111 56111 57111 58111 59111
OPEN 2,8,2,F2$ N2$="2 ": PRINTII2 ,N2$ FOR L= 1 TO 8:PRINTII2,"*":NE XT L FOR L= 1 TO 8:PRINTII2,P$(L) :NE XT L CLOSE 2 GOSUB 75111111:POKE 2 14,5:POKE 2 11 ,I :SYS 5873 2 :REM CURSORPOS. PRINT "DIE NEUE DATEI IST ANGELEGT" PRINT PRINT "NUN WERDEN SAET ZE HIN ZUGEFUEGT" GOSUB 9111111111: REM PAUSE RETURN REM -----------------------N$="EINEN SATZ HINZUFUEGEN" REM ------------ -----------REM AUFRUF DES UNTERPROGRAMMS GOSUB 4111111111 RETURN
Abb. 6.14: Programmliste: Datensatz hinzufügen
U6
Commodore 64 Programmsammlung
AUFLISTEN DES FAHRTENBUCHES Beschreibung
Das Programm zum Auflisten des Fahrtenbuchs nimmt neben der Darstellung der Datensätze eine Berechnung des jeweiligen Durchschnittsverbrauchs vor. Ein Hochrollen des Bildschirms wird sehr langsam erfolgen , um die Lesbarkeit zu gewährleisten. Sie können leicht den Wirkungsgrad Ihres Fahrzeugs verfolgen . Ein plötzliches Ansteigen des Benzinverbrauchs kann auf Schäden an der Maschine hinweisen. Beispiel
Sie wollen sich den Inhalt Ihres Fahrtenbuches ansehen. In Abb. 6.15 finden Sie ein Beispiel, in Abb . 6.16 die Programmliste.
Progra mme zur D a teive rwa ltung
U7
DATEI LISTEN NR.T AG 2 4 / 03/83 2 5 / 04/83 2 3 2 6 / 04/83
KM 15551 15785 16010
L
30 25 32 . 5
MITTEL 10.68 14.44
ZUR FORTS ET ZUNG BITTE EINE TASTE BETAETI GEN
A bb. 6.15: Bildschirm: A uflisten des Fahrtenbuches
600 610 620 630 640 650 660 670 680 690 695 700 720 740 7 50 760 770 780 78 5 790 800 810 820 830 840 850 860
REM ---------- ---N$="DATEI LISTEN" REM - - -----------GOSUB 7500: REM INITIALISIEREN KM= 0: BENZ= 0 PRINT "NR.TAG "; TAB(15);" KM "; PRINT TAB(23 );" L "; TAB( 3 0) ;" MITTEL " F2$=F$+ ", S , R".OPEN 2,8, 2 ,F2$ INPUT#2 ,N2$ .N=VAL( N2$ ) FOR L= 1 TO 8:INPUT# 2,P$.NEXT L IF N=1 THEN 8 3 0 FOR I = 1 TO N - I INPUT# 2 , P l $ ,P2$ ,P3$ ,P4$ ,P5$ , P6$ ,P7$ ,P8$ BENZ = VAL (P3$ ) MIT = (BEN Z * 100) / (VAL (P2$ ) - KM) KM = VAL (P2$ ) PRINT I; TAB (5); Pl $ ; TAB (15); P 2$ ; TAB ( 23 ) ; P 3$ ; IF I = 1 THEN PR I NT LET MIT = INT (MIT * 100 + . 5) / 100 IF I 1 THEN PR INT TAB( 3 0); MI T REM ZEIT ZUM LESEN AUF DEM BILDSCHI RM FOR TI = I TO 5 00 NEXT TI,I CLOSE 2 PRINT : PRINT PRINT PRINT GOSU8 9000. REM PAUSE RETURN
A bb. 6.16: Programmliste: A uflisten des Fahrtenbuches
128
Commodore 64 Programmsammlung
LÖSCHEN EINES DATENSATZES Beschreibung
Mit Hilfe dieses Programms entfernen Sie einen Datensatz aus Ihrer Datei. Sie können dieses Programm auch dazu verwenden, um fehlerhafte Eingabedaten zu korrigieren. Das Entfernen eines Datensatzes geschieht durch Eingabe seiner Satznummer. Das Löschen eines Datensatzes mitten in der Datei bewirkt zwar eine fortlaufende Neunumerierung der folgenden Datensätze; werden jedoch Korrekturen an alten Eintragungen vorgenommen, führt das zu einer fehlerhaften Berechnung des Durchschnittverbrauchs. Die Programmliste finden Sie in Abb. 6.17.
Programme zur Dateiverwaltung
870 880 890 900 910 920 930 940 950 960 970
129
REM --------------N$= "SATZ LOESCHEN" REM --------------REM AUFRUF ZUM LOESCHEN GOSUB 5500 IF L - 1 THEN 940 POKE 214,18 :SYS 5873 2: PRINT"SATZ NICHT GEFUNDEN'" REM FORTSETZUNG Q2$= "LOESCHUNG": GOSUB 4500 IF YN$= "N" THEN RETURN GOTO 910
Abb. 6.17: Programmliste: Datensatz löschen
131
Kapitel
Progr~~e
7
für
mathematische Ubungen In diesem Kapitel werden drei Zusammenstellungen von Programmen vorgestellt, die es Ihnen erlauben , mathematische Übungen vorzunehmen. Sie müssen jede Programmzusammenstellung gesondert abspeiehern. Jede wird über ein Menue angesprochen , dessen Programm Sie zuerst eingeben sollten. Wir sorgen für Training bei Addition, Subtraktion, Multiplikation ud Division , wahlweise mit ganzen Zahlen oder Brüchen. Die drei Menues bieten Programme mit verschiedenen Schwierigkeitsstufen. Sie sind daher für Schüler von der Grundschule bis zum Abitur geeignet. Alle Programme reagieren auf richtige und falsche Antworten. Bei Eingabe einer falschen Antwort ertönt ein akustisches Signal. Sie werden feststellen , daß diese Programme eine gute Übung für Ihr mathematisches Gedächtnis darstellen. Sie sind ebenso hilfreich beim Lösen gestellter Hausaufgaben .
132
Commodore 64 Programmsammlung
MENUE ZU DEN MATHEMATISCHEN ÜBUNGEN 1 Die erste Zusammenstellung, bestehend aus vier Programmen, bietet die Möglichkeit zum Üben der vier Grundrechenarten mit ganzen Zahlen. Diese Zusammenstellung beginnt mit der Darstellung des Menues 1, von welchem aus Sie sich die Übung , die Sie vornehmen wollen, auswählen können. Danach werden Sie nach der größten Zahl gefragt, die bei den Übungen auftreten darf. Dann liefert das Programm Ihnen zwei Zahlen und einen Operator, der die gewählte Grundrechenart darstellt. Sie geben Ihre Antwort von links nach rechts ein. Bei falscher Lösung ertönt ein akustisches Signal. Gleichzeitig wird die Gesamtzahl aller bisher gelösten Aufgaben sowie die Summe der richtig bzw . falsch gelösten erfaßt. Vor dem Gebrauch der Programme steht die Eingabe des Menueprogramms sowie zweier Unterroutinen . In Abb . 7.1 finden Sie das Menueprogramm. Abb . 7.2 zeigt die Programmliste.
Programme für mathematische Übungen
133
MATHEMATISCHE UEBUNGEN I I=ADDITION 2=SUBTRAKTION 3=MULTIPLIKATION 4=DIVISION
BITTE AUSWAHL TREFFEN:
Abb. 7.1: Bildschirm: Menue zu den mathematischen Übungen 1
100 11111 12111 13111 140 15111 16111 17111 180 190 2111111 21111 22111 23111 240 250 26111 27111 28111 290 3111111 3 1111
REM -------------------------N$= "MATHEMATISCHE UEBUNGEN I" REM -------------------- -----GOSUB 75111111: REM INITIALISIEREN FOR X= 1 TO 100111: NEXT K= 1 REM ZEIGE MENUE UND WAEHLE REM DEN UEBUNGSTYP X$(I)= " ADDITION":X$(2)= "SUBTRAKTION" X$(3)= "MULTIPLIKATION":X$(4)= "DIVISION" N = 4 GOSUB 850111 R= III:W= 0 01$= "GEBEN SIE FUER IHRE UEBUNGEN" 02$= "EIN OBERES ZAHLENLIMIT EI N:" Y= X 03$= X$(Y) REM FRAGEN STELLEN GOSUB 611100 PRINT TAB(20);: INPUT x ON Y GOSUB 59111,76111,97111,115111 GOTO 10111
Abb. 7.2: Programmliste: Menue zu den mathematischen Übungen 1
134
Commodore 64 Programmsammlung
UNTERPROGRAMME ZU DEN MATHEMATISCHEN ÜBUNGEN 1 Die Programme zu den mathematischen Übungen 1 verwenden zwei Unterroutinen zur Darstellung der AufgabensteIlung und der Antworten. Wie schon erwähnt, sollten diese vor den eigentlichen Übungsprogrammen eingegeben werden. Die Unterroutinen dienen im wesentlichen dem Zweck, die eigentlichen Programme so weit wie möglich zu verkürzen. Die Aufgaben werden in den Unterroutinen über einen Zufallsgenerator erstellt. Zusätzlich verwaltet eine Zählroutine die Anzahl der bisher richtig bzw . falsch gelösten Aufgaben. Die Erzeugung eines akustischen Signals bei falsch gelöster Aufgabe ist ebenfalls Bestandteil der Unterroutinen. Eine Programm liste finden Sie in Abb . 7.3.
Programme für mathematische Übungen
320 330 340 350 360 370
380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 580
135
REM ---------REM FRAGEN UND REM ANTWORTEN REM ---------SI; 4- LEN( STRS (Nil l POKE 214,8:POKE 211,29: PRINT Nl $ ; SPC(Sll;Nl: SYS 58732: REM CURSORPOS. 52; 4- LEN(STR$ (N2 ll POKE 214,3:POKE 2 11,28:SYS 58732: PRINT SN$; SPC(S2l;N2 POKE 214,4:POKE 2 11,29:SYS 58732: PRINT "' ---- "' POKE 214,9:SYS 58732:PRINT "'WIE LAUTET DIE ANTWORT "' ; INPUT A POKE 214,6:SYS 58732 PRINT "'DIE RICHTIGE ANTWORT LAUTET :"'; RETURN REM -------------REM PROBLEMLOESUNG REM -------------POKE 214,12:SYS 58732:PRINT "'MIT IHRER LOESUNG LIEGEN SIE "'; REM PUNKTE AUFADDIEREN IF S; 1 THEN R; R+ 1: PRINT "' RICHTIG !"' IF 5 < > 1 THEN W; W+ 1: PRINT "'FALSCH !"'; CHR$ (7) PRINT "' ANZAHL DER GELOESTEN AUFGABEN:"'; TAB( 32l; R+ W PRINT "'DAVON RICHTIG GELOEST:"'; TAB( 32l; R PRINT "'FALSCH GELOEST:"'; TAB( 32l ; W REM WOLLEN SIE EINE WEITERE Q2$; "'UEBUNG "' : GOSUB 4500 RETURN
Abb. 7.3.' Programmliste: Unterprogramme z u den mathematischen Übungen 1
136
Commodore 64 Programmsammlung
ADDITION Beschreibung
Das Programm zum Üben der Addition stellt zwei Zufallszahlen dar. Ihre Antwort geben Sie bitte von links nach rechts ein , was in Einzelfällen für Sie bedeuten kann , daß Sie sich Notizen auf einem Stück Papier anfertigen müssen. Die größte zulässige Zahl wird Ihrer entsprechenden Eingabe im Menueprogramm entnommen. Beispiel
In Abb. 7.4 finden Sie eine Beispielausgabe zur Addition. Bis dahin haben Sie schon sechs Aufgaben gelöst, davon vier richtig. Das Programm zum Üben der Addition finden Sie in Abb. 7.5.
Programme für mathematische Übungen
137
ADDITION UEBEN 2
+
DIE RICHTIGE ANTWORT LAUTET
19 21
WIE LAUTET DIE ANTWORT? 21 MIT IHRER LOESUNG LIEGEN SIE RICHTIG ' ANZAHL DER GELOESTEN AUFGABEN: 6 DAVON RICHTIG GELOEST : 4 FAL-6CH GELOEST: 2
WOLLEN SIE EINE WEITERE UEBUNG DURCHFUEHREN (J,N) ?
Abb. 7.4: Bildschirm: Addition
590 600 610 620 630 640 650 660 670 680 690 700 710 720 730 740 750
REM ---------------N$= "ADDITION UEBEN" REM ---------------GOSUB 7500 Nl= INT( RND(I)* X) N2= INT( RND(I)* X) SN$= " +" REM WIEDERHOLEN SIE DIE FRAGEN REM GEBE ANTWORT GOSUB 320 REM TASTE BETAETIGEN S= 0 IF A= NI+ N2 THEN S= I PRINT SPC(4- LEN(STR$ (Nl+ N2»)Nl+ N2 GOSUB 460 IF YN$= "N" THEN RETURN GOTO 590
Abb. 7.5: Programmliste: Addition
138
Commodore 64 Programmsammlung
SUBTRAKTION Beschreibung Das Programm zum Üben von Subtraktionen ähnelt dem der Addition. Bei der Auswahl der Zufallszahlen ist erwähnenswert, daß deren Differenz immer positiv ist. Denken Sie daran: Wer übt, wird schlau. Also üben Sie viel! Beispiel
In Abb. 7.6 finden Sie das Beispiel einer Subtraktion. Zwei von drei gestellten Aufgaben wurden bisher richtig beantwortet. In Abb. 7.7 finden Sie die Programmliste.
Programme für mathe matische Übunge n
139
SUBTRAKTION UEBEN 15 14 DIE RICHTIGE ANTWORT LAUTET WIE LAUTET DIE ANTWORT? 1 MIT IHRER LOESUNG LIEGEN SIE RI CHTIG ' ANZAHL DER GELOESTEN AUFGABEN: 3 DAVON RICHTIG GELOEST: 2 FALSCH GELOEST:
WOLLEN SIE EINE WEITERE UEBUNG DURCHFUEHREN (J,N) ?
Abb. 7.6: Bildschirm: Subtraktion
76~ 77 ~
78~ 79~ 8~~
81~ 82~
83~ 84~ 85~
86~ 87~ 88~ 89~ 9~~ 91~
92~ 93 ~ 94~
95~ 96~
REM ---------- -- - -----N$ = "SUBTRAKTION UEBEN" REM ----------------- - GOSUB 75~~ Nl= INT( RND(l) * X) N2= INT( RND(l) * X) N3 = Ni IF Ni > N2 THEN 8 5 ~ Nl= N2 :N2 = N3 SN$= REM WIEDERHOLEN SIE DIE FRAGEN UND REM ANTWORTEN SIE GOSUB 32 ~ REM TASTE BETAETIGEN S= ~ IF A= Nl - N2 THEN S = 1 PRINT SPC(4- LEN( STR$ (Nl - N2» )Nl - N2 REM ABSCHLIESSEN GOSUB 46~ IF YN$= "N" THEN RETURN GOTO 7 6~
A bb . 7. 7: Programmliste: Subtraktion
140
Commodore 64 Programmsammlung
MULTIPLIKATION Beschreibung
Mit diesem Programm üben Sie die Multiplikation zweier Zahlen. Es werden Zufallszahlen erzeugt, deren Maximalwert sich aus Ihrer Eingabe im Menueprogramm ergibt. Die Antwort wird in einer einzigen Zeile dargestellt. Zum Üben der Multiplikation mit zwei- oder mehrstelligen Zahlen verwenden Sie bitte das Programm "Üben langer Multiplikation" weiter hinten in diesem Kapitel. Dort werden die zur Erstellung der richtigen Antwort notwendigen Zwischenschritte auf dem Bildschirm dargestellt. Beispiel
In Abb. 7.8 finden Sie das Beispiel der AufgabensteIlung: Multiplikation von 2 5. Der Bildschirmausdruck zeigt, daß von fünf bisher gelösten Aufgaben alle richtig gelöst wurden. In Abb. 7.9 finden Sie das Programm.
*
Programme für mathematische Übungen
141
MULTIPLIKATION UEBEN 2 X
DIE RICHTIGE ANTWORT LAUTET
5
10
WIE LAUTET DIE ANTWORT? 10 MIT IHRER LOESUNG LIEGEN SIE RICHTIG ! ANZAHL DER GELOESTEN AUFGABEN: 5 DAVON RICHTIG GELOEST: 4 FALSCH GELOEST:
WOLLEN SIE EINE WEITERE UEBUNG DURCHFUEHREN (J,N)?
Abb. 7.8: Bildschirm: Multiplikation
970 REM ---------------------980 N$= "MULTIPLIKATION UEBEN" 990 REM ---------------------1000 GOSUB 7500 1010 N1= INT(RND (1)* X) 1020 N2= INT(RND (1)* X) 1030 SN$= "X" 1040 REM WIEDERHOLEN SIE DIE FRAGE UND 1050 REM ANTWORTEN SIE 1060 GOSUB 320 1070 REM TASTE BETAETIGEN 1080 S= 0 1090 IF A= N1* N2 THEN S= 1 1100 PRINT SPC(4- LEN( STR$ (N1* N2») N1* N2 1110 REM ABSCHLIESSEN 1120 GOSUB 460 1130 IF YN$= "N " THEN RETURN 1140 GOTO 970
Abb. 7.9: Programmliste: Multiplikation
142
Commodore 64 Programmsammlung
DIVISION Beschreibung
Das vierte Programm dieser Reihe hilft bei der Übung zur Division ganzer Zahlen. Wiederum ist die höchste zulässige Zahl (Nenner) von vornherein durch die Eingabe im Menueprogramm festgelegt. Die vom Zufallszahlengenerator erzeugten Zahlen sind derart ausgelegt, daß bei der Division im Ergebnis nur ganze Zahlen stehen. Der von Ihnen als Maximum vorgegebene Wert bezieht sich immer auf den Quotienten der Aufgabe , also auf das Ergebnis . Beispiel
Abb . 7.10 zeigt die Division von 12 durch 6. Sie haben fünf Aufgaben gelöst, alle Aufgaben waren fehlerfrei. Das Programm finden Sie in Abb. 7.11.
Programme für mathematische Übun ge n
143
DIVI S ION UEBEN 12 6
DI E RICHTIGE ANTWORT LAUTET
2
WI E LAUTET DIE ANTWORT ? 2 MIT IHRER LOES UNG LIEGEN S IE RICHTIG ! AN ZAHL DER GELOESTEN AUFGABEN: 5 DAVON RI CHTIG GELOEST: 5 F ALSCH GELOEST: 111
WOL LEN S I E EINE WEITERE UEBUNG DURCHFUEHREN (J,N) ?
A bb. 7. 10: Bildschirm: Division
115111 116111 117111 118111 119111 12111111 12 1111 122111 123111 124111 125111 1260 127111 128111 12 9111 13 111111 13 1111 13 2111 133111 13 4111
REM ------ ---- - - - - -N$= "DIVISION UEBEN" REM ------- - - ----- - GOSUB 7 5111111 Nl= INT( RND (1) * X) N2= INT( RND (1 )* X) IF N2 = 111 THEN 12 111111 N1= N1 * N2 SN$= "I" REM WIEDERHOLEN SIE DIE FRAGEN UND REM ANTWORTEN SIE GOSU8 3 2111 REM TASTE BETAETIGEN S= 111 IF A= Ni l N2 THEN S = 1 PRINT SPC(4 - LEN(STR$ (Ni l N2 »)Nl l N2 REM ABSCHLIESSEN GOSUB 46111 IF YN$= "N" THEN RETURN GOTO 1150
A bb. 7. 11: Programmliste: Division
144
Commodore 64 Programmsammlung
MENUE ZU DEN MATHEMATISCHEN ÜBUNGEN 2 Teil 2 der mathematischen Übungen behandelt zwei weitere Übungen für Fortgeschrittene. Das erste Programm behandelt das Üben der spaltenweisen Addition, das zweite die Kettenmultiplikation . Für beide Programme empfehlen wir dringend die Ausarbeitung der Nebenrechnungen auf einem Stück Papier, bevor Sie die Antworten in den Computer eingeben. Beachten Sie bitte, daß bei der Kettenmultiplikation alle Zwischenschritte der Rechnung dargestellt werden. Abb. 7.12 zeigt das Menueprogramm für die mathematischen Übungen Teil 2. In Abb. 7.13 finden Sie das Programm.
Programme fü r mathematische Übungen
145
MATHEMATISCHE UEBUNGEN 11 l=SPALTENWEISE ADDITION 2=MEHRSTELLIGE MULTIPLIKATION
BITTE AUSWAHL TREFFEN:
Abb. 7.12: Bildschirm: Menue z u den mathematischen Übungen 2
100 110 120 130 140 150 160 170 180 190 200
REM ------------ - - - --- - - ----N$ ="MATHEMATISCHE UEBUNGEN 11" REM ------- - - --- ---------- --GOSUB 7500: REM INITIALISIEREN FOR X= 1 TO 1000: NE XT X$ (1) = "SPALTENWEISE ADDITION" X$(2)= "MEHRSTELLIGE MULTIPLI KATION" REM MENUE DARSTELLEN N= 2: GOSUB 8 5 00 ON X GOSUB 2 10,610 GOTO 100
Abb. 7.13: Programmliste: Menue zu den mathematischen Übungen 2
146
Commodore 64 Programmsammlung
SPALTEN-ADDITION Beschreibung
Mit Hilfe des Programms zum Üben der spaltenweisen Addition können Sie ihre Kenntnisse in der Addition mehrerer Zahlen vertiefen. Dieses Programm wird über die Option 1 des Menues angewählt. Sie werden nach der größten Zahl gefragt, mit der Sie üben , und nach der Anzahl der Zahlen, die Sie addieren wollen. Das Programm führt Buch über die Anzahl der richtig bzw. falsch gelösten Aufgaben. Beispiel In Abb. 7.14 finden Sie die richtige Berechnung der Summe der Zahlen
11,6,2, 11 und 5. In Abb. 7.15 finden Sie das Programm.
210 220 230 240 250 260 270 280 290 300 305 310
REM ----------------N$= "SPALTENADDITION" REM ----------------GOSUB 7500: REM INITIALISIEREN 01$= "" 02$= " GEBEN SIE FUER IHRE UEBUNGEN" 03$= "EIN OBERES ZAHLENLIMIT EIN ." GOSUB 6000 I NPUT LG 02$= "WIE VIELE ZAHLEN ? " 03$="" GOSUB 6000
Abb. 7.15: Programmlisle: Spaltenaddition
147
Programme für mathematische Übungen
SPALTENADDITION 11 6 2
11 5
DIE RICHTIGE ANTWORT LAUTET IHRE ANTWORT
35
? 35
IHRE ANTWORT IST:RICHTIG GELOESTE AUFGABEN DAVON RICHTIG : DAVON FALSCH :
' 1
1'1
WOLLEN SIE EINE WEITERE ADDITION DURCHFUEHREN (J,N)?
A bb. 7.14: Bildschirm: Spaltenaddition
321'1 331'1 341'1 351'1 361'1 371'1 381'1 391'1 41'11'1 411'1 421'1 431'1 44111 451'1 461'1 471'1 481'1 491'1 51'11'1 511'1 521'1 531'1 541'1 551'1 561'1 571'1 581'1 590 61'11'1
INPUT NU R= I'I:W= 1'1 GOSUB 751'11'1: REM INITIALISIEREN T= 1'1 FOR 1= 1 TO NU Nl= INT(RND(I)* LG) T=T + NI PRINT TAB(29); PRINT SPC(6- LEN (STR$ (Nl»);Nl NEXT I PRINT TAB(29);"------" POKE 214,NU+ 6 : SYS 58732 PRINT "IHRE ANTWORT :"; TAB(19); INPUT A POKE 214,NU+ 4:SYS 58732 PRINT "DIE RICHTIGE ANTWORT LAUTET .." ,. TAB(29) PRINT SPC(6- LEN(STR$ (T» );T POKE 214,NU+ 8:S= I'I:SYS 587 3 2 IF A= T THEN S= 1 PRINT "IHRE ANTWORT IST:"; IF S= 1 THEN R= R+l: PRINT "RICHTIG '" IF S 1 THEN W= W+l: PRINT " FALSCH ' '' ; CHR$(7) PRINT " GELOESTE AUFGABEN :" ; TAB(32);R+ W PRINT "DAVON RICHTIG : " ; TAB(32); R PRINT "DAVON FALSCH :"; TAB( 3 2); W REM WOLLEN SIE EINE WEITERE Q2$= "ADDITION": GOSUB 451'11'1 IF YN$ = " N" THEN RETURN GOTO 341'1
Abb . 7.15: Programmliste: Spaltenaddition
148
Commodore 64 Programmsammlung
MEHRSTELLIGE MULTIPLIKATION Beschreibung
Wir stellen nun ein Programm zum Üben der Multiplikation mehrerer Ziffern vor. Angewählt wird dieses Programm über die Menueoption 2. Sie geben dann die Anzahl der Ziffern an, mit denen Sie arbeiten wollen . Die Berechnung des richtigen Produkts über die Zwischenrechnungen sollte per Hand erfolgen. Das von Ihnen gefundene Ergebnis wird dann direkt eingegeben . Der Computer berechnet neben dem Ergebnis auch die dazu notwendigen Zwischenschritte. Beim Durchsehen der Zwischenschritte können Sie exakt feststellen, an welcher Stelle Ihnen ein Fehler unterlaufen ist, vorausgesetzt natürlich, Ihr Ergebnis war falsch. Beispiel
Abb. 7.16 zeigt das Ergebnis der Multiplikation von 4623 mit 4913. Beachten Sie, daß, wie schon erwähnt , alle Zwischenschritte dargestellt werden . In Abb. 7.17 finden Sie das Programm.
610 620 630 640 650 660 670 6B0 690 700 710
REM - - ------------- ---- ---------N$= "MEHRSTELLIGE MULTIPLIKATION·· REM ---------------- ---- --------GOSUB 7500: REM INITIALISIEREN Q1$= "" Q2$= "WIEVIELE STELLEN WOLLEN" Q3$ = "SIE MULTIPLIZIEREN" GOSUB 6000 INPUT N GOSUB 7500 N1= 0: N2= 0
Abb. 7.17: Programmliste: Mehrstellige Multiplikation
Programme für mathematische Übungen
149
MEHRSTELLIGE MULTIPLIKATION 4623 4913 13869 4623 111 4161117111111 18492111111111 22 712799
SIE LIEGEN RICHTIG ' WIE LAUTET IHRE ANTWORT
22712799
: ?
WOLLEN SIE EINE WEITERE MUL TI PL I zr ERUNG DURCHFUEHREN (J,N)?
Abb. 7.16: Bildschirm: Mehrstellige Multiplikation
72111 FOR 1= 111 TO N- 1 73111 NI (1)= INT 1 THEN PRINT " FALSCH ' ''; CHR$ (7) 98111 Q2$= "MULTIPLIZIERUNG": GOSUB 45111111 99111 IF YN$= "N" THEN RETURN 1111111111 GOTO 7111111 A
A
A
Abb. 7.17: Programm liste: Mehrstellige Multiplikation
150
Commodore 64 Programmsammlung
MENUE ZU DEN MATHEMATISCHEN ÜBUNGEN 3 Die letzte Zusammenstellung der Übungsprogramme bezieht sich auf die Addition, Subtraktion, Multiplikation und Division von Brüchen. Die Zwischenrechnungen sollten wiederum per Hand auf einem Stück Papier angefertigt werden, um das Endergebnis dann einzugeben. Alle Antworten werden in der Form des kleinsten gemeinsamen Vielfachen ausgegeben , d. h. es werden keine gemischten Zahlen erstellt. Jedes Programm führt wiederum Buch über die Anzahl der richtig bzw. falsch gelösten Aufgaben. Alle vier Bruchrechenprogramme werden von diesem gemeinsamen Menueprogramm aufgerufen. Einen Beispielausdruck sowie die Programmliste des Menueprogramms finden Sie in Abb. 7.18 bzw. 7.19.
Programme für mathematische Übungen
151
MATHEMATISCHE UEBUNGEN 111 I=ADDITION 2=SUBTRAKT ION 3=MULTIPLIKAT ION 4=DIVISION
BITTE AUSWAHL TREFFEN:
Abb. 7.18: Bildschirm: Menue zu den mathematischen Übungen 3
1~~
REM ---------------------------N$= "MATHEMATISCHE UEBUNGEN 111" REM ---------------------------13~ GOSUB 75~~: REM INITIALISIEREN 14~ FOR X= 1 TO 1~~~: NEXT 15~ REM GEHE IN DAS MENUE 16~ REM INDEX SETZEN 17~ X$(I)= "ADDITION " : .$(2)= "SUBTRAKTION" lB~ X$(3)= "MULTIPLIKATION ": .$(4)= " DIVISION " 19~ N= 4: GOSUB B5~~ 2~~ v= X 21~ R= ~: W= ~ 22~ QI$= "GEBEN SIE FUER IHRE UEBUNGEN" 23~ 02$= "EIN OBERES ZAHLENLIMIT EIN :" 24~ 03$= X$(V) 25111 GOSUB 6~~~ 26~ PRINT TAB(2~);: INPUT X 27~ ON V GOSUB 92~,113~,136~,15B~ 2B~ GOTO 1~~ 11~
12~
Abb. 7.19: Programmliste: Menue zu den mathematischen Übungen 3
152
Commodore 64 Programmsammlung
UNTERPROGRAMMEZURBRUCHRECHNUNG Vor der Eingabe eines der Programme zur Bruchrechnung sollten Sie zuerst die vier Unterroutinen in Abb. 7.20 eingeben. Diese Unterroutinen erzeugen die Brüche , finden den größten gemeinsamen Teiler und regeln die Darstellung von Frage und Antwort . Sie sorgen auch für eine Bildschirmdarstellung der Form
Bei der Eingabe allerdings fragt Sie das Programm getrennt nach der Eingabe von Zähler und Nenner.
Programme für mathematische Übungen
29111 3111111 31111 32111 33111 34111 35111 36111 37111 38111 39111 4111111 41111 42111 43111 44111 45111 46111 47111 48111 49111 5111111 51111 52111 53111 54111 55111 56111 57111 58111 59111 6111111 61111 62111 63111 64111 65111 66111 67111 68111 69111 7111111 71111 72111 73111 74111 75111 76111 77111 78111 79111 8111111 81111 82111 8 3 111 84111 85111 86111 87111 88111 89111 9111111 91111
153
REM ------------------- REM ROUTINE ZUM ERZEUGEN REM VON ZAEHLER UND NENNER REM REM ----- --------------DEF FN ND( Xl= INT(RND (ll * Xl Nl= FN ND (X): IF Nl = 111 THEN 3 5111 N2= FN ND (Xl: IF N2 = 111 THEN 3 6111 Dl= FN ND(X) : IF Dl= 111 THEN 37111 D2= FN ND(X) : IF D2= 111 THEN 3 8111 REM SICHER POSITIV IF Nl/ Dl > = N2 / D2 THEN 44111 REM TAUSCH IN ANDERER WEISE N3= N2: N2 = Nl: Nl = N3 D3= D2: D2= Dl: Dl= D3 RETURN REM - - ----------------------- - - REM ROUTINE UM DEN REM GROESSTEN GEMEINSAMEN TEILER REM ZU FINDEN REM -------------- - ------------ U= N3: V= D3 G= U- V* INT (U/ V) IF G= 111 THEN RETURN U= V V= G GOTO 51111 REM ---- -------- --- - - REM FRAGEN STELLEN UND REM AUF ANTWORT WARTEN REM - - ---------------PO KE 214,4: POKE 211,2111: SYS 58732: REM CURSORPOS. Sl= 3- LEN(STR$ (Nl)l:S2= 3 - LEN (STR$ (N2» PRINT SPC(Sll;Nl ; TAB(26); SPC(S2 ); N2 PRINT TAB( 2 111);"--- ";SN$ ," ---" Sl= 3- LEN( STR$ (Dl» : S2= 3- LEN (STR$ (D2» PRINT TAB( 2 111); SPC(Sl); Dl;TAB(26); SPC(S2) ; D2 POKE 214,12: SYS 58732 . PRINT "BITTE EINGABE ZAEHLER, " ; INPUT AN PRINT "BITTE EINGABE NENNER :"; INPUT AD: PRINT POKE 214,8:SYS 58732 : PRINT "DIE RICHTIGE ANTWO RT LAUTET . " ., RETURN REM ----- - ------ --- REM "PROBLEMLOESUNG" REM ---- - ----------Sl= 3- LEN( STR$ (N 3 )l: S2= 3- LEN(STR$ (D 3 » PRINT TAB( 2 9);SPC ( Sl ); N3 PRINT TAB( 29 l;"--- " PRINT TAB( 2 9),SPC( S 2 ); D3 S = 111 IF AN= N3 AND AD= D3 THEN S= POKE 214,15:SYS 587 32 : PRINT "IHRE ANTWO RT IST " ; REM LOESUNGEN IF S= 1 THEN PRINT "RI CHTIG ''':R= R+ 1 I F S < > 1 THEN PR I NT "FALSCH !"; CHR$ ( 7J : W= W+ 1 PRINT "GELOESTE AUFGABEN :"; TAB( ZIII);R+ W PRINT "DAVON RICHTIG :"; TAB( 2 111) ; R PRINT "DAVON FALSCH :"; TAB( 2 111); W REM WOLLEN SIE WEITER Q2$ = "UEBUNG ": GOSUB 45111111 RETURN
A bb. 7.20: Programmliste: Unterprogramme z um Bruchrechnen
154
Commodore 64 Program msamm lung
ADDITION VON BRÜCHEN Beschreibung
Das Programm zum Üben der Bruchaddition wird über Option 1 des Menueprogramms angewählt. Es fragt nach dem größten zulässigen Nenner. Haben Sie keine Angst vor großen Nennern! Dem Mutigen schlägt die Stunde zuerst. Beispiel
In Abb. 7.21 finden Sie das Ergebnis der Addition von 3/2 + 4/5. Dies ist das zweite Problem dieser Reihe. In Abb. 7.22 finden Sie das Programm.
155
Programme für mathe ma tische Übungen
ADDITION UEBEN
3
4 + ---
2
DIE RICHTIGE ANTWORT LAUTET
5
23 10
BIT TE EINGABE ZAEHLER:~ 23 BITTE EINGABE NENNER : ? 10 IHRE ANTWORT I S T RICHTIG ' GELOES TE AUFGABEN 1 DAVON RICHTIG : DAVON FALSCH : 0 WOLLEN SIE E INE WEITERE UEBU NG DURCHFUEHREN (J,N)?
Abb . 7.21: Bildschirm: Addition von Brüchen
920 REM ---------------9 3 0 N$= "ADDITION UEBEN" 940 REM ---------- -----950 GOSUB 7500: REM INITIALISIEREN 960 REM BERECHNET ZAEHLER UND NENNER 970 GOSUB 290 980 SN$= "+" 990 REM AUFGABE STELLEN 1000 REM UND ANTWORT UEBERNEHMEN 1010 GOSUB 560 102 0 REM VOR DEM LOESCHEN 1030 N3= D2* Nl + Dl* N2 1040 D3= Dl * D2 1050 REM FINDEN DES GROESSTEN 1060 REM GEMEINSAMEN TEILERS 1070 GOSUB 450 1080 N3 = N3/V : D3= D31 V 1090 REM BEENDEN 1100 GOSU8 730 1110 IF YN$= "N" THEN RETURN 1120 GOTO 920
Abb. 7.22: Programmliste: Addition von Brüchen
156
Commodore 64 Programmsamm lung
SUBTRAKTION VON BRÜCHEN Beschreibung
Mit diesem Programm können Sie das Subtrahieren von Brüchen üben. Dieses Programm wird über die Menueoption 2 angewählt. Es fragt zuerst nach dem größten Nenner, mit dem Sie arbeiten wollen. Die Zufallszahlen, die generiert werden, garantieren ein positives Ergebnis. Beispiel
In Abb. 7.23 finden Sie eine Berechnung von 4/3 - 5/5 . Abb. 7.24 enthält das Programm.
Programme für mathematische Übunge n
157
SUBTRAKTION UEBEN
4
5
3
5
DIE RICHTIGE ANTWORT LAUTET 3
BITTE EINGABE ZAEHLER:~ 5 BITTE EINGABE NENNER :? 15 IHRE ANTWORT IST FALSCH ! GELOESTE AUFGABEN 1 DAVON RICHTIG : ~ DAVON FALSCH : WOLLEN SIE EINE WEITERE UEBUNG DURCHFUEHREN (J,Nl?
Abb . 7.23: Bildschirm: SUQtraktion von Brüchen
113~
REM ------------------N$~ "SUBTRAKTION UEBEN" REM -------------- ----1160 GOSUB 75~~: REM INITIALISIEREN 1170 REM BERECHNET ZAEHLER UND NENNER 118~ GOSUB 29~ 119~ REM VOR DEM LOESCHEN 12~~ N3~ 02* Nl- 01* N2 121~ REM NULL VERMEIDEN 122~ IF N 3~ ~ THEN 118~ 114~
115~
1 23~
SN$~
REM AUFGABE STELLEN 125~ REM UND ANTWORT UEBERNEHMEN 126~ GOSUB 56~ 127~ D3~ 01* 02 1280 REM FINDEN DES GROESSTEN 129~ REM GEMEINSAMEN TEI LERS 13~~ GOSUB 45~ 131~ N 3~ N3/ V: D3~ 03/ V 132~ REM BEENDEN 133~ GOSUB 73~ 134~ IF VN$~ "N" THEN RETURN 135~ GOTO 113~ 124~
Abb. 7.24: Programm liste: Subtraktion von Brüchen
158
Commodore 64 Programmsammlung
MULTIPLIKATION VON BRÜCHEN Beschreibung Mit diesem Programm können Sie die Multiplikation zweier Brüche üben. Es wird über die Menueoption 3 angewählt. Die Multiplikation von Brüchen soll angeblich sehr leicht sein, also wagen Sie es ruhig! Beispiel In Abb. 7.25 finden Sie eine LösungderÜbungsaufgabe 3/1 * 1/5. Daß Ihr Perfektionismus hier noch nicht besonders ausgeprägt ist, können Sie der Tatsache entnehmen, daß von vier Aufgaben bisher zwei falsch gelöst wurden . Das Programm finden Sie in Abb. 7.26 .
159
Programme für mathematische Übunge n
MULTIPLIKATION UEBEN
3
5
DIE RICHTIGE ANTWORT LAUTET
3 5
BITTE EINGABE ZAEHLER:? 3 BITTE EINGABE NENNER : ? 5 IHRE ANTWORT IST RICHTIG ' GELOESTE AUFGABEN 1 DAVON RICHTIG : 1 DAVON FALSCH : 0 WOLLEN SIE EINE WEITERE UEBUNG DURCHFUEHREN (J,N)?
Abb. 7.25: Bildschirm: Multiplikation von Brüchen
13 60 1370 13B0 1390 1400 1410 1420 1430 1440 1450 1460 1470 14B0 1490 1500 1510 1520 1530 1540 1550 1560 1570
REM ---------------------N$= "MULTIPLIKATION UEBEN" REM ---------------------GOSUB 7500: REM INITIALISIEREN REM BERECHNET ZAEHLER UND NENNER GOSUB 290 SN$= "X" REM AUFGABE STELLEN REM UND ANTWORT UEBERNEHMEN GOSUB 560 REM VOR DEM LOESCHEN N3 = N1* N2 D3= D1* D2 REM FINDEN DES GROESSTEN REM GEMEINSAMREN TEILERS GOSUB 450 N3 = N3/ V D3= D3/ V REM BEENDEN GOSUB 7 30 IF YN$= "N" THEN RETURN GOTO 13 60
Abb. 7.26: Programmliste: Multiplikation von Brüchen
160
Commodore 64 Programm samm lu ng
DIVISION VON BRÜCHEN Beschreibung
Das letzte Programm dieser Serie behandelt das Üben der Division von Brüchen. Es wird über Option 4 des Menueprogramms angewählt . Da die Division eines Bruchs im Prinzip nur die Multiplikation mit dem Kehrwert des zweiten Bruchs darstellt, besitzt dieses Programm eine große Ähnlichkeit mit dem vorhergehenden. Beispiel
In Abb. 7.27 finden Sie die Übungsaufgabe (5/2)/(2/3). In Abb. 7.28 sehen Sie das dazugehörende Programm .
Programme für mathematische Übungen
161
DIVISION UEBEN
5
2
2
3
DIE RICHTIGE ANTWORT LAUTET
15 4
BITTE E I NGABE ZAEHLER: ? 15 BITTE EINGABE NENNER : ? 4 IHRE ANTWORT IST RICHTIG ! GELOESTE AUFGABEN 1 DAVON RICHTIG : 1 DAVON FALSCH : ~ WOLLEN SIE EINE WEI TERE UEBUNG DURCHFUEHREN (J,N)?
Abb. 7.27: Bildschirm: Division von Brüchen
15B~ 1 59~
1 6~~ 161~
162~ 163~ 164~ 165~
1 6 6~ 167~ 1 6B~ 1 69~
17~~ 171~ 172~ 173~
174~ 1 75~
176~ 177~ 17B~ 179~
REM ---------- -----N$= "DIVISION UEBEN" REM ---------------GOSUB 75~~: REM INITIALISIEREN REM BERECHNET ZAEHLER UND NENNER GOSUB 29~ REM VOR DEM LOESCHEN N3= NI* D2 D3= Dl* N2 REM FINDEN DES GROESSTEN REM GEMEINSAMEN TEILERS GOSUB 45~ N3= N3/ V D3= D3/ V SN$= " I" REM AUFGABE STELLEN REM UND ANTWORT UEBERNEHMEN GOSUB 56~ REM BEENDEN GOSUB 73~ IF YN$= " N" THEN RETURN GOTO 15B~
Abb. 7.28: Programmlisle: Division von Brüchen
163
Anhang
A
Zentrale lJnte~rogrannnne Diese Unterroutinen erlauben es dem Anwender, sehr kurze und daher leicht überschaubare Programme zu entwickeln. Im Anhang B wird dann ausführlich erläutert, wie man sich diese Unterroutinen bei Eigenentwicklungen nutzbar machen kann. Diese Routinen brauchen nur einmal eingegeben zu werden. Sie werden zwar in allen Kapiteln benötigt, können aber mit den in der Einleitung beschriebenen Angaben leicht an die Programmpakete der einzelnen Kapitel angehängt werden. Die Erläuterung hierzu finden Sie in Kapitel 1. Denken Sie bitte bei der Eingabe daran, daß Sie im Prinzip nur die jeweils erste REM-Zeile eingeben müssen. Alle anderen REM-Angaben dienen lediglich der Lesbarkeit der Programme, haben aber keinen Einfluß auf den Programmablauf!
Commodore 64 Programmsammlung
164
4000 4010 4020 4030 4040 4050 4060 4070 4080 4090 4100 4110 4120 4130 4140 4150 4160 4170 4180 4190 4200 4210 4220 4230 4240 4250 4260 4270 4280 4290 .4300 4310 4320 4330 4340 4350 4360 4370 4380 4390 4400 4410 4420 4430 4440 4450 4460 4470
REM " SAETZE HINZUFUEGEN " REM ---------------------REM DATENSAETZE AN EINE DATEI ANHAENGEN REM REM DIESE ROUTINE DIENT DAZU, AN EINE BESTEHENDE REM SEQUENTIELLE DATEI DATENSAETZE ANZUHAENGEN. REM REM UEBERGABEPARAMETER: REM NF= ANZAHL DER FELDER REM IN EINER DATEI (MAX=8) REM F$(L)= NAMEN DER FELDER REM F$= NAME DER DATEI, AN DIE ANGEHAENGT WIRD REM REM RUECKGABEPARAMETER: REM KEINE REM REM REM REM ANMERKUNG: DATENSAETZE WERDEN BIS ZUR BEENDIREM GUNG DURCH DEN BENUTZER HINZUGEFUEGT REM AUCH BEI LEEREINGABE WERDEN 8 FELDER ANGELEGT. REM Nl= 0 K = I:GOSUB 7500 Nl= Nl+1:Ql$="BITTE DATENEINGABE" Q2$= "" FOR L=1 TO NF:Q3$= F$(L) : GOS UB 7000 : NEXT L FOR L=1 TO 8:S$(Nl, L )=P$(L):NEXT L IF Nl= 10 THEN GOSUB 4340:Nl=0 Ql$= "EINEN WEITEREN SATZ HINZUFUEGEN? " Q2$= "": Q3$= "JA ODER NEIN (J/N)" GOSUB 6000: GOSUB 9500: IF YN$= "J " THEN 4230 IF NI > 0 THEN GOSUB 4340 RETURN GOSUB 5000 F2$=FB$+ ",S,R":F3$= " §:"+ F$+ ",S,W" OPEN 2,8,2,F2$:OPEN 3,8,3,F3$ INPUT#2,Nl$:N2=VAL(Nl$) Nl$=STR$(Nl+N2):PRINT#3,Nl$ FOR L= 1 TO N2-1 INPUT#2,Pl$,P2$,P3$,P4$,P5$,P6$, P7$ ,P8$ PRINT#3,Pl$:PRINT#3,P2$:PRINT#3 ,P3$ :PRINT#3,P4$ PRINT#3,P5$:PRINT#3,P6$:PRINT#3,P7$:PRINT#3, P8$ NEXT L FOR L=1 TO NI FOR Ll= 1 TO 8: PRINT#3,S$(L,Ll): NEXT Ll,L CLOSE 2:CLOSE 3 RETURN
Abb. A.l: Unterprogramm zum Anhängen von Sätzen
Anhang A
45111111 451111 452111' 453111 454111 456111 457111 458111 46111111 461111 462111 464111 465111 466111 467111 468111 469111 47111111 471111 472111
165
REM " FORTSETZUNG" REM-------------------REM FRAGE NACH WEITEREM DURCHLAUF REM REM DIESE ROUTINE FRAGT DEN ANWENDER, OB ER WEITERE REM DURCHLAEUFE WUENSCHT REM UEBERGABEPARAMETER: REM o2$=Z EICHENKETTE ZUR KENNZEICHNUNG DER REM OPERATION REM RUECKGA8EPARAMETER: REM YN$= "J" oR " N" FUER JA ODER NEIN REM REM-------------------01$ = " WOLLEN SIE EINE WEITERE" Q3$ = "DURCHFUEHREN (J,N)?" REM DIALOG GoSUB 6111111111 REM FRAGE JA ODER NEIN GoSUB 95111111 RETURN
Abb, A ,2: Unterprogramm zur Frage nach einer Fortsetzung
5111111111 51111111 51112111 51114111 51117111 51118111 51119111 511111 5120 5130 514111 517111 519111 52111111 5220 525111 526111 528111 529111 53111111
REM REM REM REM REM REM REM REM
"DATEN DUPLIZIEREN" ------------- ----------------EINE DATEI DUPLIZIEREN DIESE ROUTINE STE LLT VON EI NER DATEI EIN DUPLIKAT HER UEBERGABEPARAMETER: F$= DATEINAME DER DUELLDATEI FB$=DA TEINAME DER ZI ELDAT EI -----------------------------F2 $~F$+· ' , S,R ":OPEN 2,8,2,F2$ F 3$= "§ : "+FB$+ ",S,W" OPEN 3,8 , 3 ,F3$ INPUTij 2,Nl$ :N=VA L(Nl $) Nl $=STR$ (N) : PRI NTij3 ,NI $ FoR R=1 To N- I INPUT# 2,Pl$,P2$,P3$,P4$,P5$ ,P6$,P7$ , P8$ PRINTij3 ,PI $:PRI NTij3 ,P2$:PR INTij3,P3$:PR INTij 3 ,P4$ PRINT ij3, P5$ :PRINTij3 ,P6$ :PRINTij3,P7$ :PRINTij 3 ,P8$ NEXT R CLoSE 2 : CLoSE 3 RETURN
Abb. A.3: Umerprogramm zum Erstellen einer Dateikopie
Commodore 64 Programmsamm lung
166
5500 5510 5520 5530 5540 5550 5560 5570 5580 5590 5600 5610 5620 5630 5640 5650 5660 5670 5680 5690 5700 5710 5720 5730 5740 5750 5760 5770 5780 5790 5800 5810 5820 5830 5850 5870 5B80 5890 5910 5920 5930 5940 5950 5960 5970 5980
REM "LOESCHEN DATENSATZ" REM ---- - ------------------ - -----REM REM REM DIESE ROUTINE LOESCHT EINEN DATENSATZ REM AUS EINER DATEI REM REM UEBERGABEPARAMETER: REM FB$= NAME DER ZIELDATEI REM REM F$= NAME DER QUELLDATEI REM REM REM RUEC KGABEPARAMETER: REM L1=-1 WENN DER DATENSATZ NICHT GEFUNDEN WURDE REM REM REM ANMERKUNG: REM REM IN DER UNTERROUTINE WIRD DER ANWENDER NACH REM DER ZU LOESCHENDEN SATZNUMMER GEFRAGT REM REM -------------------- - --------N$= "DATENSATZ LOESCHEN " : GOSUB 7500:D$= CHR$(4) Q1$= "NUMMER DES ZU LOESCHENDEN DATENSATZES:" Q2$= "": Q3 $= "": GOSUB 6000 INPUT L: REM SATZNUMMER HOLEN GOSUB 5000: REM KOPIE ANLEGEN F2$=FB$ +",S,R":F3$= " § :"+F$ +",S,w " OPEN 2,8, 2 ,F2$ : OPEN 3 ,8, 3 ,F3$ INPUT#2,N1 $ :N=VAL(N1 $ ): IF N < L THEN L= - 1: GOTO 5990 PRINT#3,N -1 IF L= 1 THEN 5900 FOR 1= 1 TO L -1 INPUT#2,P1$,P2$ ,P3$ ,P4$ ,P5$ ,P6$,P7$,P8$ PRINT#3,P1 $ :PRINT#3 ,P2$ :PRINT#3,P3$:PRINT#3,P4$ PRINT#3,P5$:PRINT#3 ,P6$ :PRINT#3,P7$:PRINT#3 ,P8$ NEXT I INPUT#2,P1$,P2$,P3$ ,P4$,P5$,P6$,P7$,P8$ IF N= L THEN 5990 FOR 1= L+ 1 TO N INPUT#2,P1$,P2$,P3 $,P4$,P5$,P6$,P7$,P8$ PRINT#3,P1$ : PRINT#3 ,P2$:PRINT#3,P3$:PRINT#3 ,P4$ PRINT#3,P5$:PRINT#3 ,P6$ :PRINT#3,P7$:PRINT#3,P8$ NEXT I CLOSE 2:CLOSE 3 :RETURN
Abb. A.4: Unterprogramm z um Löschen von Sätzen
167
AnhangA
6111111111 61111111 61112111 61113111 61114111 61115111 61116111 61117111 6111BIII 61119111 61111111 611111 612111 6 1 3111 614111 615111 616111 617111 618111 619111 62111111 621111 622111 623111 624111 625111 626111 627111 628111 629111
REM REM "DIALOG" REM---- ------------- --REM RE M UEBERGABEPARAMET ER REM 01 $ ,02$,03$ ENTHALTEN DIE F RAGEN REM REM REM RUEC KLAUFPARAME TER REM KEINE REM ANMERKUNG: REM UNGENUTZTE FRAGEBEGLEITTEXTE SOLLEN MIT"" REM VERSORGT SEIN REM REM- - ---------------- - REM LOESCHEN DES DIALOGBEREICHES REM ZEICHNEN DER RAENDER UND DER LEERZ EILEN FOR I = 2 111 TO 2 4 REM AUSWAHL DER ZEILE POKE 2 14,I-1:POKE 2 11,1II:SYS 587 32 :REM CURSORPOSITIONIER UNG FOR J = 1 TO 39 IF I = 2 111 THEN PRINT"- " ; IF I 2111 THEN PRINT " "; NEXT J NEXT PO KE 214,2111:PO KE 2 11,1II : S YS 587 32 :REM CURSORPOSITIONIERUNG PRINT 01 $ : REM ERS TE FR AGE PRINT 0 2$ :REM ZWEITE F RAGE PRINT 0 3$ ;:REM DRITTE F RAGE RETURN
A bb. A .5: Unterprogramm zum Dialog
168
Commodore 64 Programm sammlung
65111111 651111 652111 653111 654111 655111 656111 657111 658111 659111 66111111 661111 662111 6621 6624 663111
REM "ZEICHENEINGABE" REM--------------- - ---REM WARTEN BIS EIN ZEICHEN AUF DER TASTATUR REM EINGEGEBEN WIRD REM UEBERGABEPARAMETER REM KEINE REM REM RUEC KGABEPARAMETER REM CH$= ENTSPRECHENDES EINGABE-ZEICHEN REM REM-------------- -----REM WARTEN AUF EINGABE GET CH$ IF CH$=· .. • THEN 662111 IF CH$ = "P" THEN GOSUB 98111111:GOTO 662111 RETURN
Abb. A.6: Unterprogramm z ur zeichen weisen Eingabe
7111111111 71111111 71112111 71113111 71114111 71115111 71117111 71118111 71119111 71111111 711111 712111 714111 715111 716111 717111 718111 719111 72111111 721111 722111 723111 724111 725111 726111 727111
REM "DATENEINGABE " REM------------- ------REM DATENEINGABE REM REM UEBERGABEPARAMETER REM Ql$,Q2$ = BENUTZERANWEISUNG REM Q3$ = NAME DER EINZUGEBENDEN DATEN REM REM RUECKGABEPARAMETER REM P$ (K) = DATENFELD REM ANMERKUNG: REM ES WIRD JEWEILS EIN DATENPARAMETER EINGELESEN REM DER INDE X K WI RD VON 1 FORTLAUFEND AUTOMATISCH REM WEITERGEZAEHLT REM REM------------ --- - - --REM STELLE FRAGEN GOSUB 6111111111 REM HOLE DATEN INPUT P$ (K) REM WIEDERGABE DER GELESENEN DATEN POKE 2 14,K+l: POKE 211,2:SYS 58732:REM CURSORPOSITIONIERUNG PRINT Q3$; TAB( 2111); P$ (K) REM K = K + 1: REM ZAEHLER ER HO EHEN RETURN
Abb. A. 7: Unterprogramm z ur Eingabe von Daten
169
AnhangA
7500 7510 7520 753111 7540 7550 7560 7570 75B0 7590 7600 7610 76 20 763111 764111 765111 7660 7670 7680 7690
REM "BILDSCHIRM INITIALISIEREN" REM----- -----------------------REM REM REM REM DIESE ROUTINE LOESCHT DEN BILDSCHIRM REM UND DRUCKT DEN PROGRAMMTITEL AUS REM REM UEBERGABEPARAMETER: REM N$= TITEL DES PROGRAMMS REM REM RUECKGABEPARAMETER: REM REM REM--- - -----------------REM BILD LOESCHEN PRINT CHR$ (147);:REM HOME REM TITEL PRINT N$: PRINT RETURN
Abb. A.8: Unterprogramm zum Vorbereiten des Bildschirms
8000 8010 8020 8030 8040 8050 8060 8070 8080 809111 8100 8110 8120 8130 8140 8150 8160 8170 8180 8190 8200 8210 8220 8230 8240
REM "PARAMETEREINGABE" REM---------------------REM REM REM UEBERGABEPARAMETER: REM 01$,02$=BENUTZERANWEISUNGEN REM 0 3$= NAME DER EINZUGEBENDEN DATEN REM REM RUECKGABEPARAMETER REM PAR( K)= DATENFELD REM REM ANMERKUNG: REM ES WIRD JEWEILS EIN PARAMETER EINGELESEN. REM DER INDEX K WIRD VON I FORTLAUFEND AUTOMATISCH REM WEITERGEZAEHLT REM---------------------REM STELLE FRAGEN GOSUB 6000 REM HOLE WERT INPUT PAR (K) REM AUSGABE FRAGE UND ANTWORT POKE 214, K+ I:POKE 211,2: SYS 58732 : REM CURSORPOSITIONIERUNG PRINT 03$ ; TAB( 30 );PAR( K) K = K + 1 RETURN
Abb . A.9: Unterprogramm zur Eingabe der Parameter
170
Commodore 64 Programmsammlung
8500 8510 8520 8530 8540 8550 8560 8570 8580 8590 8610 8620 863 0 8640 8650 8660 8670 8680 8690 8700 8710 8720 87 3 0 8 7 40 8750 8760 8770 8780 8790 8800 8810
REM REM-------------------------REM "MENUE-PROGRAMM" REM REM DIESES PROGRAMM STELLT EIN MENUE AUF DEM REM BILDSCHIRM DAR UND TRIFFT DANN DIE AUSWAHL REM REM UEBERGABEPARAMETER REM N$= ANZAHL DER POSITIONEN REM X$(I)= FELD DER PROGRAMMNAMEN REM RUECKGA8EPARAMETER : REM X= NUMMER DES GEWAEHLTEN PROGRAMMS REM REM--------- - - - ---- --- --REM REM MENUE DARSTELLEN FOR I = 1 TO N IF I < 10 THEN PRINT I;CHR$ (20) "=" X$ (1) IF I = 10 THEN PRINT " 0 ="; X$ (1) NEXT I REM FRAGEN STELLEN 01$= "":02$ = "":03$= "BITTE AUSWAHL TREFFEN:" GOSUB 6000 REM EINGABE ZEICHEN GOSUB 6500 X = VAL(CH$ ):IF X = 0 THEN X = 10 REM PRUEFEN, OB ZE ICHEN IM BEREICH IF X > = 1 AND X < = N THEN RETURN DU = "EINGABE NICHT ZULAESSIG, BITTE WIEDERHOLEN." GOSUB 6000 GOTO 8 750
A bb. A .l0: Unterprogramm z ur Darstellung des Men ues
Anhang A
171
9111111111 91111111 91112111 91113111 91114111 91115111 91116111 91117111 91118111 91119111 91111111 911111 912111 913111 914111 915111 916111 917111 918111 919111 9194 92111111
REM "PAUSE" REM--------------------REM REM REM DIESE ROUTINE WARTET AUF REM DIE BETAETIGUNG EINER TASTE REM REM UEBERGABEPARAMETER REM KEINE REM REM RUECKGABEPARAMETER REM KEINE REM REM--------------------Ql$= "ZUR FORTSETZUNG BITTE EINE TASTE BETAETIGEN" Q2$= "":Q3$= "" REM AUFRUF DES DIALOG PROGRAMMS GOSUB 6111111111 REM WARTE AUF TASTENANSCHLAG GET X$: IF X$='''' THEN 919111 IF X$= "P" THEN GOSUB 98111111 RETURN
Abb. A.ll: Unterprogramm zum Pausieren
95111111 951111 952111 953111 954111 955111 956111 957111 958111 959111 96111111 961111 962111 963111 964111 9644 965111 966111
REM "JEIN" REM--------------------REM JA-NEIN REM REM UEBERGABEPARAMETER REM KEINE REM REM RUECKGABEPARAMETER REM YN$="J" ODER "N" REM REM--------------------REM WARTEN AUF DAS ANSCHLAGEN EINER TASTE GET YN$ IF YN$= "J" OR YNS= "N" THEN 966111 REM WENN WEDER JA NOCH NEIN, DANN WIEDERHOLUNG IF YN$= "P" THEN GOSUB 9BI1II1I GOTO 962111 PRINT YNS: RETURN
Abb. A.12: Unterprogramm zur Abfrage ja/nein
172
Commodore 64 Programmsammlung
98111111 981111 982111 983 111 984111 9845 985111 9855 986111 987111 988111 989111 99111111
REM "HARCOPY" REM --------OPEN 1,4,1 FOR 1=111124 TO 211123 STEP 4111 FOR J=1 TO 1+39 K=P EEK(J) 1F K31 THEN PR1NT~1,CHR$(K); NEXT J PR1NT~l
NEXT I CLOSE 1 RETURN
Abb . A 13: Unterprogramm zum Drucken des Bildschirminhalts
173
B Beispiele zur Anwendung der zentralen Unterprogramme Anhang
Diejenigen unter Ihnen , die selbst Programme erstellen , können sich eine Menge Zeit und Mühe sparen, indem sie die zentralen Unterroutinen als Bestandteil ihrer eigenen Programme verwenden . Dieser Anhang soll dazu dienen , Sie mit de m Gebrauch dieser Unterroutinen vertraut zu machen. Wir stellen daher hier noch einmal einige Beispielprogramme zusammen, die alternative Anwendungen dieser Unterroutinen demonstrieren und deren Funktion verdeutlichen sollen.
174
Commodore 64 Programmsammlung
AUFBAU EINES MENU ES Die Unterroutine zum Aufbau eines Menues beginnt ab Zeile 8500 . Ihre Funktion besteht darin, auf dem Bildschirm eine durchnumerierte Auswahlliste darzustellen und dann auf die Eingabe einer Ziffer zu warten . Das Menue-Programm übergibt dann diesen Wert, um das von Ihnen gewählte Programm zu starten.
In Bild B.I und B .2 finden Sie eine Programm liste und die Ausgabe einer derartigen Menue-Verwaltung . In einem Feld mit der Bezeichnung X$ sind die Bezeichnungen der verfügbaren Programme erfaßt. Die Variable N kennzeichnet die Anzahl der zur Verfügung stehenden Anwenderprogramme. Nach Aufruf der Routine werden diese dargestellt. Das Programm wartet auf die Eingabe einer Ziffer zwischen I und N . Nach erfolgter Eingabe wird deren Wert in der Variablen X übergeben. Über ein ON X GOSUB ... wird dann zum ausgewählten Programm verzweigt.
AnhangB
175
100 REM -------------------------- - - - 110 N$= "BEISPIEL EINES MENUE-AUFBAUS"
120 REM --------- - - ----- ------- ------130 GOSUB 7500: REM INITIALISIEREN 140 REM AUFBAUEN EINES MENUEFELDES 15111 X$(I)= "PROGRAMM NR. 1" 160 X$(2)= "PROGRAMM NR. 2 " 17111 X$( 3 )= " PROGRAMM NR. 3" lBI1I X$(4)= "PROGRAMM NR. 4" 190 REM MENUE DARSTELLEN 21110 N= 4: GOSUB 85111111 21111 POKE 214,6: POKE 211,1: SYS 587 32 : REM CURSORPOS. 22111 REM DARSTELLEN, AUSWAHL TREFFEN 230 ON X GOTO 24111, 2 5111,26111,270 24111 PRINT X$ (1); " AUSGEWAEHL T.": END 250 PRINT X$( 2 );" AUSGEWAEHLT.": END 26111 PRINT X$ ( 3 );" AUSGEWAEHLT.": END 270 PRINT X$(4);" AUSGEWAEHLT. " : END
Abb. B.1: Programmliste: Beispiel für den Aufbau eines Menues
BEISPIEL EINES MENUE- AUFBAUS I=PROGRAMM 2=PROGRAMM 3=PROGRAMM 4=PROGRAMM
NR. 1 NR. 2 NR. 3 NR. 4
BITTE AUSWAHL TREFFEN:
Abb. B.2: Bildschirm: Beispiel für ein Menue
176
Commodore 64 Programmsammlung
ABFRAGE NACH DER FORTSETZUNG Alle Programme in diesem Buch verwenden nach einem erfolgten Programmdurchlauf die Unterroutine "WEITER?". Diese Routine fragt den Anwender, ob er einen weiteren Programmlauf wünscht. Die Unterroutine stellt drei Zeilen Text auf dem Bildschirm dar, wovon die zweite vor Aufruf der Routine spezifiziert wird. Die "WEITER ?"-Routine übergibt entweder ein J oder N in der Variablen YN$. Bei J erfolgt ein Neustart des Programms, N bewirkt ein Programmende. Bild B.3 und B.4 zeigen eine Beispielanwendung dieser Unterroutine "WEITER?".
AnhangB
177
280 290 300 310 320 330 340 3 50
REM ------------------------------------------------"ANWENDUNGSBEISPIEL EINER WEITEREN UNTERROUTINE." REM ------------------------------------------------GOSUB 7500: REM INITIALISIEREN Q2$= "DEMONSTRATIONSROUTINE" GOSUB 4500: REM NOCHMAL? IF YN$ ~ "J" THEN 280 END N$~
Abb . B.3: Programmliste: Beispiel für eine Fortsetzung
ANWENDUNGSBEISPIEL EINER WEITEREN UNTERROUTINE.
WOLLEN SIE EINE WEITERE DEMONSTRATIONSROUTINE DURCHFUEHREN (J,Nl?
Abb. B.4: Bildschirm: Beispiel für eine Fortsetzung
178
Commodore 64 Programmsammlung
DAS DIALOG-UNTERPROGRAMM Das Dialog-Unterprogramm erlaubt es dem Anwender, drei Zeilen Text auf dem Bildschirm darzustellen. Die Flexibilität dieser Routine besteht darin, daß man z. B. drei verschiedene Fragen, Erläuterungen oder Anweisungen darstellen kann. Man kann auch z. B. auf eine Erläuterung zwei Fragen folgen lassen. Eine weitere Funktion des Dialog-Unterprogramms besteht darin, vor der Darstellung der drei Zeilen diese mit Blanks zu füllen sowie Grenzmarkierungen zu zeichnen.
In Bild B .5 und B.6 finden Sie die Programmliste und die Bildschirmausgabe einer Beispielanwendung.
AnhangB
179
360 370 380 390 400 410 420 430 440 450 460
REM ------------------------------------- ---N$= "ANWENDUNGSBEISPIEL EINER DIALOGROUTINE." REM - ---------------- -----------------------GOSUB 7500: REM INITIALISIEREN REM FRAGEN STELLEN Ql$= "DAS IST DIE ERSTE FRAGE" Q2$= "": REM EINE LEERE ZEICHENKETTE Q3$= "DAS IST DIE LETZTE FRAGE" REM TEXT AUSGEBEN GOSUB 6000 END
Abb. 8.5: Programmliste: Aufbau eines Dialogs
ANWENDUNGSBEISPIEL EINER DIALOGROUTINE.
DAS IST DIE ERSTE FRAGE DAS IST DIE LETZTE FRAGE
Abb. B.6: Bildschirm: Aufbau eines Dialogs
180
Commodore 64 Programmsammlung
DAS UNTERPROGRAMM ZUR DATENEINGABE Diese Unterroutine regelt die Dateneingabe. Sie ist Bestandteil einer Reihe von Programmen in diesem Buch und kann leicht bei eigenen Anwendungen implementiert werden. Der Dateneingabeprozeß beginnt in der Regel durch Aufruf der Unterroutine INIT, die den Bildschirm löscht und den Index K auf den Wert 1 setzt. Danach erfolgt die Dateneingabe derart , daß die Variable Q3$ jeweils die Bezeichnung des Eingabeparameters über die Unterroutine in Zeile 8000 ausgibt. Das Programm wartet dann auf eine Werteingabe. Der eingegebene Wert wird dann auf die obere Bildschirmhälfte projiziert. Das Programm speichert den Parameter in einem Feld mit der Bezeichnung PAR gemäß der Reihenfolge der erfo lgten Eingaben. Bi ld B.7 und B.8 zeigen die Liste und die Ausgabe dieses Beispielprogramms.
181
Anhang B
470 480 490 500 510 5 20 530 540 550 560 570 580 590 600 610 6 20 630
REM ------------------ - - - --------- - N$ = "EIN BEISPIEL FUER DATENEINGABE " REM - - ---- ---------- - ---- - ------ ---GOSUB 7500: REM INITIAL ISIEREN K = 1 REM DIALOGFELD GENERIEREN Ql $ = " DATENEINGABE":Q2$= RE M 1. WERT EINLESEN Q3$= "WARENPREIS": GOSUB 8000 REM 2 . WERT Q3$= " DISKONT (%)": GOSUB 8000 PRINT: PRINT " PREIS = " ;TAB(25 ); P= PAR (1) - PAR (2) / 100* PAR (1) REM RUNDEN AUF ZWEI STELLEN P = INT(P* 100+ .5) / 100 PRINT P END
A bb. B. 7: Programmliste: Beispiel für die Dateneingabe
EIN BEISPIEL FUER DATENEINGABE WARENPREIS DI SKONT ('l.) 2 70
PREI S =
DATENEINGABE DI S KONT (%) 7 10
A bb. B.8: Bildschirm: Beispielfür die Dateneingab e
183
Anhang
C
Nützliche DruckerlJnte~rogrannune Die meisten der heute erhältlichen Matrixdrucker verfügen über mehrere Druckarten , z. B. Breit- und Engschrift , Doppeldruck oder Schönschrift. Für die Druckereinstellung muß vorab jeweils eine bestimmte Folge von Steuerzeichen an den Drucker geschickt werden. Am Beispiel des EPSON-Druckers wird gezeigt, wie Sie eine derartige Druckereinstellung durchführen können . Falls Sie einen anderen Drucker haben, sehen Sie bitte in Ihrem Handbuch nach , welche Steuerzeichen für Ihren Drucker verwendet werden müssen. Bild C.5 zeigt die verschiedenen Drucktypen. Die hier aufgeführten Unterroutinen können Sie benutzen , um diese verschiedenen Schriftbilder anzusprechen. Schönschrift bietet sich z. B. an für Ihre Korrespondenz, Engschrift für Tabellen oder ähnliches. Im Schrifttyp "eng" passen 132 Zeichen in eine Zeile gegenüber sonst 80. Bild C.l zeigt ein Menue zur Druckereinstellung und Bild C.2 das dazugehörige Programm. Aus Bild C.3 können Sie die Steuerzeichen für die verschiedenen Schrifttypen entnehmen. Bild C.4 enthält eine Liste des Programms, welches den Demoausdruck in Bild C.5 erzeugt.
184
Commodore 64 Programmsammlung
DRUCKSTEUERUNGSFUNKTIONEN I=SCHRIFTTYP-ENG EINSCHALTEN 2=SCHRIFTTYP-ENG AUSSCHALTEN 3=SCHRIFTTYP-BREIT EINSCHALTEN 4=SCHRIFTTYP-BREIT AUSSCHALTEN 5=SCHOENSCHRIFT EIN 6=SCHOENSCHRIFT AUS 7=DOPPELDRUCK EIN 8=DOPPELDRUCK AUS 9=BE I SPIELTEXT DRUCKEN
BITTE AUSWAHL TREFFEN:
Abb. C.l: Bildschirm: Verschiedene Schrifttypen des EPSON-Druck ers
100 110 12 0 130 140 150 160 170 180 190 200 210 220 230 240 250 255
REM -------------------------- N$= " DRUCKSTEUERUNGSFUNKTlONEN" REM --------------------------GOSUB 7500 REM MENUE AUFBAUEN X$ (1) = "SCHRIFTTYP-ENG EINSCHALTEN" X$(2)= " SCHRIFTTYP-ENG AUSSCHALTEN" X$(3)= "SCHRIFTTYP-8REIT EINSCHALTEN" X$ (4)= " SCHRIFTTYP-BREIT AUSSCHALTEN" X$(5)= "SCHOENSCHRIFT EIN" X$(6)= "SCHOENSCHRIFT AUS" X$(7)= "DOPPELDRUCK EIN" X$(8)= "DOPPELDRUCK AUS" X$(9)= "BEISPIELTE XT DRUCKEN " REM MENUE DARSTELLEN N= 9: GOSU8 8500 OPEN 1,4,1
260 ON X GOSUB 280,330,380,430,480,530,580,630,680
265 CLOSE 1 270 GOTO 100
Abb. C.2 : Programmlisle: Menue zur Drucker-Einstellung
185
Anhang C
280 290 300 310 320 330 340 350 3 60 370 3 80 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 580 590 600 610 620 630 640 650 660 670
REM ---------------------------N$= "DRUCKEN MIT SCHRIFTTYPlENG " REM ---------------------------PRINT#I,CHR$ (15); RETURN REM -----------------N$= "ENGE SCHRIFT AUS" REM -----------------PRINT #I,CHR$ (18); RETURN REM ----------------------------- N$ = "DRUCKEN MIT SCHRIFTTYP/BREI T" REM ------- ------------------- - --PRINT#I,CHR$ (14); RETURN REM -----------------N$= "BREITSCHRIFT AUS" REM -----------------PRINT#I ,CHR$ (20); RETURN REM ------------------N$= " SCHOENSCHRIFT EIN" REM ------------------PRINT#I,C HR$ (27) + CHR$ (69); RETURN REM ------------------N$= "SCHOENSCHRIFT AUS" REM -------- ----------PRINT#I,CHR$ (27) + CHR$ (70); RETURN REM ------------ - --N$= "DOPPELDRUCK AN" REM ---------------PRINT#I,CHR$ (27) + CHR$ (71); RETURN REM ----------------N$= "DOPPELDRUCK AUS" REM - ---------------PRINT#I,CHR$ (27) + CHR$ (72); RETURN
Abb. C.3: Programmlisle: Unlerprogramme zur Drucker- Einstellung
186
Commodore 64 Programmsammlung
680 690 700 710 720 730 740 750 770 780 790 795 B00 810 820 830 840 850 860 870 880 890 900 910 920 930 940 950
REM ---------------------N$= "8EISPIELTEXT DRUCKEN" REM ---------------------PRINT CHR$ (147) PRINT " BITTE SCHALTEN SIE DEN DRUCKER EIN." PRINT "TASTE BETAETIGEN" GOSUB 9000: REM AUF ZEICHENEINGABE WARTEN REM TITEL IN SCHOENSCHRIFTMODUS DRUCKEN GOSUB 480 PRINT PRINT"DER DRUCKER HAT FOLGENDE DRUCKAR TEN" PRINT#1,CHR$(19); GOSU8 530 PRINT#l,: PRINT#l,: PRINT#l, T1$= " DAS IST ":T2$= "GEDRUCKT . " PRINT#1,T1$; "NORMAL ";T2$: PRINT#l, GOSUB 280 PRINT#1,T1$;"ENG";T2$: PRINT#l, GOSUB 330: GOSUB 380 PRINT#1,T1$;"BREIT";TS$: PRINT#l, GOSUB 430: GOSUB 480 PRINT#1,T1$;"SCHOEN";T2$ : PRINT#l, GOSUB 530: GOSUB 580 PRINT#1,T1$;"DOPPELT"; T2$: PRINT#l, GOSUB 630: GOSUB 480: GOSUB 580 PRINT#1,T1$;"SCHOEN UND DOPPELT"; T2$ GOSUB 530: GOSUB 630 END
Abb. C.4: Programmüste: Demonstration des EPSON-Drucks
DER EPSON-DRUCKER HAT FOLGENDE DRUCK ARTEN
DAS IS T NORMAL GEDRUCK T. DAS IST ENGGEDRUCKT.
DAS IST SCHOENGEDRUCKT. DAS IST DOPPELTGEDRUCKT. DAS IST SCHOEN UND DOPPELTGEDRUCKT.
Abb. C.5: Bildschirm: Demonstration des EPSON-Drucks
187
Literaturhinweise J. Kasemer: The Easy Guide to Your Commodore 64, Sybex Ine. , Berkeley, USA, 1983*) D. Hergert: The Commodore 64 BASIC Handbook, Sybex Ine. , Berkeley, USA, 1983*) N. N.: Commodore 64 Handbuch, Commodore GmbH, Frankfurt, 1982
R. Zaks: Programmierung des 6502, Sybex-Verlag GmbH, Düsseldorf, 1983 R. Zaks: Advanced 6502 Programming, Sybex Ine. , Berkeley, 1983*)
*) Deutsche Fassung erhältlich: Januar 1984
Die SYBEX Bibliothek
MEIN ERSTER COMPUTER (2. überarbeitete A usgabe) von Rodnay Zaks - eine E infüh run g für alle, die den Kauf oder die Nutzung e ines Mikrocomputers erwägen. 320 Seiten, 150 Abbildunge n, Format DIN A5, ReLNr.: 3020 (1982) CPIM HANDBUCH MIT MP/M von Rodnay Zaks - ein umfassendes Lehr- und Nachsch lagewe rk für CP/M, das Standard-Betriebssystem für Mikrocomputer. 322 Seiten, 100 Abbi ldungen , Format DIN A5, Ref.Nr. 3002 (1981) MIKROPROZESSOR INTERFACE TECHNIKEN (3. übe rarbeitete A usgabe) von Rodnay Zaks/Austin Lesea - Hardware- und Software-Ve rbindungstechniken samt D igital/A nalog-Wandler, Periphe ri egeräte , Sta nd ard-Busse und Fe hl e rsuchtechniken. 425 Seiten, 400 Abb ildu nge n, Format DIN A5, Ref. Nr. : 3012 (1982) PROGRAMMIERUNG DES 6502 (2 . überarbeitete Ausgabe) von Rodnay Zaks - Programmi e rung in Maschinensprache m it dem Mikroprozessor 6502, von den Gru ndkonzepten bis hin zu fortgesc hritte ne n Informationsstrukturen. 360 Seiten, 160 Abbi ldungen, Format DIN A5 , Ref.N r.: 3011 (1982) PROGRAMMIERUNG DES Z80 von Rodnay Zaks - e in komp letter Lehrga ng in der Programmie rung des Z80 Mik roprozessors und eine gründliche Einführung in die Masch ine nsprache. 606 Seiten , 200 Abb ildungen, Format DIN A5, Ref.Nr.: 3006 (1982) EINFÜHRUNG IN PASCAL UND UCSD/PASCAL von Rodnay Zaks - das Buch für jeden, der die Programmiersprache PASCAL lernen möchte. Vorkenntnisse in Computerprogrammierung werden nicht vorausgesetzt. Ei ne schrittweise E inführung mit vie len Übungen und Beispielen . 535 Seiten , 130 Abbi ldu nge n, Ref. Nr.: 3004 (1982) DAS 'PASCAL HANDBUCH· von Jacques Tiberghien - ein Wö rterbuch mit jeder Pascal-Anweisung und jede m Symbol, rese rvierten Wort, Bezeichner und Operator, für beina he alle bekannten Pascal-Versionen. 476 Seiten, 270 Abbi ldungen , Format 23 x 18 cm , Ref.Nr. : 3005 (1982) PASCAL PROGRAMME - MATHEMATIK, STATISTIK, INFORMATIK von Alan Miller - eine Sammlung von 60 der wichtigsten wissenschaftlichen Algorithmen samt ProgrammaufIistung und Musterd urchl auf. E in wichtiges H ilfsmitte l für Pascal-Benutzer mit technischen Anwendungen. 398 Seiten , 120 Abb ildungen, Fo rmat 23 x 18 cm, Ref.Nr.: 3007 (1982) POCKET MIKROCOMPUTER LEXIKON - die schn elle Informations-Börse! 1300 Definiti onen , Kurzforme in , technische Date n, Liefe ranten-Adressen, ein e nglisch-d eutsches und französisc h-de utsches Wörterbuch. 176 Seiten , Format DIN A6, ReLNr. 3008 (1982)
BASIC COMPUTER SPIELE/Band 1 herausgegeben von David H . Ahl - die bes te n Mikrocomputerspiele aus der Zeitschrift "Crea tive Computing" in deutscher Fass un g mit Probelauf und Programm listing. 200 Seite n , 56 Abb ildunge n , ReLNr. 3009 BASIC COMPUTER SPIELE/Band 2 herausgegeben von David H. Ahl - 84 we itere Mikroco mputerspie le aus "Creative Computin g". A lle in Microsoft- BASIC geschriebe n mit Listing und Probelauf. 220 Seiten , 61 A bbildun gen, Ref.N r.: 3010 MEIN ERSTES BASIC PROGRAMM von Rodnay Zaks - das Buch für Einste ige r! Viele farbige Illustrationen und le ichtverständliche Diagramme bringen Spaß am Lernen. In wenige n Stun de n schre ibe n Sie Ihr erstes nützliches P rogramm . 218 Seiten, illust ri e rt , Ref.-Nr.: 3033 (November 1983) BASIC PROGRAMME - MATHEMATIK, STATISTIK, INFORMATIK von Alan MiUer - eine Bibliot hek von Programmen zu den wichtigste n Problemlösungen mit numerische n Verfahren, alle in BASIC gesch ri eben , mit Musterl a uf und Programmlisting. 352 Seiten, 120 Abb ildungen, Ref.N r.: 3015 (1983) PLANEN UND ENTSCHEIDEN MIT BASIC von X. T . Bui - e ine Sammlung von interaktiven , kommerzie ll-orie ntierten BASICProgrammen für Manageme nt- und Plan ungse ntscheid un ge n . 200 Seite n , 53 Abb ildungen, Ref.-Nr.: 3025 (1983) BASIC FÜR DEN KAUFMANN von D. Hergert - das BASIC-Buch für Stud ente n und Praktiker im kaufmännischen Bereich. E nthält A nwe ndun gsbeispiele für Verkaufs- un d Fin anzberichte , G rafike n , A bschre ibunge n 1I. v.m. ca. 240 Seiten , 76 Abbi ldunge n , Ref.-Nr.: 3026 (November 1983) PLANEN, KALKULIEREN, KONTROLLIEREN MIT BASIC-TASCHENRECHNERN von P. Ickenroth - präsentiert e ine Reihe von direkt anwe ndb aren BASIC-Programmen für za hlre iche kaufmännische Berec hnungen mit Ihre m BASIC-Tasche nrechn e r. 141 Seiten, 45 Abb ildunge n , Ref.-Nr.: 3032 (1983) EINFÜHRUNG IN DIE TEXTVERARBEITUNG von Hai Glatzer - woraus eine Textverarbeitungsan lage besteht, wie man sie nutzen kann und wozu sie fä hi g ist. Beispie le versch iedene r Anwe ndun gen und Kriterien für den Kauf e ines Systems. 246 Seiten, 67 A bbildungen, Ref.Nr. 3018 (1983) EINFÜHRUNG IN WORDST AR von Arthur Naiman - eine klar gegliederte Ei nführun g, d ie aufze igt , wie das Textbearb eitungsprogramm WORDST AR funktion iert , was man damit tun kann und wie es e ingesetzt wird. 238 Seiten , 30 Abb ildungen, Ref.Nr.: 3019 (1983) ERFOLG MIT VisiCalc von D. Hergert - um fasse nde E inführung in VisiCalc und seine Anwe ndun g. Ze igt Ihnen u. a .: A ufstellung eines Verte ilungsboge ns, Benu tzu ng von VisiCa lc-Fo rm e ln , Verwendung der DIF-Datei-Funk tion . Ca . 224 Seiten , 58 Abb ildunge n , Ref.-Nr.: 3030 (Herbst 1983)
6502 ANWENDUNGEN von Rodnay Zaks - das E ingabe-/A usgabe-Buch für Ihren 6502-Microprozessor. Ste llt die me istgen utzte n Progra mme un d die dafür no twe ndige n Ha rdwa re-Komponenten vor. 282 Seiten , 205 Abb ildungen , Ref.Nr.: 3014 (1983) BASIC ÜBUNGEN FÜR DEN APPLE von J.-P. Lamoitier - das Buch für APPLE-Nutzer, di e einen schne lle n Z uga ng zur Programmie rung in B AS IC suche n. Abgestufte Übun gen mit zune hme ndem Schwierigkeitsgrad. 252 Seite n, 185 Abb ildungen , Re f. Nr.: 3016 (1983) PROGRAMME FÜR MEINEN APPLE II von S. R. Trost - enthält eine Re ihe von lauffä hi ge n Progra mme n samt L isting un d Beispiellauf. Hi lft Ihnen, vie le ne ue A nwendun gen für I hren APPLE II zu e ntd ecke n und erfolgreich einzusetzen. 192 Seiten , 192 Abbildunge n, Ref.-Nr.: 3029 (1983) BASIC ÜBUNGEN FÜR DEN IBM PERSONAL COMPUTER von J .- P. Lamoitier - vermi tte lt Ihn en BASIC du rch prak tische un d um fasse nde Ü bunge n an hand von rea listische n Programme n: Datenvera rbe itung, Stat istik, kommerzie lle Programme, Spiele u .v. m. 256 Seiten , 192 Abb ildu nge n , Re f. -N r. : 3023 (1983) PROGRAMMSAMMLUNG ZUM IBM PERSONAL COMPUTER von S. R. Trost - mehr als 65 getes tete, direkt e inzugebende A nwe nde rprogramme , die e ine we ite Palette von kaufmä nnischen, persö nli che n un d schu lische n A nwe ndungen abdecke n. 192 Se iten , 158 Abb ildungen, Ref.-Nr.: 3024 (1983) CHIP UND SYSTEM: Einführung in die Mikroprozessoren-Technik von Rodnay Zaks - ei ne se hr gut lesbare E inführu ng in die fasz inie rende We lt der Computer , vo m Microprozesso r bis hin zum vo llstä ndige n System. Ca. 560 Seite n , 325 A bbildungen , Ref.Nr.: 3017 (Erschei nt Herbst 1983) VORSICHT! Computer brauchen Pflege von Rodnay Zaks - das Buch , das Ihn en die Ha ndhab un g e ines Compute rsystems erkl ärt - vor allem , was Sie da mit nicht mache n sollte n. A llge me ingül tige Rege ln für die pflegliche Behandlung Ihres Systems. 240 Seite n, 96 A bbild unge n , Ref.N r. : 3013 (1983) MEIN SINCLAIR ZX81 von D . Hergert - e ine gut lesbare Ei nfü hrung in d iesen E in plati nco mpute r un d dessen Progra mmierung in BASIC. 173 Seiten , 45 Abb ildunge n, Ref: 3021 (1983) SINCLAIR ZX81 BASIC HANDBUCH von D. Hergert - ve rmi tte lt Ihn e n das vollständige BAS IC- Vokabul ar anh and vo n praktische n Beispie le n , macht Sie zum p'rogramm ierer Ihres ZX81. 181 Seite n, 120 A bbild ungen , Ref. -Nr.: 3028 (1983) SINCLAIR ZX SPECTRUM Programme zum Lernen und Spielen von T. Hartnell - ei n B uch zur prak tische n A nwe ndung. G run dzüge des Programmierens aus dem ka ufmä nn ische n Bere ich sowie Spiele, Le hr- un d Le rn prog ramme in BASIC. 224 Seite n , 120 Abbi ldunge n, Ref. Nr. 3022 (1983) SINCLAIR ZX SPECTRUM BASIC HANDBUCH von D . Hergert - e ine wichtige H ilfe für jeden SPECTR UM-A nwe nd er. G ibt e ine Übe rsicht alle r BASIC-Begriffe, die auf diese m Rechn er verwe ndet we rde n kö nn e n , und e rl äute rt sie a usführli ch an hand vo n Beispie len. Ca. 224 Seite n , ca . 150 Abb ild ungen , Ref.-N r. : 3027 (Dezember 1983)
The SYBEX Library*
*Mikrocomputer-Bücher in englischer Sprache von SYBEX; lieferbar ab Lager Düsseldorf
FROM CIDPS TO SYSTEMS: AN INTRODUCTION TO MICROPROCESSORS by Rodnay Zaks 558 pp. , 400 illustr. , Ref. 0063 A simple and comprehensive introduction to microprocessors from both a hardware and software standpoint: what they are, how they operate, how to assemble them into a complete system. DOING BUSINESS WITH VISICALC® by Stanley R. Trost 200 pp., Ref. 0086 Presents accounting and management planning applications - from financial statements to master budgets; from pricing models to investment strategies. BASIC FOR BUSINESS by Douglas Hergert 250 pp., 15 illustr., Ref. 0080 A logically organized, no-nonsense introduction to BASIC programming for business applications. Inc1udes many fully-explained accounting programs, and shows you how to write them . FIFTY BASIC EXERCISES by J. P. Lamoitier 236 pp., 90 illustr. , Ref. 0056 Teaches BASIC by actual practice, using graduated exercises drawn from everyday applications. All programs written in Microsoft BASIC. INSIDE BASIC GAMES by Richard Mateosian 352 pp. , 120 illustr. , Ref. 0055 Teaches interactive BASIC programming through games. Games are written in Microsoft BASIC and can run on the TRS-80 , Apple 11 and PET/CBM. APPLE PASCAL GAMES by Douglas Hergert and Joseph T. Kalash 376 pp., 40 illustr., Ref. 0074 A collection of the most popular computer games in Pascal , challenging the reader not only to play but to investigate how games are implemented on the computer. CELESTIAL BASIC: Astronomy on Your Computer by Eric Burgess 228 pp., 65 illustr., Ref. 0087 A collection of BASIC programs that rapidly complete the chores of typical astronomical computations. It's like having a planetarium in your own horne! Displays apparent movement of stars , planets and meteor showers . FORTRAN PROGRAMS FOR SCIENTISTS AND ENGINEERS by Alan R. Miller 320 pp., 120 illustr. , Ref. 0082 Third in the "Programs for Scientists and Engineers" series. Specific scientific and engineering application programs written in FORTRAN. PROGRAMMING THE 6809 by Rodnay Zaks and William Labiak 520 pp., 150 illustr., Ref. 0078 This book explains how to program the 6809 in assembly language. No prior programming knowledge required .
ADVANCED 6502 PROGRAMMING by Rodnay Zaks 292 pp., 140 illustr., Ref. 0089 Third in the 6502 series. Teaches more advanced programming techniques, using games as a framework for learning. PROGRAMMING THE Z8000 by Richard Mateosian 300 pp. , 124 illustr. , Ref. 0032 How to program the Z8000 16-bit microprocessor. Includes a description of the architecture and function of the Z8000 and its fam ily of support chips. MASTERING CP/M@ by AJan R. Miller 320 pp., Ref. 0068 For advanced CPIM users or systems programmers who want maximum use of the CP/M operating system ... takes up where our CPIM Handbook leaves off. INTRODUCTION TO THE UCSD p-SYSTEMTM by Charles W. GrantandJon Butah 250 pp., 10 illustr., Ref. 0061 A simple, clear introduction to the UCSD Pascal Operating System; for beginners through experienced programmers. A MICROPROGRAMMED APL IMPLEMENTATION by Rodnay Zaks 350 pp., Ref. 0005 An expert-level text presenting the complete conceptual analysis and desing of an APL interpreter , and actual listing of the microcode. THE APPLE CONNECTION by James W. Coffron 228 pp ., 120 illustr. , Ref. 0085 Teaches elementary interfacing and BASIC programming ofthe Apple for connection to extern al devices and household appliances .
FORDERN SIE EIN GESAMTVERZEICHNIS UNSERER VERLAGSPRODUKTION AN:
SYBEX-VERLAGGmbH Heyestraße 22 4000 D üsseldorf 12 Tel.: (0211)287066 Telex : 8588163
SYBEX 4 Place Felix Eboue 75583 Paris Cedex 12 Tel.: 1/347-30-20 Telex : 211801
SYBEXINC. 2344 Sixth Street Berkeley, CA 94710, USA Tel.: (415) 848-8233 Telex : 336311
Dieses Buch beinhaltet mehr als 70 getestete Anwenderprogramme, die direkt eingegeben werden können, Es wird Ihnen helfen, die vielseitigen Möglichkeiten Ihres C64 zu entdecken und bei vielen neuen Anwendungen erfolgreich einzusetzen, Jedes Programm wird erläutert, um eine optimale Nutzung zu gewährleisten, Sie müssen über keine Programmiererfahrung verfugen, um sofort Ihren neuen Rechner einsetzen zu können!
CDMMDIJDRE 64 ProgrammSammlung Über den Autor:
S, R. Trost ist Berater fur die Anwendung von Computersystemen in geschäfthchen, medizinischen und wissenschaftlichen Bereichen, Er ist Autor der Bücher: PROGRAMMSAMMLUNG ZUM IBM PC, PROGRAMME FÜR MEINEN APPLE H, DOING BUSINESS WITH VISICALC, DOING BUSINESS WITH SUPERCALC und VISICALC FOR SCIENCE AND ENGINEERING.
ISBN 3-88745-051-5