Variablen, Ein- und Ausgabe

BASIC-Programme speichern Zahlen und Text in Variablen; die klassischen BASIC-Interpreter verwenden für jede Variable einen einfachen Buchstaben (A, B usw.). Wenn die Variable Text enthalten soll, ist sie eine String-Variable und erhält am Ende ein Dollarzeichen als Kennzeichnung (A$, B$ usw.).

Mit Variablen können Sie rechnen, z. B. gibt das Programm

10 A = 10
20 B = 20
30 C = A + B
40 PRINT "SUMME "; C

die Summe 30 aus. Der PRINT-Befehl akzeptiert mehrere Argumente, die durch ein Semikolon getrennt werden – es erscheint dann alles in einer Zeile. Soll das Programm über die Tastatur eine Eingabe einlesen, benutzen Sie den Befehl INPUT:

10 PRINT "DEIN NAME: "
20 INPUT A$
30 PRINT "DEIN ALTER: "
40 INPUT B
50 PRINT "NAME: "; A$; " - ALTER: "; B

Unterprogramme

Wollen Sie eine Subroutine (ein Unterprogramm) aufrufen, können Sie den Befehl GOSUB verwenden. Das folgende Beispiel zeigt, wie Sie eine einfache Additionsfunktion schreiben können:

100 A=10 : B=20 : GOSUB 200
110 PRINT A; "+"; B; "="; C
120 PRINT "GIB A EIN: "; : INPUT A
130 PRINT "GIB B EIN: "; : INPUT B
140 GOSUB 200
150 PRINT A; "+"; B; "="; C
160 END
200 REM ADDIERER
210 C = A + B
220 RETURN

Der Doppelpunkt, der hier mehrfach auftaucht, ist ein Befehlstrenner: Damit können Sie mehrere Befehle in eine einzelne Zeile packen. Über den Befehl END in Zeile 160 wird das Programm beendet – wenn dieser Befehl fehlt, setzt der Interpreter die Ausführung in der folgenden Zeile fort. Das ist hier aber nicht gewünscht, denn in Zeile 200 beginnt das Unterprogramm, das die Summe berechnet: Es soll nur über GOSUB angesprungen werden.

Eine echte Parameterübergabe (wie in modernen Programmiersprachen) ist nicht möglich, Sie können diese nur simulieren, indem Sie Variablen vor dem Aufruf des Unterprogramms mit passenden Werten füllen und in der Subroutine darauf zugreifen. Für die Rückgabe des berechneten Ergebnisses wählen Sie denselben Weg. Im Beispielprogramm sind A und B die Parameter, und C ist der Rückgabewert. In modernen BASIC-Dialekten würde das Programm stattdessen wie folgt aussehen:

A=10 : B=20 : C = add (A, B)
PRINT A; "+"; B; "="; C
PRINT "GIB A EIN: "; : INPUT A
PRINT "GIB B EIN: "; : INPUT B
C = add (A, B)
PRINT A; "+"; B; "="; C
REM ADDIERER
FUNCTION add (x,y)
  RETURN x+y
END FUNCTION

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 05-07/2017: Emulatoren und virtuelle Maschinen

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

Linux open suse 2,8
Wolfgang Gerhard Zeidler, 18.04.2017 09:17, 2 Antworten
Hallo.bitte um Hilfe bei. Code fuer den Rescue-login open suse2.8 Mfg Yvo
grep und sed , gleicher Regulärer Ausdruck , sed mit falschem Ergebnis.
Josef Federl, 15.04.2017 00:23, 1 Antworten
Daten: dlfkjgkldgjldfgl55.55klsdjfl jfjfjfj8.22fdgddfg {"id":"1","name":"Phase L1","unit":"A",...
IP Cams aufzeichnen?
Bibliothek der Technischen Hochschule Mittelhessen / Giessen, 07.04.2017 09:25, 7 Antworten
Hallo, da nun des öfteren bei uns in der Nachbarschaft eingebrochen wird, würde ich gern mein...
WLAN lässt sich nicht einrichten
Werner Hahn, 21.03.2017 14:16, 2 Antworten
Dell Latitude E6510, Ubuntu 16.4, Kabelbox von Telecolumbus. Nach Anklicken des Doppelpfeiles (o...
"Mit Gwenview importieren" funktioniert seit openSuse 42.2 nicht mehr
Wimpy *, 20.03.2017 13:34, 2 Antworten
Bisher konnte ich von Digitalkamera oder SD-Karte oder USB-Stick Fotos mit Gwenview importieren....