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
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

title_2015_02

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

EasyLinux erscheint vierteljährlich und kostet EUR 9,80. Weitere Informationen zum Heft finden Sie auf der EasyLinux-Homepage.

Das EasyLinux-Jahresabo mit Prämie kostet ab EUR 33,30. Details zum EasyLinux-Jahresabo finden Sie im Medialinx-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Zu wenig Speicherplatz auf /boot unter MATE
Patrick Obenauer, 25.05.2015 14:28, 1 Antworten
Hallo zusammen, ich habe Ubuntu 14.10 mit MATE 1.8.2 (3.16-37) mit Standardeinstellungen aufgese...
Konsole / Terminal in Linux Mint 17.1 deutsch
Dirk Resag, 09.05.2015 23:39, 12 Antworten
Hallo an die Community, ich habe vor kurzem ein älteres Notebook, Amilo A1650G, 1GB Arbeitsspe...
Admin Probleme mit Q4os
Thomas Weiss, 30.03.2015 20:27, 6 Antworten
Hallo Leute, ich habe zwei Fragen zu Q4os. Die Installation auf meinem Dell Latitude D600 verl...
eeepc 1005HA externer sound Ausgang geht nicht
Dieter Drewanz, 18.03.2015 15:00, 1 Antworten
Hallo LC, nach dem Update () funktioniert unter KDE der externe Soundausgang an der Klinkenbuc...
AceCad DigiMemo A 402
Dr. Ulrich Andree, 15.03.2015 17:38, 2 Antworten
Moin zusammen, ich habe mir den elektronischen Notizblock "AceCad DigiMemo A 402" zugelegt und m...