VERZWEIGUNGEN
Manchmal hängt das, was der Computer für Sie tun soll, davon ab,
was bis dahin geschehen ist. In diesem Fall wenden Sie eine Me
thode an, die mit Verzweigungen zu tun hat.
Dieser Abschnitt befaßt sich mit Logik und bedingten Befehlen, wobei das, was
der omputer zu tun hat, von verschiedenen anderen Dingen abhängt. Beispiel
Kinobesuch: IF (wenn) Sie unter 16 sind, TH EN (dann) dürfen Sie nicht in
einen Film, der für Jugendliche nicht freigegeben ist. Der Arbeit des
omputers
können Sie ähnliche Bedingungen auferlegen.
Der Befehl, mit dem Sie das bewirken, heißt IF ... THEN ... - aber
entscheidend ist, was an die Stelle der drei Pünktchen tritt.
Schreiben wir ein Programm, das feststellen soll, ob eine gegebene Zahl
ungerade oder gerade ist. ("Ist ja toll!" höre ich Sie schon rufen, und Sie haben
ja recht, aber wie an anderen Stellen hier geht es um das Prinzip und nicht um
das konkrete Ergebnis).
Also los.
10
INPUTN
20
IF N = 2*INT(N/2) THEN PRINT "GERADE"
30
IF N < > 2*INT(N/2) THEN PRINT "UNGERADE"
Wie geht das? Gerade Zahlen sind solche, die durch 2 ohne Rest teilbar sind.
N ist also gerade genau dann, wenn N/2 eine ganze Zahl ist. Das heißt, bei INT
bleibt sie gleich, demnach N/2 = INT (N/2). Und das ist dasselbe wie N =
2*INT(N/2). Zeile 20 sagt deshalb verklausuliert nichts anderes als
20
IF N ist gerade THEN PRINT "GERADE"
was für uns ja einigermaßen Sinn ergibt - aber nicht für den armen ZX81 , der
keine Ahnung hat, was "ist gerade" bedeutet, bis wir es ihm in der Sprache
sagen, die er versteht.
Nur, um das ganz klarzumachen, wollen wir ein paar Fälle darstellen.
N
22
23
24
25
26
N/2
11
11.5
12
12.5
13
INT(N/2)
11
11
12
12
13
2*INT(N/2)
22
22
24
24
26
Ebenso wird N durch K genau halbiert- bei ganzen Zahlen K, N - nur und
nur dann, wenn N = K*INT(N/K) . . . Das ist eine sehr nützliche Erkenntnis.
Schließlich muß vielleicht nur noch erwähnt werden, daß in Zeile 30 das
'Symbol < > bedeutet "ist nicht gleich". Viele Mathematiker würden # verwen
den, aber der ZX81 bevorzugt < >. Fragen Sie mich nicht nach dem Grund.
69