Fallunterscheidung

Um verschiedene Situationen zu unterscheiden, kennt BASIC die Befehle IF (falls) und THEN (dann); in einigen Varianten der Sprache kommt noch das Schlüsselwort ELSE (anderenfalls) hinzu. Der folgende Programmcode liest z. B. mit INPUT eine Zahl ein und entscheidet dann, ob sie kleiner als 100 ist oder nicht:

10 PRINT "GIB WERT EIN: ";
20 INPUT X
30 IF X < 100 THEN PRINT "KLEINER ALS 100"
40 IF X >= 100 THEN PRINT "GROESSER ODER GLEICH 100"

Variablennamen wie X dürfen übrigens nicht beliebige Längen haben; für maximale Kompatibilität verwenden Sie nur Namen mit Länge 1 (also einzelne Buchstaben). Der C64 akzeptiert längere Namen, unterscheidet aber nur die ersten zwei Buchstaben: X und XY sind dort verschiedene Variablen, aber XY und XYZ sind es nicht. Beim Schneider CPC dürfen die Variablennamen bis zu 40 Zeichen lang sein.

Schleifen

Eine einfache Schleife haben Sie schon gesehen: Mit GOTO können Sie jederzeit zu einer früheren Stelle im Code zurück springen und so immer wieder dieselben Befehle ausführen. Beliebter ist aber die so genannte Zählschleife: Sie verwendet eine Variable, die nacheinander verschiedene Werte annimmt. Das folgende Beispiel gibt alle ungeraden Zahlen zwischen 1 und 9 aus:

10 FOR I = 1 TO 9 STEP 2
20 PRINT I,
30 NEXT I

Die Variable I erhält in Zeile 10 zunächst den Wert 1, dann wird dieser in Zeile 20 ausgegeben, und durch den Befehl NEXT I in Zeile 30 geht es zurück zum Anfang der Schleife. Normal würde eine FOR-Schleife nun den Wert um 1 erhöhen, aber durch das Schlüsselwort STEP addiert der Interpreter stattdessen immer 2 – der Wert von I im nächsten Durchlauf ist also 3, danach 5, 7 und schließlich 9. Wenn der Endwert erreicht ist, bricht die Schleife ab (Abbildung 6).

Abbildung 6: Mit einer FOR-Schleife wiederholen Sie gleichartige Berechnungen mit verschiedenen Werten.

Schleifen können Sie auch schachteln und wie folgt z. B. eine kleine Multiplikationstabelle (das kleine Einmaleins) ausgeben:

10 FOR I = 1 TO 10
20 FOR J = 1 TO 10
30 PRINT I; " x "; J; " = "; I*J
40 NEXT J
50 NEXT I

Beachten Sie, dass hier in Zeile 40 zunächst die "innere Schleife" beendet wird (FOR JNEXT J) und dann in Zeile 50 die "äußere Schleife" (FOR INEXT I).

Bei den meisten BASIC-Dialekten können Sie im NEXT-Befehl auch auf den Namen der Variable verzichten.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

EL 08-10/2017: BACKUP

Digitale Ausgabe: Preis € 9,80
(inkl. 19% MwSt.)

EasyLinux erscheint vierteljährlich und kostet 9,80 Euro. Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 33,30 Euro. Details dazu finden Sie im Computec-Shop.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!      

Aktuelle Fragen

Bash - verschachtelte Variablenersetzung, das geht doch eleganter als meine Lösung?
Josef Federl, 18.07.2017 20:24, 1 Antworten
#!/bin/bash #Ziel des Skriptes wird sein die ID zu extrahieren hier nur als Consolentest: root@...
Speicherplatzfreigabe mit "sudo apt-get clean" scheitert
Siegfried Böttcher, 16.07.2017 21:16, 2 Antworten
Speicherplatzfreigabe mit "sudo apt-get clean" scheitert, weil aus mir unerfindlichen Gründen im...
Möchte Zattoo vom PC am Fernsehgerät sehen können
Ilona Nikoui, 15.07.2017 18:25, 3 Antworten
Hallo, ich habe mein Fernsehgerät, ein LG 26LE3300 mit dem PC verbunden per HDMI Kabel, wie empfo...
TUXEDO und Hardwareauswahl , fragwürdig / Kritik
Josef Federl, 11.07.2017 12:44, 6 Antworten
Auf tuxedocomputers.com steht: "....Aber wir können auch Linux und das so, dass "einfach" alles...
HP PHOTOSMART 5525 nimmt die schwarze original patrone nicht
Erich Mecl, 28.06.2017 18:10, 1 Antworten
Hallo Leute! Mein HP Photosmart 5525 Drucker erkennt die original schwarze Patrone 364, nimmt s...