Magic Disk 64

home to index to html: MD8901-KURS-BASIC_KURS_TEIL_1-1_:_VON_ADAM_UND_EVA...(TEIL_1)-6.1.html
     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.



Valid HTML 4.0 Transitional Valid CSS!