Diese Einleitung befaßt sich mit dem grundsätzlichen Kennenlernen Ihres Computers.
Sollten Sie mit dessen Bedienung schon etwas vertraut sein, so dürfte diese Anleitung für Sie kaum etwas
Neues bieten. Wir halten es jedoch für unerläßlich, Sie mit der Grundbedienung vertraut zu machen. Meist
ist es ja so, daß der Neuling an Kleinigkeiten verzweifelt, die dem Erfahrenen nur ein müdes Lächeln
abringen.
Stecken Sie also den Schukostecker in die Steckdose und schalten das Gerät einmal ein. Der Einschalter
befindet sich auf der Rückseite des Rechners links unten. Nach kurzer Zeit haben Sie ersten Kontakt; der
Rechner meldet sich auf dem Bildschirm mit der Meldung:
Die Zahl 7167 (oder 15359 bei den Geräten der Serie 3016 bzw. 31743 beim 3032) sagt Ihnen übrigens,
wie groß der Schreib-Lese-Speicher Ihres Computers ist.
Die Meldung # # # COMMODORE BASIC# # # sagt Ihnen, in welcher Sprache der Rechner program
miert werden kann. Auf die Sprache BASIC kommen wir ausführlich in Kapitel 1 zu sprechen.
Sollte wider Erwarten der Einschaltvorgang nicht korrekt ablaufen, so versuchen Sie bitte folgendes:
1. Drehen Sie den Helligkeitsregler für den Bildschirm entgegen dem Uhrzeigersinn bis zum Anschlag.
Sollte die Meldung des Rechners jetzt sichtbar sein, so drehen Sie den Regler wieder soweit zurück,
bis die Schrift normal hell sichtbar ist.
2. Schalten Sie den Rechner wieder aus. Ziehen Sie den Netzstecker aus der Steckdose.
Überprüfen Sie die Sicherung, die Sie mit einem Schraubenzieher herausdrehen können (die Siche
rung befindet sich direkt neben dem Einschalter). Sollte die Sicherung noch in Ordnung sein, so bleibt
Ihnen nichts anderes übrig, als Ihren Fachhändler aufzusuchen.
Nachdem Sie nun den Rechner eingeschaltet haben, wollen wir kurz einmal den Begriff der Dialogfähig
keit des Rechners erläutern. Die Dialogfähigkeit des Rechners besagt nichts anderes, als daß:
1. Sowohl eine Eingabemöglichkeit, als auch eine Ausgabemöglichkeit des Rechners in Sicht- und Griff
weite des Bedieners sein müssen (bei Ihrem Gerät sind das der Bildschirm und die Tastatur).
2. Daß sowohl der Rechner fragen kann und Sie antworten als auch Sie Fragen oder Aufgaben stellen
können und der Rechner antwortet.
3. Der Rechner Ihnen offensichtliche Fehler, die Sie bei der Programmierung gemacht haben, möglichst
genau lokalisiert, so daß eine Korrektur leicht und schnell möglich ist.
Alle diese Möglichkeiten bietet Ihnen der Computer. Er kann somit ohne Einschränkungen als dialogfähig
bezeichnet werden.
Sehen wir uns einmal die Tastatur genauer an. Grundsätzlich gliedert sich die Tastatur in sieben Unter
gruppen:
1. Die alphabetischen Tasten
Drücken Sie einmal leicht auf die Taste Q. Wie zu erwarten, erscheint auf dem Bildschirm an der Stelle,
wo sich das blinkende Quadrat gerade noch befand, ein Q und das Quadrat wandert eine Stelle weiter
nach rechts (es nennt sich übrigens CURSOR).
Der Computer reagiert natürlich auf alle Buchstaben, Zahlen und Sonderzeichen genauso, wie auf dasQ.
2. Die numerischen Tasten
An sich ist eine Trennung dieser Tasten von den anderen nicht nötig. Da in einem Computer sehr oft
Zahlen eingegeben werden, ist es aber sinnvoll, die Zifferntasten zusammenfassen, damit Sie ohne
große Handbewegung schnell hintereinander erreichbar sind.
Erstaunen mag Sie als EDV-Neuling wohl, was der Punkt in diesem Block zu suchen hat, während das
Komma, bei jeder Zahl mit Nachkommastellen unerläßlich, ganz wo anders angebracht ist.
Doch das ist schnell erklärt.
In den U.S. A., wo auch Ihr Computer herkommt, gibt es kein Dezimalkomma, sondern ein Punkt trennt
Vor- und Nachkommastellen. Wenn Sie sich diese Besonderheit schon jetzt einprägen, werden Sie
später viele Eingabefehler an Ihrem Rechner umgehen können.
3. Die grafischen Zeichen (Siehe Anhang VIII für die -2-Tastatur)
Bestimmt haben Sie die seltsamen Hieroglyphen auf der Tastatur schon verwundert. Das sind gra
fische Zeichen, mit denen man z. B. Tabellen oder einfache Bilder herstellen kann. Um diese Zeichen
auf dem Bildschirm darzustellen, machen Sie folgendes:
A) Drücken Sie eine der beiden SHIFT-Tasten (im alphabetischen Tastenblock untere Reihe links und
rechts).
B) Halten Sie diese Taste gedrückt und drücken Sie gleichzeitig beispielsweise die Taste Q. Auf dem
Bildschirm erscheint das zugehörige Sonderzeichen (statt eines Q beispielsweise ein weißer Kreis).
Siehe auch 1.2.36.
4. Die CURSOR-Steuertasten
Was der Cursor (sprich Körser) ist, haben wir bereits einmal kurz angesprochen. Wir wollen an dieser
Stelle jedoch einmal genauer darauf eingehen.
Prinzipiell hat der Cursor 2 Funktionen:
Erstens teilt der Computer Ihnen dadurch mit, daß er auf eine Eingabe per Tastatur von Ihnen wartet.
Zweitens zeigt er Ihnen an, wo auf dem Bildschirm diese Eingabe angezeigt wird. Das durch die Ta
statur gewählte Zeichen erscheint genau an der Stelle, wo sich der Cursor gerade befindet.
Nun ist es oftmals nötig, den Cursor zu bewegen, ohne daß ein Zeichen geschrieben wird, oder Sie
haben sich verschrieben und wollen ein Zeichen nachträglich einfügen, ändern oder löschen. Dazu
dienen die Cursor-Steuertasten.
Diese befinden sich in der oberen Reihe des numerischen Tastaturblocks.
Sehen wir uns ein Beispiel an:
Drücken Sie gleichzeitig
SHIFT
CLR
HOME
Der gesamte Bildschirminhalt wird gelöscht und der Cursor steht in der oberen Zeile links.
Geben Sie nun einen beliebigen Text ein, z. B.:
DER cbm IST EIN COMPUTER
Nach jedem Buchstaben bewegt sich der Cursor eine Stelle weiter nach rechts und steht zum
Schluß hinter dem R von Computer.
Wir wollen nun den Text ändern, daß er zum Schluß heißt:
DER cbm - MEIN COMPUTER
Zuerst löschen wir das IST und ersetzen es durch -.
Drücken Sie dazu die Tasten
SHIFT
CRSR
—»
Wie Sie sehen, bewegt sich der Cursor um eine Stelle nach links. Er steht jetzt auf dem R von Com
puter. Wiederholen Sie den Vorgang, bis der Cursor auf dem T von IST steht.
Nun drücken Sie zweimal die Taste
INST
DEL
Nach jedem Tastendruck verschwindet das sich jeweils links neben dem Cursor befindliche Zei
chen und der Rest der Zeile wird, einschließlich dem Cursor, um eine Stelle nach links nachgeführt.
Geben Sie jetzt einfach das Zeichen - ein; es überschreibt das vom IST übrig gebliebene T. Mit der Taste
CRSR (aber ohne SHIFT
Mit den Tasten
) bewegen Sie jetzt den Cursor auf das E von EIN.
+
machen Sie nun Platz für das noch fehlende M. Dabei wird der Rest der Zeile ab dem Cursor um eine
Stelle nach rechts verschoben. Zum Schluß gehen Sie mit der Taste
wieder an das Ende des Satzes.
In diesem Beispiel haben wir den Cursor in einer Zeile hin- und her bewegt. Genauso leicht ist es aber
auch möglich, in die darunter liegende Zeile
Î
CRSR
T
oder darüber liegende Zeile
SHIFT+
î
CRSR
1
zu springen.
Zwei Besonderheiten an dieser Stelle noch zu dem Bildschirm: wenn beim Einfügen mit den Tasten
SHIFT
der Rest der Eingabe das Ende der Zeile erreicht hat, so wird er in die nächste tiefere Zeile schreibrich
tig übertragen. Über mehr als eine Zeile ist das aber nicht möglich. Das Einfügen von Zeichen wird
dann blockiert. Das geschieht aus folgendem Grund:
In seinem Speicher behandelt der Rechner zwei Bildschirmzeilen â 40 Zeichen wie eine Zeile â 80 Zei
chen. Mehr als 80 Zeichen können also nicht gleichzeitig behandelt werden. Die zweite Besonderheit
stellen Sie fest, wenn Sie mit dem Cursor in die unterste Zeile »fahren«. An sich müßte der Cursor jetzt
bei weiteren Versuchen, noch tiefer zu fahren, stehen bleiben. Z. B. am oberen Rand, wenn Sie noch
höher fahren wollen. Das geschieht zwar auch, der Bildschirminhalt wird um eine Zeile nach oben ge
schoben und die oberste Zeile des Bildes verschwindet. Man nennt das »der Bildschirm rollt« oder
auch
ROLL MODE
im Gegensatz zum stehenden Bild, das man
BLOCK MODE
nennt.
Die verschwundene Zeile ist endgültig gelöscht, da der Roll Mode nur in einer Richtung arbeitet und
zwar nur von unten nach oben.
Sie selber haben gesehen, welche Vorteile die Cursor-Steuertasten haben. Ihr Gebrauch wird Ihnen
schnell zur Gewohnheit werden.
INST
DEL
3
Daher noch einmal eine Zusammenfassung
CURSOR RIGHT (Cursor nach rechts)
: Der Cursor bewegt sich eine Stelle nach rechts;
SHIFTCRSR
Î
CRSR
1
SHIFT
INST
DEL
SHIFT
CLR
HOME
Î
CRSR
1
INST
DEL
CURSOR LEFT (Cursor nach links)
Der Cursor bewegt sich eine Stelle nach links;
CURSOR DOWN (Cursor nach unten)
Der Cursor bewegt sich um eine Zeile nach unten;
CURSOR UP (Cursor nach oben)
Der Cursor bewegt sich um eine Zeile nach oben;
DELETE (Zeichen löschen)
Das links von dem Cursor befindliche Zeichen wird gelöscht. Gleichzeitig wird der
gesamte rechte Teil der Zeile zusammen mit dem Cursor um ein Zeichen nach links
versetzt.
INSERT (Zeichen einfügen)
Ab der Position des Cursors wird der rechte Teil der Zeile um eine Stelle nach rechts
verschoben. Der Cursor bleibt an der gleichen Stelle stehen, wo sich nun ein Leer
zeichen befindet.
HOME (Cursor in Grundstellung)
Der Cursor wird in seine Grundstellung nach links oben versetzt.
SHIFT
CLR
HOME
CLEAR (löschen des Bildschirms)
Zusätzlich zu der Home-Funktion wird der gesamte Bildschirminhalt gelöscht.
5. Die RVS-Taste
(Reverse = umgekehrt)
RVS
Mit dieser Taste können Sie alle Zeichen auf dem Bildschirm dunkel auf hellem Untergrund stellen. Man
nennt das
INVERSE VIDEO (umgekehrter Bildschirm)
Diese Darsteilungsart wird bevorzugt, um besonders wichtige Meldungen auf dem Bildschirm hervor
zuheben. Die RVS-Taste hat drei Bedeutungen:
OFF
RVS
SHIFT
2.
OFF
RVS
OFF
+
RVS
Nach Drücken dieser Taste erscheinen alle folgenden Zeichen invertiert,
bis die Funktion ausgeschaltet, oder die Taste »RETURN« gedrückt wird.
Nach Drücken dieser Taste wird inverse video wieder abgeschaltet und
alle weiteren Zeichen erscheinen wieder normal.
Sollten Sie einmal Informationen auf dem Bildschirm nicht lesen kön
nen, weil im Roll-Mode die Zeilen zu schnell »vorbeilaufen«, so kann
durch Drücken der Taste »OFF RVS« die Ausgabe so weit verlangsamt
werden, daß ein Lesen in Ruhe erfolgen kann.
4
6. Die RETURN-Taste
Diese Taste (Alpha -Tastenblock, 2. + 3. Zeile rechts, rot) beendet eine Eingabe in den Rechner (nicht
zu verwechseln mit dem Bildschirm, der ist nur ein Teil des Rechners). Ihr Computer kann nämlich nicht
ahnen, wann die Information (man sagt in Fachkreisen dazu DATEN; auch wir werden uns jetzt daran
halten) vollständig sind. Wenn Sie z. B. eine 1 eingegeben haben, weiß der Rechner nicht, ob vielleicht
noch eine 6 folgt. Dazu beenden Sie alle Dateneingaben mit der Taste RETURN:
Z.B.:
1 RETURN
(Eingabe der Zahl 1).
1
6
RETURN
(Eingabe der Zahl 16).
7. Die RUN/STOP-Taste
Auch die RUN/STOP-Taste hat zwei Bedeutungen. Zum einen können Sie mit dieser Taste ein laufen
des Programm an jeder beliebigen Stelle abbrechen. Das ist dann sinnvoll, wenn Sie in einem laufenden
Programm gewisse Daten überprüfen wollen, die nicht von selber ausgegeben werden. Beispiele dafür
geben wir Ihnen später.
Zum anderen können Sie auf einer Kassette gespeichertes Programm mit
SHIFT
RUN
STOP
in den Speicher des Computers einladen und automatisch starten.
1. DER COMPUTER UND SEINE SPRACHE
BASIC, die Sprache in der Ihr Computer arbeitet, ist eine leicht erlernbare, zum Teil aus englischen
Worten, zum Teil aus mathematischen Zeichen bestehende Folge von Befehlen. Obwohl es eine der
leichtesten Programmiersprachen ist, ist sie ungeheuer vielseitig und flexibel. Ursprünglich an der
Dartmouth University entwickelt um Studenten die Möglichkeit zu geben, schnell und leicht Pro
bleme an einem Computer zu bearbeiten, breitete sich diese Sprache sehr schnell in der ganzen
Welt aus. Heute existiert BASIC in unzähligen Versionen auf fast jedem größeren Computer.
Bei unserem COMMODORE-BASIC stand auch das DARTMOUTH-BASIC Pate; gleichzeitig ist
das COMMODORE-BASIC größer und leistungsfähiger geworden.
1.1. Die Komponenten der BASIC-Programmiersprache
Bevor wir uns mit der eigentlichen Sprache BASIC befassen, müssen wir uns zuvor über einige
Schreibregeln einigen. Nachfolgend eine Liste der Konventionen und Ausdrücke, die wir in diesem
Buch zu unserer und Ihrer Erleichterung einführen:
Eckige Klammern [ ] - Ausdrücke in eckigen Klammern können, müssen aber nicht angegeben
werden.
Zeichen - Ein Buchstabe, eine Zahl oder ein beliebiges Sonderzeichen.
Konstante - Eine Zahl innerhalb der Rechengrenzen Ihres Computers (siehe 1.1.1 ).
Formel - Eine Konstante, eine Variable oder ein Ausdruck, bestehend aus Konstanten
und /oder Variabaien (z. B. 8 + 3* %).
5
Buchstabe
Zeilennummer
Text
Variable
Integer
Byte
Geschweifte Klammer O
Ein alphabetisches Zeichen von A - Z.
Eine ganze Zahl von 0 bis 63999.
Eine Folge von 0 bis 255 beliebigen Zeichen.
Siehe 1.1.2.
Eine ganzzahlige Konstante oder Variable im Bereich von - 32768 bis 32767.
Eine ganzzahlige Konstante oder Variable im Bereich von 0 bis 255.
Genau einer der in geschweiften Klammern angegebenen Ausdrücke muß
benutzt werden.
1.1.1 Die Konstanten
Die Grundform einer Konstanten ist eine Dezimalzahl zwischen 1.7*1038 und 2.93*1 CT39.
Bis zu 9 Stellen einer Zahl können gespeichert werden und es kann damit gerechnet werden.
Beispiele für Konstanten:
25,15.75, -87, 0, 3255, 45E7.14.2E-6,13.12345678
In zwei der Konstanten tauchte der Buchstabe E auf. Der Buchstabe E besagt, daß die nach
folgenden Zahlen den Exponenten zur Basis 10 darstellen.
1.27E-2 bedeutet 1.27*10“2 = 1.27/10/10 = 1.27/100 = 0.0127.
Das Vorzeichen wird nur bei negativen Zahlen geschrieben.
Konstanten werden verwendet, um feste Werte zu fixieren.
Da der Computer nicht nur numerische Werte verarbeiten kann, sondern auch Textverarbeitung
zuläßt, gibt es genauso wie numerische Konstanten auch Textkonstanten:
”A”, ’’PETER IST LIEB”, ’’ICH BIN EIN CBM”, ”125 LAMPEN”.
Die Textkonstanten erkennt man daran, daß sie in Anführungszeichen eingebettet sind. Die Anfüh
rungszeichen selber gehören jedoch nicht zur eigentlichen Textkonstante.
1.1.2. Die Variablen
Eine Variable ist ein Symbol, dessen Wert sich ändern kann. Der Name einer Variablen besteht aus
entweder einem Buchstaben z. B.: A, G, Z
oder einem Buchstaben und einer Zahl z. B.: A1, F6,V9
oder zwei Buchstaben z. B.: AX, PE, UT, UX
plus (wahlweise) der Kennzeichnung % oder $.
Eine Variable kann aus mehr als zwei Zeichen bestehen, es werden aber nicht mehr als zwei Zei
chen abgefragt. Wenn Sie zum Beispiel zwei Variablen HANS und HABEL nennen, so werden diese
wie eine Variable behandelt, da beide mit HA anfangen.
Die Variable kann innerhalb eines BASIC-Programms verschiedene Funktionen annehmen:
- Variablen können gleich gesetzt werden
z. B. A = B, A5= XY, XY = B (A wird gleich B gesetzt, usw.)
_____________________________
Variablenliste
Eingabebefehl
Variablen können ausgedruckt werden
Z. B. 20 PRINT A. B. C1.XY
6
Variablenliste
Ausgabebefehl
Zeilennummer
Es gibt drei Arten von Variablen:
1. Fließkommavariablen
Diese Variablen können jeden beliebigen Wert innerhalb der Rechengrenzen des Computers an
nehmen.
Jede Variable, deren Name das Kennzeichen % oder$ nicht enthält, ist eine Fließkommavariable.
Beispiel: A = 7
B8 = 1.5E3
ZY = 9E9
X1 =-0.52187
2. Festkommavariablen
Diese Variablen können als Wert ganze Zahlen zwischen (einschließlich) -32767 und +32767 an
nehmen. Sie haben am Ende des Namens das Zeichen % stehen.
Beispiel: A% = 7
L1 % = 4528
X0% =0
3. Stringvariablen (Strings, Textvariablen)
Diese Variablen haben als Wert einen beliebigen Text aus 0 bis 255 Zeichen. Sie werden mit ange
hängtem $ gekennzeichnet.
Beispiel: A$ = ’’TEXT”
B$ = ”55”
C$ = ’’DIES IST EIN STRING”
X1 $ = ’’COMPUTER 3001 ”
N$ = ” ” (Bemerkung: dieser String besteht aus keinem Zeichen.)
Alle drei Variablenarten können noch indiziert werden. Man spricht dann von dimensionierten
Variablen, Matrizen, Feldern oder Arrays. Siehe 1.2.18.
1.1.3. Arithmetische Operationen
Zu den arithmetischen Operationen gehören zunächst einmal die vier Grundrechenarten, die
auf dem Computer eine etwas andere Darstellungsform besitzen als Sie es vielleicht von anderen
Geräten oder Beschreibungen her kennen.
Nachfolgend die Darstellung dieser Zeichen:
Addition +
Subraktion Multiplikation *
Division /
Darüberhinaus existieren eine Vielzahl von mathematischen Funktionen, die standardmäßig vor
handen sind.
Betrachten wir diese Funktionen im einzelnen.
• SGN Die SIGNUM (Vorzeichen)-Funktion.
Der Funktionswert ist:
für negative Zahlen -1
für positive Zahlen +1
für Null 0
• SIN Die SINUS-Funktion
Sie berechnet den Sinuswert des Arguments im Bogenmaß. (Die mathematische Be
deutung der trigonometrischen Funktionen wird als bekannt vorausgesetzt.)
Syntax: SIN ({Variable, Konstante, arithm. Ausdruck })
Beispiel: A = SIN (B)
? SIN (30)
Anwendung:
Im Bereich der Mathematik.
Ist das Argument in GRAD gegeben, muß es durch eine Umrechnung modifiziert werden.
Beispiel: A = SIN (30 * 7r /180)
Ist das Argument in NEUGRAD gegeben, so lautet die Umrechnung:
Beispiel: A = SIN (30 * tt / 200)
8
• COS Die COSINUS-Funktion
Sie wird genauso behandelt wie die SIN-Funktion.
• TAN DieTANGENS-Funktion
Sie wird behandelt wie die SIN-Funktion.
Die COTANGENS-Funktion existiert bei Ihrem Rechner nicht, da sie sehr einfach durch dieTANFunktion gebildet werden kann. Die Beziehung lautet:
COT (X) =
TAh
S (X)
Beispiel: Y = 1 / TAN (X)
Von den Umkehrfunktionen zu den bisher behandelten trigonometrischen Funktionen existiert
lediglich die
• ATN ARCUSTANGENS-Funktion.
Sie bildet die Umkehr-Funktion des TANGENS.
RND mit negativem Argument ergibt immer den gleichen Funktionswert. Dies kann
beispielsweise für Fehlersuche oder während der Programmentwicklung nützlich sein.
b) X = 0
ergibt einen Wert, der nur von der Zeit seit dem Einschalten des Computers abhängt.
c) X positiv
liefert von der Zeit und von X abhängige Zufallsvariablen.
x
9
Beispiel: Es soll ein Würfel simuliert werden.
10 W = RND(-TI)
20 W = INT (6 * RND (1) + 1)
30? W
• isdie Zahl PI.
Sie ist fest gespeichert, tt = 3.14159265
1.1.4 OPERATOREN
zu den Operatoren zählen:
a) die Vergleichsoperatoren
b) die logischen Operatoren
Vergleichsoperatoren
Sie dienen dazu, Zahlenwerte zu vergleichen. Dies bildet einen sehr wichtigen Bestandteil bei der
Behandlung und Untersuchung von Zahlen.
Wenn z. B. aus einer Zahlenfolge alle Zahlen ermittelt werden sollen, die einen bestimmten Grenz
wert überschreiten, wird ein Vergleichsoperator angewendet.
Die Frage lautet:
- Welcher Wert ist größer als der Grenzwert, bzw.
- Welcher Wert ist kleiner oder gleich dem Grenzwert.
Die mathematische Darstellungsform dieser Vergleichsoperatoren zeigt nachfolgende Tabelle:
BASIC
SCHREIBWEISEBEDEUTUNG
<kleiner als
>größer als
= <gleich oder kleiner als
= >gleich oder größer als
<> oder ><
=
Einige Beispiele mögen die Anwendung und Bedeutung der Vergleichsoperatoren hervorheben.
Dabei benutzen wir schon jetzt die im Rechner gebräuchliche Schreibweise.
IFA < BTHEN ? A
IF
A > BTHEN ? B
IF
A < > B(oder: IF A >< B)
IF A >= B
IFA <= B
IF
A = BTHEN ? ”A =
nicht gleich
Gleichheit
wenn A kleiner als B, dann drucke A
Wenn A größer gleich B, dann ...
B” wenn A gleich B, dann drucke: A = B
LOGISCHE OPERATOREN
Sie sind der Booleschen Algebra entlehnt und finden unter anderem in der elektronischen Digital
technik (also die Technik, in der der Rechner arbeitet) Anwendung.
In den Programmiersprachen haben sie ebenfalls eine sehr große Bedeutung. Man kann mit Ihnen
komplizierte Abfragen aufbauen.
Der Rechner kennt drei logische Operatoren, nämlich
AND (und -Bedingung)
OR (oder-Bedingung)
NOT (nicht- Bedingung)
10
Diese Operatoren können angewendet werden auf beliebige Variablen.
1. AND, OR und NOT bei Festkommavariablen:
Bei ganzen Zahlen zwischen — 32767 und 32767 arbeiten diese Funktionen bitweise in der folgen
den Art:
X
000
01
1
111
Alle Festkommazahlen (Integerzahlen) sind im Computer binär verschlüsselt. Sie bestehen aus
16 Bits, die jeweils den Zustand 0 oderl annehmen können.
XXXXX
14
15
I
____
Daraus folgt, daß 216 = 65536 verschiedene Integerzahlen darstellbar sind.
Da wir aber bei ganzen Zahlen auch negative Zahlen darstellen wollen, wird Bit 15 als Vorzeichen
benutzt. Wenn dieses Bit Null ist, so ist die Zahl positiv, ist Bit 15 gleich Eins, so ist die Zahl negativ.
Es bleiben damit 215 -1 = 32767 verschiedene Möglichkeiten, positiv oder negativ.
Positive Zahlen sind in der Weise codiert, daß Bit n der Wert 2n zugewiesen wird, wenn dieses Bit
gleich 1 ist. Ansonsten hat Bit n den Wert 0. Die Werte aller Bits werden addiert, um die Zahl zu er
halten.
Die Bitdarstellung einer negativen Zahl erhält man folgendermaßen:
Man bildet die entsprechende positive Zahl in Binärdarstellung invertiert dann alle Bits und addiert 1.
YXANDY
X OR YNOT X
01
01
001
1
XXXX
1211
13
Byte 2 Byte 1
10
98
_____
I
XXXXX
7
65
I
4
1
0
0
321
XX
_____
0
I
Beispiel:
Integer
- 1
- 2
- 10011111111
- 11911111111
- 1271111
AND, OR und NOT bilden aus den Argumenten die neuen Werte durch bitweises Vorgehen ent
sprechend der Wahrheitstabelle.
11111111
11111111
Beispiel: ? 5000 AND -127
? 5000 OR -127
? NOT 5000
wegen
00010011 10001000 ( 5000)
11111111 10000001 (-127)
00010011 10000000
11111111 10001001
11101100 01110111
1111
Binär
11111111
1111
1001
10001001
10000001
ergibt 4992
ergibt- 119
ergibt -5001
5000 AND -127
5000 OR -127
NOT 5000
1110
1100
11
2. „Wahr“ und „Falsch“
Jeder Aussage wird vom Computer ein Wert zugeordnet, und zwar der Wert -1 (alle Bits = 1), wenn
die Aussage trifft, und der Wert 0 (alle Bits = 0), wenn die Aussage nicht zutrifft.
Hier wird der Variable A$ der String AMEN zugeordnet, dann soll der „Wert“ zweier Aussagen
gedruckt werden. Da die erste Aussage „wahr“ und die zweite Aussage „falsch“ ist, erhält man
als Antwort: -1 und0.
Beispiel: ? A = NOTB
? X > Y
? X$ = A$ + ”X”
3
usw.
3. AND, OR und NOT bei Aussagen
Die AND-Funktion ist dann wahr, wenn alle Einzelbedingungen wahr sind.
Beispiel: IF A = 1 AND B = 2 AND C = 3 THEN PRINT ’’FERTIG”
Der Computer wird das Wort FERTIG nur dann ausgeben, wenn die Variablen A, B und C die Werte
1, 2 bzw. 3 haben.
Beispiel: IF A$ = ”J” THEN ? ”JA”
Die OR-Funktion ist dann wahr, wenn mindestens eine der Einzelbedingungen wahr ist.
Beispiel: IF A$ = ”J” OR A$ = ”Y” THEN ? ”JA”
Der Computer wird nur dann JA ausgeben, wenn A$ vorher den String ”J” oder den String ”Y”
zugewiesen erhielt.
12
Die NOT Funktion kann nicht auf Strings angewendet werden, sondern nur auf Festkomma
variabien, ist das Argument eine Dezimalzahl, so werden die Nachkommastellen nicht beachtet.
Liegt das Argument nicht innerhalb der Grenzen für eine Integerzahl, so erhält man eine ent
sprechende Fehlermeldung (? ILLEGAL QUANTITY ERROR).
Beispiel: A = - 3 : B = -3.54 : ? NOTA, NOTB
ergibt: 22
A = - 5 : ? NOTA, NOT NOTA
ergibt: 4 - 5
A = 123456 : ? NOTA
ergibt: ? ILLEGAL QUANTITY ERROR (Argument zu groß)
BEISPIELE FÜR BOOLESCHE OPERATIONEN
63 AND 16 = 16 Da die binäre Schreibform von 63
111111, und von 16 10000 ist,
ergibt sich nach der AND-Verknüpfung
10000 oder 16.
15 AND 14 = 1415 =
14 =
Resultat
-1 AND 8 = 8
-1 =
8 =
Resultat
10 OR 10 = 10
10 =
10 =
Resultat
-1 OR -2 = -1
-1 =1111111111111111
-2 =
Resultat
NOT 0= -1
0 =
Komplement davon1111111111111111 = —1
1111
1110
1110 =14
1111111111111111
0000000000001000
0000000000001000 = 8
1010
1010
1010 = 10
1111111111111110
1111111111111111 = -1
0000000000000000
1.1.5 PRIORITÄTEN bei Formeln
Da in der Rechnerschreibweise Formeln und Anweisungen in einer Zeile geschrieben werden,
muß der Rechner ein Schema besitzen, diese Formeln der Reihe nach abzuarbeiten.
Diese PRIORITÄT zur Abarbeitung mathematischer Formeln kann man sehr einfach darstellen.
Oberste Priorität haben immer die mathematischen Operatoren, gefolgt von den Vergleichs
operatoren und den logischen Operatoren.
Im einzelnen läßt sich das wie folgt darstellen:
13
Mathem. Operatoren Höchste Priorität
Funktionen
Î
*/
+ -
VERGLEICHSOPERATOREN
<> (oder ><)
>
<
> =
< =
LOGISCHE OPERATOREN
NOT
AND
OR Niedrigste Priorität
Beispiel: ? 2 j 3 + 6 ergibt 14, weil 2 | 3 zuerst berechnet wird.
1.1.6 Besonderheiten des Gleichheitszeichens
Das Gleichheitszeichen hat in der EDV-Terminologie eine von der Algebra abweichende Bedeutung.
Es bedeutet:
„Ist der Wert von“
und ist nicht zu verwechseln mit der algebraischen Bedeutung:
„Ist gleich“
Die Rechenanweisung
X = X + 1
wäre in der Algebra falsch, da sie auf den Widerspruch 0 = 1 führt.
In der Programmiersprache BASIC ist diese Anweisung jedoch korrekt, sie besagt nämlich:
X „ist der Wert von“ alter Wert von X plus 1
oder
X = X * B X „ist der Wert von“ alter Wert von X mal dem Wert von B.
1.1.7 MATHEMATISCHE FORMELN ALS BEISPIEL FÜR RECHENANWEISUNGEN
Mathematische Formeln werden in BASIC etwas anders geschrieben als in der herkömmlichen
Schreibweise.
Den besten Vergleich erhält man, wenn man diese unterschiedlichen Schreibweisen anhand von
Beispielen einander gegenüber stellt.
ALGEBRAISCH
a + b
c + d
a + b
c
a • b
c
a
b
c
BASIC
(A + B) / (C + D)
(A + B) / C
A * B / C
A/B/C
14
a
b
c
A / (B / C)
a
bc
(ab)N C
a
+ i
b
ba +1
5v^3
1
vV
Die Rechenanweisung wird nun gebildet durch das Gleichheitszeichen, auf dessen Besonderheit
bereits hingewiesen wurde.
Die Darstellung einer Rechenanweisung erfolgt genauso wie in der Algebra.
z.B. X = A + B + C
-----------------------
-----------------------------------------------Eine Variable, der das
Diese Darstellungsform muß immer eingehalten werden und darf nicht verändert werden. So ist
z. B. vorgeschrieben, daß links vom Gleichheitszeichen immer eine Variable stehen muß, während
rechts entweder eine Variable oder eine mathematische Formel stehen muß. Es darf links kein
mathematischer Ausdruck stehen.
A / (B * C)
(A * B) î N * C
B t (A + 1)
B f A + 1
A f 0.6 [| = 0.6]
A t (—0.5) [|=0.5]
mathem. Formel
Rechenergebnis zugewiesen wird.
1.1.8 Der Aufbau eines Programms in BASIC
Um ein Programm in BASIC zu erstellen, benutzt man die nachfolgend beschriebenen BASICAnweisungen.
Auch hierbei muß man sich an eine bestimmte Ordnung halten, ähnlich wie bei den Rechen
anweisungen.
Eine BASIC-Programmzeile besteht immer aus einer bestimmten Zeilennummer, die man auch
als Adresse bezeichnen könnte, der BASIC-Anweisung selbst, sowie (sofern vorhanden) der
Variablenliste. Die Programmzeile kann maximal 80 Zeichen lang werden.
Eine einfache Anweisung, nämlich die Werte von 5 Variablen auszudrucken, sieht recht übersicht
lich aus.
Die Zeilennummer ist sozusagen der Fingerabdruck der BASIC-Anweisung. Sie gibt es nur einmal
und ist daher unverwechselbar. Anhand dieser Zeilennummer finden wir die Anweisung immer
wieder.
Sie ist immer ganzzahlig, in aufsteigender Reihenfolge und kann von
0 bis 63999
definiert sein.
Variablenliste
BASIC-Anweisung
(Befehlswort)
15
Die Anweisung selbst sagt aus, was mit der nachfolgenden Variablenliste, die im Übrigen aus
verschiedenen Informationen bestehen kann, passieren soll.
Möglich sind Texte, Konstanten und Variablen.
Das normale Standard-BASIC sieht vor, daß mit diesen Informationen eine Programmzeile be
endet ist. Eine neue Zeile sollte beginnen.
Bei Ihrem Computer ist es jedoch möglich, mehrere BASIC-Anweisungen getrennt durch einen
Doppelpunkt, in eine Zeile zu schreiben. Maximal kann diese Zeile 80 Zeichen aufnehmen.
Bedingt durch die Begrenzung von 40 Zeichen pro Zeile auf dem Bildschirm, bildet sich der
Rechner automatisch eine Doppelzeile.
Wichtig ohne etwas zu tun ...
Sobald die Probleme, die Sie mit Ihrem Rechner lösen, komplexer werden, wird Ihr Programm
natürlich länger und damit meist unübersichtlicher. Ein gutes Hilfsmittel, um ein Programm gut
überschaubar zu machen, ist der REMARK-Befehl:
n REM TEXT
Die REM-Anweisung ist eine Mitteilung an den Rechner, die nachfolgenden Ausführungen,
Anweisungen oder Bemerkungen beim Rechenvorgang nicht zu berücksichtigen. Sie hat auf den
Programmablauf keinen Einfluß, sondern wird nur beim Auflisten des Programms ausgegeben,
um dem Programmierer die Arbeit zu erleichtern. Zu beachten ist, daß die REM-Anweisung
Speicherplatz benötigt und der nachfolgende Text nicht länger ist, als es die Programmzeile erlaubt
(insgesamt 80 Zeichen).
Wird REM gemeinsam mit anderen Befehlen in einer Zeile verwendet, so muß REM der letzte
Befehl der Zeile sein, da Befehle nach REM nicht ausgeführt werden.
n = Zeilennummer des Befehls
Text - beliebige Informationen
Bei- 100 REM Beginn des Unterprogramms
spiele: 5810 REM Schachprogramm
12 PRINT A: REM ERGEBNIS
1.2.2 Der END Befehl
Jetzt hört’s auf...
Auch wenn das Programmieren noch soviel Spaß macht, einmal ist jedes Programm zu Ende.
Um das logische Ende des Programms zu kennzeichnen, benutzen wir den Befehl:
n ENDn = Zeilennummer des Befehls
Der Befehl END kann mehrmals in einem Programm benutzt werden, was vor allem bei Programm
verzweigungen sinnvoll sein kann. Dieser Befehl bewirkt das Anhalten des Programms, ohne
irgendwelche Daten zu verändern. Das Programm kann nach dem END durch den Befehl CONT
(siehe 1.3.2) fortgesetzt werden.
Beispiel: 10 END
1.2.3 Der STOP Befehl
Das Programm kann verschnaufen ...
Es soll ja Vorkommen, daß ein Programm nicht gleich so arbeitet wie sein Schöpfer gern hätte.
Dann sind oft einige Testläufe nötig. Bei diesen Tests kann man den Befehl
n STOP
n = Zeilennummer des Befehls
16
benutzen um das Programm anzuhalten und den Wert einiger Variablen zu erfragen. Der STOP-
Befehl unterscheidet sich vom END-Befehl dadurch, daß beim Beenden des Programms die
Meldung: BREAK IN ... (Zeilennummer) ausgegeben wird.
Auch nach dieser Unterbrechung kann das Programm mit CONT (siehe 1.3.2) fortgesetzt werden.
Beispiel: 120 STOP
1.2.4 Der LET Befehl
Man kann ihn auch vergessen ...
Bei Ihrem Rechner ist es genauso wie bei uns Menschen, seine Sprache ist älter als er. Bei älteren
Rechnertypen war der Befehl
n LET Zuweisung
nötig um Werte einer Variablen zuzuordnen. Unseren Rechner stört diese Anweisung nicht, sie ist
aber auch nicht nötig und man sollte sie möglichst fortlassen, da sie 1 Byte unseres Speicher
platzes belegt.
n = Zeilennummer des Befehls
Beispiel: 130LETA = 10*B
besser 130A = 10*B
1.2.5 Der PRINT Befehl
So unterhalte ich mich ...
Soll der Rechner seinen Benutzer während des Programmlaufs ansprechen, ihm Daten angeben
oder einen guten Morgen wünschen, benutzen wir den Befehl:
n { PRINT / ? } {Text / Variablenliste }
n = Zeilennummer des Befehls
Der PRINT-Befehl bewirkt das Ausgehen einer nachfolgenenden Text- und/oder Variablenliste.
Das Fragezeichen ist gleichbedeutend mit dem Wort PRINT und wird vom Rechner beim Listen des
Programms durch PRINT ersetzt. Auszugebender Text muß in Anführungszeichen gesetzt werden.
Bei- 110 PRINT ’’LISTE-NR.”, A ; D $
spiele: 20 ? ’’PROGRAMMANFANG”, C $
Nach einem PRINT-Befehl erfolgt ein Wagenrücklauf und ein Zeilenvorschub, so daß jeder PRINTBefehl am Anfang einer neuen Zeile ausgeführt wird. Mit dem bloßen PRINT-Befehl erzeugt man
also eine Leerzeile auf dem Ausgabegerät.
Der Computer läßt verschiedene Formatierungsarten zu; dabei ist zu beachten, daß ein String
genausoviel an Platz belegt, wie er Zeichen hat. Eine Zahl belegt soviele Plätze, wie sie Ziffern
hat, plus eine Spalte für das Vorzeichen.
Das Komma:
Jede zehnte Druckposition ist intern im Computer vortabuliert. Das Komma in einem PRINT-
Befehl bewirkt, daß das folgende Zeichen in die nächste vortabulierte Position geschrieben wird.
Zeilenvorschub und Wagenrücklauf werden unterdrückt.
Beispiel: ? , ”XY”, ”XY”
XY
Î
1
Ît
11
XY
21
17
Beispiel: A = 3 :: B = - 4 : ?
3
ÎÎ
- 4
211
Das Semikolon:
Das Semikolon in einem PRINT-Befehl bewirkt, daß Zeilenvorschub und Wagenrücklauf unter
drückt werden (Ausgabe ohne Zwischenraum).
Beispiel: ? ”COM”; : ? ’’PUTER”
COMPUJIR
Beispiel: A = -3:B = -4:?A;B; ’’TEXT”; A
= 3_:4_IEXJ-3
Der SPC-Befehl:
Der SPC(n) bewirkt den Ausdruck von n Leerzeilen, n kann zwischen 0 und 255 liegen,
n kann auch eine Variable oder ein berechneter Ausdruck sein.
Nachkommastellen bleiben unbeachtet.
Beispiel: ? SPC(3) ’’DREI” SPC(1) ’’FUENF”
DREI FUENF
Beispiel: ? SPC(^) ’’DREI”
DREI
Siehe Anmerkung zum TAB-Befehl.
Der TAB-Befehl:
Er hat das Format TAB(n), wobei n eine Zahl oder ein berechneter Ausdruck zwischen 0 und
255 sein kann. Stellt n keine ganze Zahl dar, so werden die Nachkommastellen nicht beachtet.
Der Befehl TAB(n) bewirkt den Ausdruck des folgenden Zeichens n Freistellen vom linken
Bildschirmrand (oder Papierrand) entfernt.
Beispiel: ? TAB (4) 4; TAB (8) ”X”
4 X
Ist die durch den TAB-Befehl spezifizierte Druckposition bereits belegt, so wird in die nächste freie
Position geschrieben.
Beispiel: ? TAB(4) ”X” TAB(3) ”Y”
XY
Anmerkung: Bei der Verwendung von TAB und SPC dürfen die Daten nur durch Semikolon ge
trennt werden, da das Komma eine höhere Priorität besitzt als die Befehle TAB und SPC.
18
1.2.6. Der INPUT-Befehl
Und so verstehe ich Sie ...
Um die Dialogfähigkeit des cbm zu verwirklichen, reicht der PRINT-Befehl nicht, wir benötigen
auch ein offenes Ohr, den INPUT-Befehl:
n INPUT [’TEXT” ;] Variablenliste
(n = Zeilennummer des Befehls)
Der INPUT-Befehl bewirkt einen Stop des Programms und ermöglicht eine Dateneingabe für die
Variablen, die hinter dem INPUT aufgeführt werden.
Stehen mehrere Variablen hinter dem INPUT, so müssen entweder alle Daten durch Komma
getrennt werden und abschließend muß die RETURN-Taste gedrückt werden oder nach jeder
einzelnen Eingabe muß die RETURN-Taste betätigt werden.
Beispiel: 20 INPUT A, C $, D
Eingabe : 2, KARO, 3
RETURN
oder : 2
KARO
3RETURN
Das Programm zeigt die Bereitschaft zur Eingabe durch ein Fragezeichen oder durch Drucken des
Textes, den wir hinter dem INPUT in Anführungszeichen vermerkt haben, plus Fragezeichen an.
RETURN
RETURN
__________
i
I
Beispiel: 30 INPUT A
Ausdruck: ?
40 INPUT ’’GEBEN SIE A EIN”; A
Ausdruck: GEBEN SIE A EIN?
Als Variable können selbstverständlich auch Ganzzahl- und Textvariablen verwendet werden.
Beispiel: 10 INPUT ’’TEXTEINGABE”; B $
Geben Sie mehr als 80 Zeichen bei einem INPUT-Befehl ein, so ignoriert der Computer die ersten
80 Zeichen und speichert nur die nachfolgenden Zeichen ab.
Weiter darf während der Eingabe für eine numerische Variable kein Komma oder Doppelpunkt
benutzt werden, da der Computer diese Zeichen als Eingabeende interpretiert.
Soll ein String eingegeben werden, der Komma oder Doppelpunkt enthält, so muß dieser String
in Anführungszeichen geschrieben werden.
1.2.7 Der GET Befehl
Für Leute die nicht mehr warten wollen ...
Dern GET Variable
Befehl ist ebenfalls ein Eingabebefehl.
Im Gegensatz zum INPUT hält das Programm bei einem GET nicht an und es kann nur eine Variable
eingegeben werden. Es können Variablen oder Textvariablen eingegeben werden. Es wird nur ein
Zeichen bzw. eine Ziffer übernommen.
n = Zeilennummer des Befehls
19
Beispiel: 10 GET C
30 GET B $
Da der Rechner in der Lage ist, bis zu 9 Tastenbetätigungen zu speichern, wird dasjenige Zeichen
übernommen, das während des Programmlaufes vor Erreichen des GET-Befehls gedrückt wurde.
Soll der Rechner auf Eingabe eines Zeichens warten, so kann das mit einer Warteschleife erreicht
werden. (Siehe 1.2.15).
Beispiel:
20 GET A $
30 IF A $ = “ “ THEN 20
1.2.8 Der DATA Befehl
Mein Grundwissen ...
Nun lernen wir einen Befehl kennen, mit dem man Daten speichern kann, auf die der Rechner im
Bedarfsfälle zurückgreift. Es ist der Befehl:
n DATA Listen = Zeilennummer des Befehls
Die Daten werden hierbei an beliebiger Stelle im Programm hinter DATA aufgereiht und später der
Reihe nach von links nach rechts mittels READ gelesen, (siehe 1.2.9) Die Daten werden unter
einander durch Kommas getrennt und dürfen daher weder Komma noch Doppelpunkt enthalten.
Sollen diese beiden Zeichen oder führende Leerzeichen mittels DATA in eine Textvariable gebracht
werden, so muß dieser Text in der DATA-Anweisung in Anführungszeichen stehen, was ansonsten
bei Texten hinter DATA nicht der Fall ist.
Beispiel: 100 DATA 15,3.7, 9,12
150 DATA "DER:”, COMPUTER
Die Daten hinter einem DATA können von verschiedenen READ-Anweisungen gelesen werden,
da sich ein Pointer (Zeiger) „merkt“, ab welchem Wert mit dem READ Befehl weiter gelesen wird.
Beispiel: 10 READ A, B, C
Pointer (READ noch nicht durchgelaufen)
Pointer (READ 1 x durchgelaufen)
| Pointer (READ 2 x durchlaufen)
100 DATA 4, 5, 7, 3.1,7, 9 I
1.2.9 Falls ich es vergessen habe
..........
DER RESTORE BEFEHL
Beim DATA-Befehl haben wir erfahren, daß der Computer die Daten hinter dem DATA der Reihe
nach liest. Sollen, nachdem bereits Daten gelesen wurden, nicht die nachfolgenden, sondern die
ersten Daten gelesen werden, so benutzen wir den
n RESTORE
n = Zeilennummer des Befehls
Befehl.
Mit anderen Worten, dieser Befehl setzt den Pointer vor das 1. Zeichen der Daten.
Beispiel: 30 RESTORE
20
1.2.10
------
und so komme ich daran
DER READ BEFEHL
Der
n READ Variablenliste
Befehl bezieht sich auf die DATA-An Weisung und kommt ohne diese nicht aus. Der READ-Befehl
liest die Daten in der vorgegebenen Reihenfolge und ordnet sie den Variablen, die hinter ihm auf
geführt sind, in der gleichen Reihenfolge zu.
n = Zeilennummer des Befehls
Beispiel: 10 READ A, B
20 DATA 102, 3, 5, 6
Wird der READ-Befehl zum ersten Mal durchlaufen so ist A = 102, B = 3;
beim zweiten Durchlauf von READ ist A = 5, B = 6.
Natürlich können auch Textvariablen gelesen werden. Falls der Pointer hinter dem letzten Zeichen
der DATA-Anweisung steht und ein READ erfolgt, erscheint die Fehlermeldung:
?OUT OF DATA ERROR IN . ..
(Sie wissen natürlich schon, daß man diese Fehlermeldung mit RESTORE (siehe 1.2.9) umgehen
kann).
1.2.11 Ich kann auch springen
.........
DER GOTO BEFEHL
Dieser Sprungbefehl wird als unbedingter Sprungbefehl bezeichnet, da er immer ausgeführt wird,
sobald das Programm auf einen derartigen Befehl stößt, oder sobald ein GOTO direkt eingegeben
wird.
n GOTO m
n = Zeilennummer in der der Befehl steht
m = Zeilennummer in die gesprungen wird
Dieses GOTO bewirkt, daß nicht der Befehl mit der nach n folgenden Zeilennummer bearbeitet wird,
sondern daß das Programm seine Arbeit in der Zeilennummer m fortsetzt.
Beispiel: 10 PRINT’’ANFANG”
20 GOT0150
30 PRINT ’’ENDE”
150 PRINT ’’SPRUNG”
Eingabe von RUN (siehe 1.3.1) bewirkt folgende Ausgabe:
ANFANG
SPRUNG
Die Zeilennummer m muß vorhanden sein, sonst erfolgt eine Fehlermeldung. Variablen oder andere
Zeichen als ganzzahlige positive Zahlen dürfen nicht benutzt werden.
Stehen in einer Programmzeile weitere Befehle hinter einer GOTO-Anweisung, so werden sie
nicht ausgeführt.
21
1.2.12 Gewußt wohin
........
DER ON ... GOTO BEFEHL
Hatte das Programm beim GOTO nur eine Möglichkeit zu springen, so kann beim ON ... GOTO
Befehl der Sprung vom Wert einer Variablen abhängig gemacht werden.
n ON v GOTO m1, m2,
n = Zeilennummer des Befehls
v = Formel, die den Sprung bestimmt
m1, m2 = Zeilennummern zu denen gesprungen werden soll
Beispiel: 10 ON F GOTO 50,100, 300
Ist F < 1 erfolgt kein Sprung
Ist F = 1 erfolgt Sprung nach 50
Ist F = 2 erfolgt Sprung nach 100
Ist F = 3 erfolgt Sprung nach 300
Ist F > 3 erfolgt kein Sprung
Anstelle der Variablen kann auch ein mathematischer Ausdruck stehen. Das Ergebnis des er-
rechneten Ausdrucks wird vom Rechner zu einer ganzzahligen Größe umgewandelt, d. h. Nach
kommastellen werden ignoriert.
Beispiel: 50 ON (A+B) - (C+D) GOTO 1000, 300, 700
Die Anzahl der Sprungadressen ist durch die maximale Zahl von 80 Zeichen pro Zeile begrenzt.
Als Alternative bei sehr umfangreichen ON ... GOTO-Befehlen bieten sich daher mehrere ON ...
GOTO’s an, bei denen die Variable im zweiten Befehl dem Programm entsprechend berechnet wird.
Beispiel: 10 ON K GOTO 100, 200, 300, 400
30 ON K-4 GOTO 500, 600, 700, 800
1.2.13 Jetzt geht es in die Unterwelt
.........
DER GOSUB BEFEHL
Der folgende Befehl sollte für die Programmteile benutzt werden, die wiederholt, auch von ver
schiedenen Stellen des Programms aus, durchlaufen werden müssen. Diese Programmteile nennt
man Unterprogramm oder auch Subroutine. Sie können an beliebiger Stelle im Programm stehen
und werden mit dem Befehl
n GOSUB m
aufgerufen.
Nach Bearbeitung des Unterprogramms kehrt der Rechner zu dem Befehl zurück, der hinter dem
GOSUB folgt, (siehe RETURN 1.2.16).
n = Zeilennummer des Befehls
m = 1. Zeilennummer des Unterprogramms
Beispiel: 10 GOSUB 100
20 PRINT ’’HAUPTPROGRAMM”
50 END: REM ENDE DES HAUPTPROGRAMMS
100 PRINT ’’UNTERPROGRAMM”
110 RETURN: REM ENDE DES UNTERPROGRAMMS
Die Eingabe von RUN bewirkt die
Ausgabe: UNTERPROGRAMM
HAUPTPROGRAMM
Ein Unterprogramm kann wiederum ein anderes Unterprogramm aufrufen, und dieses dann das
nächste
..........
Insgesamt können bis zu 26 Unterprogramme ineinander verschachtelt werden.
22
1.2.14 Verteiler für die Unterwelt
........
DER ON ... GOSUB BEFEHL
Der Befehl
n ON v GOSUB m1,m2...
n = Zeilennummer des Befehls
v = Formel, die den Sprung bestimmt
m1,m2... = Zeilennummern, zu denen gesprungen werden soll
entspricht dem ON . . . GOTO (siehe 1.2.12), nit dem Unterschied, daß hier keine einfachen
Sprünge stattfinden, sondern zu Unterprogrammen verzweigt wird (siehe 1.2.13).
Beispiel: 10 ON Z GOSUB 1000,1500, 2000
20 STOP
Der Sprung erfolgt abhängig von der Variablen Z in eines der 3 Unterprogramme, die natürlich mit
RETURN abgeschlossen werden müssen. Nach Abarbeitung des betreffenden Unterprogramms
wird die Zeile 20 ausgeführt.
1.2.15 Nun fällt die Entscheidung ...
DER IF... THEN BEFEHL
Um abhängig von einer logischen oder mathematischen Aufgabe eine Entscheidung zu fällen, gibt
es die Befehlsgruppe IF ... THEN.
n IF Vergleich THEN {m, Befehl}
n = Zeilennummer des Befehls
Vergleich = Vergleich einer oder mehrerer Variablen oder Formeln
m = Zeilennummer deren Befehl ausgeführt werden soll
Befehl = Befehl der ausgeführt werden soll
Beim Vergleich können Variablen (Auch Textvariablen), Konstanten oder Formeln untereinander
verglichen werden.
Beispiel: IF A = 1 ... / IF A$ = ”JA” ... / IF CC = 3 ...
IF 3> B*C + 3.../IFA <> C . .. /
IF D% > E % . . .
Ist die Vergleichsbedingung erfüllt, so wird der Befehl hinter dem THEN ausgeführt oder nach der
dort stehenden Zeilennummer verzweigt, ansonsten fährt das Programm mit der nächsten Zeilen
nummer fort.
Beispiel: 10 IF A + B < = 150 THEN 30
20 PRINT ”A + B > 150”: GOTO 100
30 PRINT ”A + B < = 150”: GOTO 100
eleganter: 10 IF A + B < = 150 THEN PRINT ”A + B < = 150”: GOTO 100
20 PRINT ”A + B > 150”: GOTO 100
Wie in diesem Beispiel das PRINT, so können auch andere Befehle hinter dem THEN stehen.
Als Besonderheit läßt das COMMODORE-BASIC mehrere IF-Abfragen in einer Zeile zu.
Beispiel: 10 IF A = C THEN IF A = 5 * B THEN ....
23
Ist hierbei bereits die erste Abfrage nicht erfüllt, wird sofort die nächst höhere Programmzeile aus
geführt.
1.2.16 Zurück geht’s immer leichter
DER RETURN BEFEHL
Wir haben mit GOSUB, ON . . . GOSUB die Möglichkeit kennengelernt ein Unterprogramm auf
zurufen. Um nun wieder ins Hauptprogramm zurückzukehren, muß der letzte Befehl jedes Unter
programms:
n RETURN
sein.
Diese Anweisung bewirkt, daß der dem Aufrufbefehl (GOSUB oder ON ... GOSUB) folgende Be
fehl als nächster ausgeführt wird (siehe 1.2.13,1.2.14).
Der Befehl RETURN muß Buchstabe für Buchstabe eingegeben werden und darf nicht mit derTaste
RETURN verwechselt werden.
Beispiel: 40 A = 5 : B = 10
50 GOSUB 1000
60 PRINT ’’ERGEBNIS” U
1000 REM UNTERPROGRAMM
1010 U = (A+B) * 3
1020 RETURN
READY
RUN
ERGEBNIS 45
Solange die Unterprogrammtechnik für uns noch ungewohnt ist, werden wir vielleicht die Fehler
meldung: 7RETURN WITHOUT GOSUB ERROR erhalten. Sie tritt auf, falls ein RETURN erreicht
wird, ohne daß ein GOSUB durchlaufen wurde. Dieser Fehler kann auftreten, wenn in ein Unter
programm mit einer GOTO-Anweisung gesprungen wurde. Auch dann, wenn ein Unterprogramm
ans Ende des Hauptprogramms geschrieben wird und am Ende des Hauptprogramms kein STOP
oder END steht.
------
n = Zeilennummer des Befehls
Beispiel: 10 REM HAUPTPROGRAMM
50 GOSUB 1000
1000 REM UNTERPROGRAMM
1100 RETURN
Bei diesem Beispiel durchläuft das Programm die Subroutine nicht nur nach dem Befehl GOSUB
1000 sondern auch nach Ende des Hauptprogramms. Der Befehl:
990 END (etwa 10 Leerzeichen) verhindert diesen Fehler.
1.2.17 Immer wieder das Gleiche
DIE BEFEHLSGRUPPE - FOR NEXT STEP
Wollen Sie eine Schleife programmieren, d. h. eine Routine, die mehrmals mit einer veränderten
Variablen durchlaufen wird, so benutzen Sie die Befehlsgruppe:
n, FOR {Laufvariable = Anfangswert} TO {Endwert} STEP {Schrittweite}
n2 NEXT {Laufvariable}
n^ n2 = Zeilennummern der Befehle
.........
24
Laufvariable
Anfangswert
Endwert
Schrittweite
Die FOR-NEXT Befehlsfolge bewirkt, daß der Programmteil zwischen n, und n2 solange durch
laufen wird bis die Laufvariable größer als der Endwert ist. Hiernach wird die Anweisung nach n2 be
arbeitet. Bei jedem Durchlauf des NEXT wird die Laufvariable, die zuerst gleich dem Anfangswert
ist, um die Schrittweite erhöht und das Programm bearbeitet die Befehle zwischen n, und n2.
muß eine Fließkommavariable sein (darf keine Integervariable sein)
kann eine Konstante, eine Variable oder ein mathematischer Ausdruck sein
kann eine Konstante, eine Variable oder ein mathematischer Ausdruck sein
kann eine Konstante, eine Variable oder ein mathematischer Ausdruck sein.
Unterbleibt die Angabe für die Schrittweite, so ist diese automatisch +1.
Beispiel: 10 FOR A = 1 TO 10 STEP 0.5
20 PRINT A
30 NEXT A
10 FOR K = 3*B TO C/5 STEP -1
100 NEXT K
Die Laufvariable muß beim Rechner nicht im NEXT-Befehl angegeben werden. Also ist folgende
Befehlsfolge auch korrekt:
100 FOR J = 5 TO 100
200 NEXT
FOR-NEXT Schleifen können auch verschachtelt angeordnet werden.
Beispiel:
äußere
Schleife
Die Verschachtelung muß symmetrisch sein, d. h. die zuletzt eröffnete Schleife muß als erste wieder
geschlossen werden. Die Befehle 100 und 110 können zu einem Befehl:
10 FOR A = 1 TO 100
20 FOR B = 1 TO 10
innere Schleife
100 NEXT B
—110 NEXT A
100 NEXT B,A zusammengefaßt werden.
Bei verschachtelten Schleifen müssen unterschiedliche Laufvariablen benutzt werden.
1.2.18 Wieviel soils denn sein ...
DER DIM-BEFEHL
Im Kapitel 1.1.2 haben Sie drei Formen von Variablen (A, A%, A$) kennengelernt. Es gibt nun eine
Möglichkeit Gruppen einer dieser 3 Variablensorten zu einem „Feld“ (Matrix, Array) zusammenzu
fassen. Ein solches Feld besteht dann aus mehreren Variablen einer Sorte (z. B. Textvariable), die
indizierte Variablen genannt werden. Indizierte Variable, weil zu der normalen Variablen ein Index
tritt. Während eine gewöhnliche Variable nur einen Speicherplatz repräsentiert, kennzeichnet man
ein ganzes Feld von Speicherplätzen mit einer Variablen und unterscheidet die einzelnen Elemente
durch Indizes. Das heißt indizierte Variablen aus einem Feld haben die gleiche Variable und unter
scheiden sich nur durch ihren Index.
Beispiel: Indizierte Variablen aus einem Feld
A$(1), A$(9), A$(12), A$(21)
Variable, die das
Feld kennzeichnet
Index, nach dem die
Elemente eines Feldes
unterschieden werden
__________
25
Indizierte Variablen aus verschiedenen Feldern:
B1$(3), C%(5), A(12), A3(5), D3%(2)
Die im Beispiel gezeigten Variablen haben alle nur einen Index, deshalb nennt man diese Felder
„eindimensionale Felder“. Im COMMODORE-BASIC können aber auch mehrdimensionale Felder
aufgebaut werden, d. h. Felder deren Elemente mehr als einen Index haben.
Diese Indizes werden innerhalb der Klammern durch Kommata getrennt.
Beispiel: Z%(1,0,2) X$(1,2) ZA(3,2,0,1)
Es kann auch jede Variable oder Formel deren Wert 3= 0 ist als Index benutzt werden. (Nachkomma
stellen werden ignoriert!).
Beispiel: Y$(N,1) K%(A+2,B*3,0) KA(N|3)
Hierdurch erreicht man eine indirekte Adressierung von Variablen, die durch ein Beispiel veran
schaulicht werden soll:
10 FORI = 0 TO 2
20 FOR J = 0 TO 2
40 FOR K = 0 TO 3
50 A(I,J,K) = RND (5)
60 NEXT K,J,I
70 STOP
Im Normalfall reserviert der Rechner pro Feld einen Speicherplatz für 11 indizierte Variablen pro
Index. D.h., daß er für das im Beispiel benutzte dreidimensionale Feld Speicherplatz für
11 *11 *11 = 1331 Variablen reserviert. Das entspricht 6655 Bytes.
Diese Reservierung können wir jedoch mit dem folgenden Befehl ändern:
n DIM Name 1 (Zahl, Zahl,... ), Name2 (Zahl, Zahl,... )
n = Zeilennummer des Befehls
Name = Variable durch die das Feld bezeichnet wird
Zahl = höchster Index, der benutzt wird (kann Variable oder Formel sein).
Für unser letztes Beispiel lautet der Befehl:
5 DIM A (2,2,3)
Er bewirkt, daß nur Speicherplatz für 3*3*4* = 36 Variablen reserviert wird.
Es ist auch möglich, mehr als 11 Speicherplätze zu reservieren:
Beispiel: 10 DIM A$(29)
Mit diesem Befehl wird ein Feld für 30 Textvariablen dimensioniert.
Weitere Beispiele:
DIM A% (2,N)
DIM B (2,J+3,K*2)
DIM C$ (1,BA,K|3)
26
1.2.19 Einmal gewußt - immer gewußt...
DIE BEFEHLSGRUPPE DEF FN. ( )
FN.( )
Soll eine bestimmte Berechnung mehrmals für verschiedene Zahlenwerte durchgeführt werden, so
definieren wir eine Funktion durch den Befehl:
ni DEF FN Name (Variable) = Formel
n! = Zeilennummer des Befehls
Name = eine Variable fungiert als Name der Funktion
Variable = die Variable, die bei jedem Funktionsaufruf
angegeben wird.
Formel = mathematischer Ausdruck.
Diese Funktion kann, nachdem sie definiert ist, beliebig oft direkt oder von verschiedenen Stellen
des Programms durch den Befehl:
n2 FN Name (Variable)
aufgerufen werden.
n2 = Zeilennummer des Befehls (muß immer größer als ^ sein)
Name = die Variable, die beim DEF-Befehl als Name gewählt wurde
Variable = die Variable oder die Konstante für die die Formel berechnet
werden soll.
Beispiel: 10 DEF FNQ (Y) = Y f 0.2
50 Z = FNQ (A)
Durch diese Befehle wird der Wert für die 5. Wurzel aus A im Speicherplatz Z abgespeichert.
Beispiel:
Soll in einem Programm mehrmals der Hyperbelsinus von verschiedenen Zahlen (X) berechnet
werden, so definieren wir die Funktion mit dem Namen „H“:
10 DEF FNH (X) = (EXP (X) - EXP (-X)) / 2
Wollen wir nun den Hyperbol-Sinus für 3 ausrechnen und ausdrucken so schreiben wir:
PRINT FNH (3)
Anmerkung: sinh (x) = e ~
e
1.2.20 Der Schlüssel nach draußen ...
DER OPEN BEFEHL
Wie sie vielleicht wissen, können sie an Ihrem Rechner die verschiedenartigsten „Peripherie
geräte“ anschließen. Zum Beispiel einen Ausgabedrucker oder ein Floppy-Disk-Laufwerk.
Um diese Geräte ansprechen zu können, müssen Sie ein sogenanntes logisches FILE, d.h. eine
DATEI eröffnen, in die Daten geschrieben oder aus der Daten gelesen werden. Sie eröffnen eine
DATEI durch den Befehl:
OPEN m,, [m2, m3, ’’Name”]
27
rri! = die logische Datei-Nr., ganze Zahl zwischen 1 und 255.
m2 = Geräte-Nr. des anzusprechenden Gerätes
(wird 1 gesetzt, falls Angabe fehlt)
0 = Tastatur
1 = # 1 Recorder
2 = # 2 Recorder
3 = Bildschirm
4-15 = externe Geräte
m3 = Art der Datenbewegung (wird 0 gesetzt, falls Angabe fehlt)
0 = lesen
1 = schreiben
2 = schreiben mit zusätzlichem END OF TAPE-Zeichen.
Name = kann angegeben werden um Dateien mit einem Namen direkt
anzusprechen. Der Name darf aus höchstens 16 Zeichen bestehen
und darf nicht in anderen Namen enthalten sein.
Es dürfen höchstens 10 Dateien gleichzeitig geöffnet sein! Wird diese Zahl überschritten, erfolgt die
Fehlermeldung: ?TOO MANY FILES ERROR.
Beispiele:
30 OPEN 1,2,1, ’’DAT 1”
Der Befehl bewirkt das öffnen der Datei 1 um auf der 2. Kassette Daten unter dem Namen DAT 1
abzuspeichern.
40 OPEN 2,1,0
Dieser Befehl öffnet Datei 2 zum Lesen vom Recorder # 1.
Kürzer: 40 OPEN 2
1.2.21 und so schließe ich ab ...
DER CLOSE BEFEHL
um zu verhindern, daß die maximale Anzahl der geöffneten Dateien (Files) überschritten wird, sollte
jede Datei geschlossen werden, sobald die Lese- oder Schreiboperationen ausgeführt sind.
Dies geschieht durch:
n CLOSE rr^
n = Zeilennummer des Befehls
nri! = die logische Datei-Nr. derzu schließenden Datei (ganzeZahl zwischen 1 und 255)
Beispiel: 100 CLOSE 2
Der Befehl bewirkt das Schließen der Datei-Nr. 2.
1.2.22 Ein Programm wird gespeichert...
DER SAVE BEFEHL
Das einmal in den Rechner eingegebene Programm kann auf einfache Weise gespeichert werden.
Die einfachste Möglichkeit hierzu ist das Abspeichern des Programms mittels des Kassettenre
corders.
28
Loading...
+ 110 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.