BASIC-Kurs : "Von Adam und Eva..." (Teil 1)
Sehr geehrter Leser,
pünktlich zum Anfang des neuen Jahres möchten wir
uns gleich an unsere guten Vorsätze für 1989 halten, und unser Versprechen einlösen, die Anfänger unter
Ihnen nicht zu kurz kommen zu lassen. Sie lesen nämlich im Moment gerade die ersten einleitenden Zeilen
unseres neuen BASIC-Kurses für Einsteiger. Wie der
Name dieses Kurses schon vermuten läßt, wollen wir
ganz am Anfang beginnen, so daß auch der, der noch
überhaupt keine Ahnung von der Programmierung eines
Computers hat, von Adam und Eva an alles schön mitverfolgen kann.
Beginnen wir nun mit der Frage nach dem WARUM. Warum
BASIC? Nun, BASIC ist die Abkürzung für " Beginners
Allpurpose Symbolic Instruction Code", was frei übersetzt etwa " Universeller Befehlscode mit Symbolwörtern für Anfänger" bedeutet. Und dies sagt uns schon
fast alles über den Grund und die Aufgabe von BASIC
aus, denn man wollte mit BASIC eine Computersprache erschaffen, mit der jeder normale Mensch, der etwas
Englisch versteht und logisch denken kann, einen Computer programmieren kann. Zu früheren Zeiten, als
das, was heute in einem zündholzkopfgroßen Mikrochip
untergebracht ist noch ganze Räume und Gebäude
ausfüllte, war die Programmierung von Computern noch
äußerst kompliziert, und bestand meist darin, nichtsaussagende, trockene Zahlenreihen von der Art
0101000110101 . . . in die sage und schreibe 1 KiloByte
großen Hauptspeicher der damaligen Rechner regelrecht
" hineinzumorsen" . Da dies eine sehr mühsame und langwierige Arbeit war entwickelte man mit der Zeit immer
mehr Computersprachen, die auf Grund der immer höher
werdenden Leistungsfähigkeit der Computer immer komfortabler und benutzerfreundlicher wurden, so daß das
Programmieren eine leichte Sache wurde. BASIC stellt
wohl so eine Art Endstufe dieser Entwicklung dar, was
zumindest die Einfachheit der Programmierung betrifft. Heutzutage ist ehrlich gesagt fast jede Sprache leistungsfähiger als BASIC, doch die meisten noch
lange nicht so einfach zu erlernen. Diese Sprache
eignet sich außerdem hervorragend für Anfänger die
Funktionsweise und den Bau eines Computers zu erler- nen und gibt eine unverzichtbare Grundlage für andere, schnellere Programmiersprachen. Deshalb wollen
wir nun endlich beginnen und einmal einen Blick auf
die einfachsten, trotzdem aber häufig benutzten BA-SIC- Befehle werfen. . .
Leider ist es nicht so einfach einen Kurs mit kleinen
Beispielen zu gestalten, wenn Sie selbigen gerade auf
Ihrem C64 lesen. Deshalb werde ich bei praktischen
Beispielen in Zukunft so tun, als säßen Sie gerade
nicht vor der MAGIC DISK 64, sondern nur vor einem
eingeschalteten Computer, der auf eine Eingabe wartet. Ich werde grundsätzlich das Ergebnis, das auf
Grund einer Anweisung, die wir dem Computer eingegeben haben auf dem Bildschirm erscheinen sollte hier
im Kurs aufzeigen, doch sollten Sie nicht davon Abschrecken, die aufgeführten Beispiele auch selbst
einmal auszuprobieren ( wenn Sie fertig sind mit der
MAGIC DISK 64), indem Sie sie sich ganz einfach aufschreiben, oder wenn ein Drucker vorhanden ist, einfach ausdrucken können.
Also: Bitte geben Sie einmal folgende Zeile in Ihren angeschalteten, auf eine Eingabe wartenden 64 er ein:
PRINT "DAS IST MEIN ERSTER AUSDRUCK !"
Drücken Sie nun die RETURN-Taste. Auf dem Bildschirm
erscheint nun folgendes :
DAS IST MEIN ERSTER AUSDRUCK ! READY.
Das war doch schon mal ein Erfolgserlebnis! Fassen
wir doch einmal zusammen, was passiert ist:
Sie haben eine Zeile eingegeben, an deren Anfang der
Befehl " PRINT" stand. Anschließend gaben Sie in " Gänsefüßchen" oder " Anführungsstrichen" einen Text
ein und haben die RETURN-Taste gedrückt. Nun ist unter Ihrer eingegebenen Zeile der Text, den Sie in
Anführung hatten, ausgedruckt worden, und der Computer hat sich mit " READY." wieder zurückgemeldet.
Was ist genau geschehen? Nun, der PRINT-Befehl wird, wie Sie schon richtig erkannt haben, dafür benutzt
um Texte auf dem Bildschirm auszugeben. Sie gaben
also Ihre Zeile ein und signalisierten mit der RE-TURN- Taste dem Computer, daß Sie mit Ihrer Eingabe
fertig sind und daß er Ihre Zeile bearbeiten soll.
Dieser erkannte die ersten 5 Buchstaben als einen
PRINT-Befehl, druckte den anschließenden Text und
meldete ordnungsgemäß mit " READY." seine Betriebsbereitschaft für weitere Befehle.
Sollte das oben beschriebene in Ihrem Fall nicht eingetreten sein, dann kann es nur sein, daß Sie einen
Fehler bei der Eingabe gemacht haben. Sollte also
jetzt anstatt unseres Textes die Zeilen:
?SYNTAX ERROR READY.
bei Ihnen auf dem Bildschirm stehen, so haben Sie
sich wahrscheinlich beim Eingeben unseres Beispiels
vertippt. Der Computer ist da sehr genau, denn er
versteht nur einen bestimmten Befehlssatz, bezie- hungsweise kann er mit einigen Formulierungen oder
Eingaben nichts anfangen, da er seine vorprogrammierten Befehlswörter zu erkennen versucht. Wenn man obige Fehlermeldung einmal in deutsche Übersetzt, wird
einem das sogar noch etwas klarer: Syntaktischer
Fehler. Zur Erläuterung, die Syntax einer Sprache ist
die Art und Weise, wie diese grammatikalisch und vokabular aufgebaut ist. Sie haben sich also im Dialog
mit Ihrem C64 sozusagen " versprochen", weshalb dieser
Sie auch nicht verstand. Und wir möchten ja, daß Sie
die Sprache BASIC " akzentfrei" sprechen können.
Keine Panik also, wenn der Computer bei Ihren ersten
Gehversuchen Ihnen ein paar Errormeldungen in den Weg
wirft. Sehen Sie sich Ihre Eingaben dann nochmal ganz
genau an und Sie werden bestimmt die Ursache des Fehlers finden. Manchmal ist dies etwas schwieriger, da
bei bestimmten Dingen die der Computer für Sie erledigen soll auch ganz spezielle Fehler auftreten können. Doch nicht verzagen, im C64 Bedienungshanbuch, Anhang L sind alle möglichen Fehlermeldungen zusammen
mit Ihren Ursachen aufgelistet. Hier können Sie bei
Bedarf Hilfe suchen.
Nun wieder zurück zu unserem PRINT-Befehl. Sollten
Sie ein wenig Englisch können, werden Sie erkennen, daß dieser Befehl nicht umsonst so heißt. PRINT ist
die Übersetzung für DRUCKE und sagt somit eigentlich
alles aus, was dieser Befehl tut. Dies ist, wie Sie
bald merken werden, bei allen BASIC-Befehlen so, so
daß man sich diese sehr leicht merken kann, was ja
auch der Sinn der Sache sein soll, damit ein leichtes
Programmieren ohne lange Suche nach Befehlen gewährleistet ist.
Gehen wir nun aber etwas weiter. Langweilige Texte
ausdrucken macht eh nicht soviel Spaß, zumal man ganze 7 Zeichen ( PRINT und 2 Mal ") mehr eingeben muß, will man einen Text ausdrucken. Doch der PRINT-Befehl
ist noch zu viel mehr gut, denn immerhin hat man hier
einen dicken Computer stehen, der solche kleinen Dinge, wie sie zum Beispiel ein Taschenrechner erledigt
doch mit dem " kleinen Finger" bringt. Ja, mit PRINT
können Sie rechnen, sei es, daß es Ihnen einen Text
ausdruckt, oder das Ergebnis einer Addition. Die Syn-Syntax hierzu ist denkbar einfach:
PRINT 101+35
Dieser Befehl addiert die Zahlen 101 und 35 und
druckt anschließend das Ergebnis auf dem Bildschirm
aus:
136 READY.
Sie sehen, die Eingabe erfolgt genau wie bei Textausdrücken, nur daß Sie hier die Zahlen nicht in
Anführungsstriche zu setzen brauchen, ja sie MÜSSEN
Sie sogar weglassen, denn sonst meint der Computer, Sie möchten eine Zeichenkette ausdrucken, weshalb bei
dem folgendem Befehl auch die folgende Reaktion des
Computers zu erwarten ist:
PRINT "101+35"
101+35 READY.
Ich hoffe, daß Ihnen hiermit etwas klarer geworden
ist, wie Sie zu unterscheiden haben :
⌈––––––––––––––––––––––––––⌉ |MIT "" wird Text gedruckt| |OHNE "" wird gerechnet. | ⌊––––––––––––––––––––––––––⌋
Doch weiter mit der Rechnerei. Sie können ohne weiteres auch andere Rechenfunktionen verwenden. Die 4 Grundrechenarten möchte ich hier jetzt erwähnen, obwohl auch Wurzeln oder trigonometrische Funktionen
für unseren C64 kein Problem darstellen, doch werde
ich diesen Rechenfunktionen später noch ein eigenes
Kapitel widmen. Im Moment reichen die folgenden vollkommen aus. Genau so, wie Sie bei "101+35" einen "+"- Operator eingestzt hatten, so ist dies auch bei der
Subtraktion, Multiplikation und Division möglich, hierfür müssen Sie allerdings folgende Zeichen verwenden, um dem Computer klar zu machen, was Sie von
Ihm wollen:
"+" - zum addieren "-" - zum subtrahieren "*" - zum multiplizieren "/" - zum dividieren
Somit sind folgende Zeilen auch leicht denkbar :
PRINT 222*67 PRINT 1000-100 PRINT 81/9
Probieren Sie es einmal aus, und experimentieren Sie
mal ein wenig. Grundsätzlich gilt auch für andere
Beispiele die ich geben werde, daß Sie ruhig auch
einmal eigene Versuche machen können, um sich mit den
neu erlenten Dingen in allererster Linie vertraut zu
machen, denn wie heißt es so schön:" Probieren geht
über studieren." zumal Sie mit Ihren Eingaben grundnichts an Ihrem Computer kaputt machen können, es sei
denn, Sie versuchen die Tasten mit einem Hammer zu
betätigen. . .
Bei Ihrer Rechnerei dürfen Sie sogar auch Kommazahlen
verwenden. Hierbei müssen wir uns allerdings auch
wieder ein wenig ans Englische anpassen, denn der
Computer versteht auch Kommazahlen nur in englischer
Schreibweise. Das normale Komma ist für einen anderen
Zweck reserviert. Das heißt im Klartext, daß die Zahl"3,14" für unseren kleinen Siliziumfreund so aussehen
muß:"3 .14" . Die Amerikaner benutzen grundsätzlich
den Punkt als Dezimalkomma, und hieran müssen Sie
sich gewöhnen. Richten Sie sich danach, dann machen
Rechnungen wie die Folgende keine Probleme mehr :
PRINT 2*20*3 .14
Vielleicht haben Sie ja bemerkt, daß der Kreisumfang
für einen Kreis mit dem Radius 20 cm ( oder m oder km) berechnet wurde. Denn gemäß der Kreisumfangsformel 2 mal Radius mal die Zahl Pi (π) haben wir hier die
Zahl π mit der Dezimalzahl 3,14 dargestellt, nur mit
einem Dezimalpunkt. Wie Sie sehen, können auch mehrere Rechenoperationen aneinander gehängt werden, wobei
der Computer die allgemeingültige " Punktvor- Strich"- Regel natürlich ordnungsgemäß einhält. Das
heißt, daß bei der Rechnung 20+3*100 das Ergebnis 320 herauskommt ( und nicht etwa 2300), da auf Grund dieser Regel die Multiplikation ( und auch die Division) Vorrang vor der Addition ( oder Subtraktion) hat.
Es wurde also folgendermaßen gerechnet:
1.) 3*100 (=300) 2.) 20+300 (=320)
Möchte man den anderen Weg benutzen, nämlich daß gerechnet wird:
1.) 20+3 (=23) 2.) 23*100 (=2300)
so muß man mit Klammern arbeiten, denn genau wie bei
den allgemeinen algebraischen Rechenregeln auch, kann
man mit Klammern die Prioritäten der einzelnen Rechnungen verändern. Wollen wir also 2300 herausbekommen, so müssen wir folgenden Befehl benutzen:
PRINT (20+3)*100
Anstelle von " PRINT 20+3*100", wobei nämlich 320 herauskäme.
Dies zum Rechnen mit PRINT. Doch müssen Sie schon
zugeben, daß das, was wir hier taten, alles nichts
" handfestes" war, zumal wir mit den errechneten Ergebnissen nicht weiterarbeiten konnten. Natürlich, Sie hatten diese nach Ihrer Rechnung dann auf dem
Bildschirm stehen und konnten sie dann in einer neuen PRINT-Zeile weiterverarbeiten, doch dies wird sehr
umständlich mit der Zeit. Angenommen Sie erhalten bei
einer Rechnung folgendes Ergebnis:2 .75399753 . Jetzt
müßten Sie diese Zahl nochmal gänzlich abtippen um
Ihre Rechnung durchführen zu können. Doch wie Sie
vielleicht bemerkten, beutzte ich soeben den Irrealis
(" müssten"), das heißt, daß es noch eine andere Art
der Rechnung gibt, eine bequemere Art, bei der das
nochmalige Abtippen nicht mehr nötig ist. Ich spreche
von dem Rechnen mit Variablen. Ich möchte mich nun
ein klein wenig von der Rechnerei lösen, um Ihnen
dieses äußerst wichtige Kapitel besonders verständlich darlegen zu können. Denn das Verständnis über
Variablen ist die Vorraussetzung für BASIC ( und auch
für die meisten anderen Hochsprachen) . Um Variablen
dreht sich alles in BASIC, denn sie sind ein äußerst
einfaches und praktisches Hilfsmittel. Wollen wir
beginnen:
Falls Sie sich vielleicht noch ein wenig an die
Schulzeit errinnern, oder vielleicht sogar noch Schüler sind, dann werden Sie sich bestimmt auch noch an
Rechnungen mit Unbekannten und Variablen errinnern.
Gleichungen von der Art " y =2 x" dürften Ihnen dann
nicht unbekannt sein. Genauso wie hier die Zeichen
" x" und " y" Platzhalter für eine beliebige Zahl sind, so sind die Variablen gewissermaßen Platzhalter für
unsere drei Datentypen." Gewissermaßen" deshalb, weil
sie allgemein tatsächlich Platzhalter für Zahlen oder
Texte sind, mit dem Unterschied, daß mit Ihrem Inhalt allerdings sofort gerechnet werden kann, dieser
also nicht eher imaginär ist, so wie bei den mathematschen Variablen.
Um Ihnen dies noch ein wenig besser erläutern zu können, kann man Variablen auch mit Schubladen vergleichen ( wobei jede Schublade ihren eigenen Namen besitzt, mit dem man sie ansprechen kann) und in der
jeweils bestimmte Dinge, beziehungsweise Daten enthalten sind. Möchte ich zum Beispiel einmal in die
Schublade PI hineinschauen, so öffne ich sie und kann
mir dann bei Bedarf den Zahlwert 3 .14159 dort herausholen.
Sie sehen also, daß das Ganze eigentlich äußerst einfach ist. Sie geben einer Variable einen Namen und
sagen, was in Ihr enthalten ist. Wir sprechen hier
von einer sogenannten Variablendefinition. Ab sofort
brauchen Sie solche Werte dann nicht mehr von Hand
hinzuschreiben, sondern brauchen nur noch anstatt der
getippten Zahl in Ihrer Rechnung die entspechende
Variable zu verwenden. Als kleines Beispiel möchte
ich Ihnen einmal eine kleine Rechnung zeigen, bei der
dies durchaus von Nutzen sein kann.
Angenommen, wir wollen die Oberfläche eines Zylinders
berechnen. Die Formel, die man hierfür allgemein benutzt sieht folgendermaßen aus:
o=2 rπ( r+ h),
wobei die Platzhalter ( oder neuerdings für uns die
Variablen) folgende Bedeutung haben:
r = Radius der Zylindergrundfläche, h = Höhe des Zylinders,π nimmt hier eine Sonderstellung ein. Die
Zahl PI müssen wir nämlich nicht mehr eingeben, Sie
ist in Ihrem C64 schon fest gespeichert und immer greifbar. Sogar bis auf 8 Stellen hinter dem Komma!
Ihre Taste befindet sich rechts oben, direkt neben
der RESTORE-Taste Ihres 64 ers, und Sie können Sie
mit nur mit gleichzetigem drücken der SHIFT und der
↑- Taste erreichen.
Nehmen wir nun einmal an, wir wollen in etwa die
Oberfläche einer Coladose berechnen, also wieviel
Quadratzentimeter Weißblech zur Herstellung einer
solchen Dose verbraucht werden. Eine normale Getränkedose ist allgemein 11 .5 cm hoch und hat einen
Durchmesser von 6 .5 cm. Um den Radius nun zu erhalten, den wir ja brauchen, dividieren wir einfach noch
durch 2, also 6 .5/2=3 .25 . Ich habe hier absichtlich
einmal die Operatoren und die Schreibweise des Computers gewählt, damit Sie sich ein wenig daran gewöhnen.
So, eine Höhe und einen Radius haben wir ja jetzt, wollen wir nun einmal rechnen. Wie wir ja vorhin gelernt haben, können wir unsere Formel o=2 rπ( r+ h) ganz
normal übernehmen, nur müssen wir darauf achten, daß
wir dem Computer noch die in der Formel fehlenden
Multiplikationsoperanden " unterschieben" können, da diese in der Mathematik im allgemeinen weggelassen
werden ( um eine kompaktere Schreibform zu erreichen), unser C64 sie allerdings unbedingt benötigt, da er
sonst nicht von Varablen und Zahlen unterscheiden
könnte. Dies liegt einfach daran, daß Variablennamen
auch Zahlen beinhalten können. Doch zur Nomenklatur
von Variablen später etwas mehr. Widmen wir uns nun
wieder unserem Problem, und lassen wir die in der
Formel verwendeten Variablen stehen. Geben Sie doch
dem Computer nun einmal unsere Beispielrechnung
direkt ein, indem Sie die Werte für Höhe und Radius
der Dose ganz einfach schon einsetzen. Dann kämen Sie
zu folgender Zeile :
PRINT 2*3.25*π*(3.25+11.5)
Mal abgesehen davon, daß Sie hiermit auch zu dem
richtigen Ergebnis kommen, nämlich 301 .200196 qcm, hätte man hier ein wenig sparen können, zumal man
zweimal den selben Wert eingeben mußte, nämlich 3 .25 für den Radius. Machen wir es uns also einfacher und
benutzen wir Variablen. Eine Wertzuweisung an eine
Variable ist denkbar einfach. Sie schreiben einfach den Namen der Variable hin, setzen ein Gleichheitszeichen "=" dahinter und schreiben dann den Zahlwert
hinter dieses Zeichen.
a=1 wäre also die Zuweisung des Wertes 1 an die Variable " a" . Geben Sie nun " PRINT a" ein, dann wird
der Computer Ihnen die Zahl 1 ausdrucken, Sie haben
also gerade eben in die Schublade " a" geschaut und
ihren Inhalt auf dem Bildschirm dargestellt.
In unserem Beispiel müßten Sie also folgende Zeilen
eingeben:
r=3.25 h=11.5
Hiermit haben Sie nun den Beiden Variablen " r" und
" h" ihren Wert zugewiesen. Jetzt geht es um die Formulierung der Rechnung, die genial einfach ist. Sie
müssen nur alle vorher eingesetzten Werte mit den
Variablennamen austauschen.
Statt:
PRINT 2*3.25*π*(3.25+11.5)
heißt es jetzt nur noch:
PRINT 2* r*π*( r+ h)
womit wir der Ursprungsform der mathematischen Formel
schon etwas näher wären. Das tolle daran ist, daß Sie
nun für alle Werte, die Sie einsetzen möchten, ein und dieselbe Zeile weiterverwenden können, nämlich die oben angezeigte. Sie müssen vorher nur den
Variablen andere Werte zuweisen, z. B. :
r=2.8 h=5.4
Das ganze mit den Variablen hat natürlich einen Sinn:
Später, wenn Sie Programme schreiben, sind solche
Universalanweiungen unerläßlich, zumal Sie einem das
Programmieren erleichtern und zusätzlich auch noch
unwahrscheinlich flexibel sind. . .
Wollen wir uns nun einmal ein wenig um die Variablennamen kümmern, zumal hierbei bestimmte Regeln eingehalten werden müssen, da sonst BASIC nicht mehr mitspielt, oder falsche Ergebnisse liefert.
Zusammenfassend möchte ich Ihnen diese Regeln hier
einmal Auflisten :
1 .) Eine Variable darf aus Buchstaben ( also az) und
aus Zahlen (0-9) bestehen. Sonderzeichen, wie
z. B. :" ., ; :" oder ähnliches sind NICHT erlaubt.
Das erste Zeichen einer Variable MUSS immer ein
Buchstabe sein, Sie dürfen also hierfür keine
Zahlen verwenden.
2 .) Eine Variable darf höchstens 2 Zeichen lang sein.
Sie können zwar soviel Zeichen verwenden wie Sie
wollen, doch sind grundsätzlich die ersten 2 nur
von Bedeutung. Das heißt, daß Sie eine Variable
zwar " RADIUS" nennen dürfen, doch ist diese Variable z. B. mit der Variable " RADIESCHEN", oder
" RAMBOCK" absolut identisch, weil unser 64 er halt
nur mit Hilfe der ersten 2 Zeichen die Variable unterscheidet. In diesem Fall heißen also alle 3 Variablen für unsern kleinen Freund " ra" . Gewöhnen Sie sich also auf keinen Fall eine solche
Namensgebung an, da es so leicht zu Mißverständnissen kommen kann und damit zu Programmfehlern, nach denen man ewig sucht
3 .) Ansonten gilt natürlich, daß nur in Kleinschrift
geschriebene Variablen erlaubt sind, beziehungsweise, falls Sie den Grafikzeichensatz des 64 ers
benutzen sollten - er ist direkt nach dem Einschalten vorhanden - keine Grafikzeichen. Zusammengefaßt heißt das, daß Sie niemals geSHIFTete
Zeichen verwenden dürfen, sondern nur solche, die
Sie ohne SHIFT-Taste erreichen können, und die
unter den in 1 . aufgezeigeten Zeichen sind.
Erlaubte Variablennamen wären also :
a b xx ja pi c1 c2
Nicht erlaubt sind z. B. :
s. %r &g i/ Bb aB 1c 2c
Kommen wir nun zu den Variablentypen. Falls Sie einmal ausprobiert haben sollten, folgende Anweisung zu
geben :
a= Das ist ein Text
dann werden Sie vielleicht festgestellt haben, daß
der Computer dann nach dem anschließenden " PRINT a" ganz und garnicht den Text -" Das ist ein Text" ausdruckte, sondern entweder einen SYNTAX ERROR oder
eine 0 .
Wie Sie nun vielleicht bemerkt haben, haben wir bei
unseren PRINT-Anweisungen 3 verschiedene Arten von
Ausgabedaten verwendet. Fassen wir einmal zusammen :
1 .) Wir hatten Texte ausgegeben. Diese bestanden ausmehreren beliebigen Zeichen, die wir in Anführungszeichen eingeschlossen hatten.
2 .) Wir hatten dann mit Zahlen gearbeitet, indem wir
mit ihnen rechneten und die Gesamtergenisse uns
ausgeben ließen. Hierbei handelte es sich anfänglich wohlgemerkt um ganzzahlige Zahlen. Es wurde
kein Dezimalpunkt benutzt.
3 .) Anschließend haben wir dann die sogenannten reellen Zahlen hinzugenommen. Diese sind Zahlen mit
Dezimalkomma ( beziehungsweise Dezimalpunkt, in
BASIC - Beispiel: pi =3 .14159 . . .) .
Grundsätzlich kann man nun sagen, daß es drei Arten
von Datentypen gibt: Zeichenketten, ganze Zahlen und
Kommazahlen.
Genauso müssen wir bei den Variablen unterscheiden.
Es gibt damit also 3 Variablentypen, in denen nur
jeweils eine bestimmte Art von Daten gespeichert werden darf:
1 .) Texte, bestehend aus Zeichenfolgen. Diese Texte
nennt man allgemeinhin im Computerjargon
" Strings" .
2 .) Ganze Zahlen, sogenannte Integers.
3 .) Dezimalzahlen, sogennannte " Floats", oder Floatingpoint- Variablen ( deutsch: Fließkomma-Variablen) .
Ich möchte hier noch bemerken, daß ich diese Begriffe
von nun an immer benutzen werde. Prägen Sie sie sich
also gut ein, da man mit Ihnen am besten die Typen
unterscheiden kann, ohne noch langwierige Umschrebungen liefern zu müssen.
Wie bringen wir also nun unserem C64 bei, welche der
3 Arten wir nun wünschen, zumal er sie nicht selbst
unterscheiden kann? Nun das ist sehr einfach, wir
hängen einfach noch ein bestimmtes Zeichen an den
Variablennamen an, mit dem diese Unterscheidung möglich wird, und das typisch für seine Variablenart
ist.
Für die einzelnen Variablen gibt es folgende Zeichen:
1 .) Strings wird ein "$" angehängt, so daß ein Variablenname für einen String beispielsweise anstatt
" a" nun " a$" heißt.
2 .) Integers bekommen ein "%"- Zeichen dahinter. Also
" a%" anstatt " a" .
3 .) Floats sind am einfachsten zu bilden, sie bekommen keinen Anhang. Sie sehen also, daß die Variablen, die wir in unsrem obigen Beispiel gebildet
hatten, alles Floatvariablen waren, was auch notwendig war.
Floatvariablen heißen also wirklich " a" .
Wie Sie einer Floatvariable einen Wert zuweisen, wissen Sie ja mittlerweile aus unserem Beispiel mit der
Coladose ( nämlich mit " x= Zahl")
Die Wertzuweisung von Integern verläuft analog zu
dieser Methode, da es sich hier ja auch um Zahlen
handelt. Also " x%=10" .
Bei Strings verhält sich dies allerdings ein wenig
anders. Zwar wird die Zuweisung mit " a$=" kenntlich
gemacht, doch muß der zuzuweisende Text unbedingt, wie auch bei PRINT, noch in Anführungsstriche gesetzt
werden, da sonst ja nicht von Programmtext unterschieden werden könnte. Also muß unsere Zuweisung
dann lauten:
a$=" Das ist ein Text"
Nun wäre diese Zeichenfolge auch gespeichert. Jetzt
können Sie sie auch ruhig einmal mit " PRINT a$" abrufen. Der Computer wird Ihnen nun wie erwartet den
String " Das ist ein Text" ausdrucken. Sie sehen also, daß Sie sich hierdurch sehr viel Tipparbeit ( und außerdem auch Speicherplatz) sparen können, wenn Sie
für einen häufig in einem Programm vorkommenden Satz
Strings benutzen. Natürlich sind Variablen zu noch
viel mehr nutze, obwohl eine Wertzuweisung auch
eine Menge Tipparbeit mehr bedeutet, doch um sie
dreht sich wie gesagt alles in BASIC, und ohne sie
wäre es kaum möglich, sinnvolle Programme zu schreiben. Diese Wertzuweisung hat natürlich auch nur im
Programm einen Sinn, doch dazu wollen wir allerdings
in der nächsten Ausgabe kommen.
Hier trotzdem noch eine kleine Anmerkung. Vielleicht
ist Ihnen ja aufgefallen, daß die Integers irgendwo
überflüssig sind, da Floatzahlen ja auch ganze Zahlen
darstellen können. Eine Zuweisung von der Art " y=100" ist also nicht nur möglich, sondern meist auch die am
häufigsten verwendete Methode. Sie als Anfänger dürfen ruhig so arbeiten, doch sei hier gesagt, daß das Rechnen mit Integern sehr viel schneller vom Computer
ausgeführt werden kann, als das Rechnen mit Floats.
Dies liegt darin begründet, daß die Darstellungsweise
von Floats im Computer intern sehr kompliziert ist, und viel internes hinund hergerechne verursacht, wohingegen die Integers dem Computer wieder einfacher
erscheinen, da er selbst diese nur benutzt. Floats
sind eher umständlich simulierte Dezimalzahlen, da
ein Computer diese Zahlenmenge nicht kennt, sondern
halt nur die natürlichen Zahlen.
Außerdem ist die Verwendung von Integern auch noch
speicherplatzsparend, da die Darstellungsweise wie
gesagt nicht so komliziert ist. Sollten Sie also später einmal größere Programme schreiben, bei denen
dann auf einmal die 37911 Bytes, die BASIC als Hauptspeicher frei hat ( siehe auch Einschaltmeldung), zu
knapp werden, dann können Sie häufig mit der gezielten Benutzung von Integern wieder ein paar Bytes " herausschinden" .
Wohlgemerkt ist die Benutzung von Integern nur dann
angebracht, wenn wirklich nur mit ganzen Zahlen gerechnet wird, bzw. wenn eine Integervariable für eine
Rechnung eine ganze Zahl darstellen soll. Hier sei
auch noch gesagt, daß bei Integerwerten mit Nachkommastellen diese grundsätzlich abgeschnitten werden.
Das heißt, das bei der Zuweisung " a%=5 .78" die Variable dann den Wert 5 enthält. Oder daß bei der Division 3/2(=1 .5) das Ergebnis 1 ausgegeben wird.
Wir werden trotz allem wahrscheinlich doch immer
Floats benutzen, weil es so einfacher zu schreiben
ist ( da wir ja kein Prozentzeichen anzuhängen brauchen) und es außerdem schwieriger ist das Ganze zu
verstehen, wenn z. B. in einer Formel verschiedene
Variablentypen vorkommen. Doch ist es grundsätlich
besser, Integers zu verwenden, wobei ich Ihnen freistelle, wie Sie dies handhaben möchten. Sie könnten
ja zum Beispiel auch die hier im Kurs behandelten
Programme einmal umschreiben, wobei Sie allerdings
sehr weit voraus denken müssen, um prüfen zu können, ob eine Variable nicht doch irgendwann einmal einen
Dezimalwert annimmt, wegen dem dann die ganze Rech- nung zunichte wird, da falsche Ergebnisse herauskommen, zumal der Computer sich bei solchen Operationen
ja nicht beschwert, sondern ganz einfach die Nachkommastellen abschneidet.
Ich hoffe, daß Sie bis jetzt meinen Gedankengängen
und vor allem denen des Computers folgen konnten und
möchte mich nun verabschieden bis nächsten Monat, wo
wir dann endlich zur Sache gehen werden, was das
Schreiben von Programmen angeht.
Hiermit möchte ich nun schließen und wünsche Ihnen
viel Erfolg beim experimentieren,
Ihr Uli Basters.