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äm- lich 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 mit- verfolgen 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 über- setzt etwa "Universeller Befehlscode mit Symbolwör- tern 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 Com- puter 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, nichts- aussagende, 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 lang- wierige Arbeit war entwickelte man mit der Zeit immer mehr Computersprachen, die auf Grund der immer höher werdenden Leistungsfähigkeit der Computer immer kom- fortabler 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 be- trifft. Heutzutage ist ehrlich gesagt fast jede Spra- che 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 ande- re, 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 war- tet. Ich werde grundsätzlich das Ergebnis, das auf Grund einer Anweisung, die wir dem Computer eingege- ben haben auf dem Bildschirm erscheinen sollte hier im Kurs aufzeigen, doch sollten Sie nicht davon Ab- schrecken, die aufgeführten Beispiele auch selbst einmal auszuprobieren (wenn Sie fertig sind mit der MAGIC DISK 64), indem Sie sie sich ganz einfach auf- schreiben, oder wenn ein Drucker vorhanden ist, ein- fach ausdrucken können. Also: Bitte geben Sie einmal folgende Zeile in Ihren angeschalteten, auf eine Eingabe wartenden 64er 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än- sefüßchen" oder "Anführungsstrichen" einen Text ein und haben die RETURN-Taste gedrückt. Nun ist un- ter Ihrer eingegebenen Zeile der Text, den Sie in Anführung hatten, ausgedruckt worden, und der Compu- ter 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 Betriebsbe- reitschaft für weitere Befehle. Sollte das oben beschriebene in Ihrem Fall nicht ein- getreten 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 vorprogrammier- ten Befehlswörter zu erkennen versucht. Wenn man obi- ge 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 vo- kabular 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 Feh- lers finden. Manchmal ist dies etwas schwieriger, da bei bestimmten Dingen die der Computer für Sie erle- digen soll auch ganz spezielle Fehler auftreten kön- nen. 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ähr- leistet ist. Gehen wir nun aber etwas weiter. Langweilige Texte ausdrucken macht eh nicht soviel Spaß, zumal man gan- ze 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 Din- ge, 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 Text- ausdrü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 wei- teres auch andere Rechenfunktionen verwenden. Die 4 Grundrechenarten möchte ich hier jetzt erwähnen, ob- wohl 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 voll- kommen 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 ver- wenden, 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 grund- nichts 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 mehre- re Rechenoperationen aneinander gehängt werden, wobei der Computer die allgemeingültige "Punkt-vor- 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 die- ser 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ß ge- rechnet 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 Rech- nungen verändern. Wollen wir also 2300 herausbekom- men, so müssen wir folgenden Befehl benutzen: PRINT (20+3)*100 Anstelle von "PRINT 20+3*100", wobei nämlich 320 he- rauskä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 Er- gebnissen 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änd- lich 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 = 2x" 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 In- halt allerdings sofort gerechnet werden kann, dieser also nicht eher imaginär ist, so wie bei den mathe- matschen Variablen. Um Ihnen dies noch ein wenig besser erläutern zu kön- nen, kann man Variablen auch mit Schubladen verglei- chen (wobei jede Schublade ihren eigenen Namen be- sitzt, mit dem man sie ansprechen kann) und in der jeweils bestimmte Dinge, beziehungsweise Daten ent- halten 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 heraus- holen. Sie sehen also, daß das Ganze eigentlich äußerst ein- fach 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 be- nutzt sieht folgendermaßen aus: o=2rπ(r+h), wobei die Platzhalter (oder neuerdings für uns die Variablen) folgende Bedeutung haben: r = Radius der Zylindergrundfläche, h = Höhe des Zy- linders, π 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 64ers, 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än- kedose ist allgemein 11.5 cm hoch und hat einen Durchmesser von 6.5 cm. Um den Radius nun zu erhal- ten, 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 Compu- ters gewählt, damit Sie sich ein wenig daran gewöh- nen. So, eine Höhe und einen Radius haben wir ja jetzt, wollen wir nun einmal rechnen. Wie wir ja vorhin ge- lernt haben, können wir unsere Formel o=2rπ(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 Gleichheits- zeichen "=" dahinter und schreiben dann den Zahlwert hinter dieses Zeichen. a=1 wäre also die Zuweisung des Wertes 1 an die Va- riable "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 For- mulierung 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äm- lich 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 Variablen- namen kümmern, zumal hierbei bestimmte Regeln einge- halten werden müssen, da sonst BASIC nicht mehr mit- spielt, oder falsche Ergebnisse liefert. Zusammenfassend möchte ich Ihnen diese Regeln hier einmal Auflisten : 1.) Eine Variable darf aus Buchstaben (also a-z) 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 Va- riable z.B. mit der Variable "RADIESCHEN", oder "RAMBOCK" absolut identisch, weil unser 64er 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öh- nen Sie sich also auf keinen Fall eine solche Namensgebung an, da es so leicht zu Mißverständ- nissen kommen kann und damit zu Programmfehlern, nach denen man ewig sucht 3.) Ansonten gilt natürlich, daß nur in Kleinschrift geschriebene Variablen erlaubt sind, beziehungs- weise, falls Sie den Grafikzeichensatz des 64ers benutzen sollten - er ist direkt nach dem Ein- schalten vorhanden - keine Grafikzeichen. Zusam- mengefaß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 ein- mal 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" aus- druckte, 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 aus- mehreren beliebigen Zeichen, die wir in Anfüh- rungszeichen 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äng- lich wohlgemerkt um ganzzahlige Zahlen. Es wurde kein Dezimalpunkt benutzt. 3.) Anschließend haben wir dann die sogenannten reel- len 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 wer- den darf: 1.) Texte, bestehend aus Zeichenfolgen. Diese Texte nennt man allgemeinhin im Computerjargon "Strings". 2.) Ganze Zahlen, sogenannte Integers. 3.) Dezimalzahlen, sogennannte "Floats", oder Floa- tingpoint-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 Umschrebun- gen 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 Varia- blenname 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 bekom- men keinen Anhang. Sie sehen also, daß die Varia- blen, die wir in unsrem obigen Beispiel gebildet hatten, alles Floatvariablen waren, was auch not- wendig war. Floatvariablen heißen also wirklich "a". Wie Sie einer Floatvariable einen Wert zuweisen, wis- sen 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 unter- schieden 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$" abru- fen. 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 schrei- ben. 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ür- fen 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 hin- und 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 Haupt- speicher frei hat (siehe auch Einschaltmeldung), zu knapp werden, dann können Sie häufig mit der geziel- ten Benutzung von Integern wieder ein paar Bytes "he- rausschinden". Wohlgemerkt ist die Benutzung von Integern nur dann angebracht, wenn wirklich nur mit ganzen Zahlen ge- rechnet wird, bzw. wenn eine Integervariable für eine Rechnung eine ganze Zahl darstellen soll. Hier sei auch noch gesagt, daß bei Integerwerten mit Nachkom- mastellen diese grundsätzlich abgeschnitten werden. Das heißt, das bei der Zuweisung "a%=5.78" die Varia- ble dann den Wert 5 enthält. Oder daß bei der Divi- sion 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 brau- chen) 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 frei- stelle, 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 herauskom- men, zumal der Computer sich bei solchen Operationen ja nicht beschwert, sondern ganz einfach die Nachkom- mastellen 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.