Kurs starten

**** INPUT ****

INPUT: Eingaben vom Nutzer einlesen

INPUT hält das Programm an, wartet auf eine Eingabe und legt sie in einer Variablen ab. Damit wird aus einem Ablauf ein Dialog.

Schreibweise

FormBedeutung
INPUT AFragt mit einem Fragezeichen nach einer Zahl.
INPUT A$Fragt nach Text (Variable mit Dollarzeichen).
INPUT "FRAGE";AZeigt die Frage an, das Fragezeichen setzt BASIC selbst.
INPUT A,BLiest zwei Werte, vom Nutzer durch Komma getrennt eingegeben.

Zahl oder Text: das Dollarzeichen entscheidet

Eine Variable ohne Dollarzeichen nimmt Zahlen auf, eine mit Dollarzeichen Text. Tippt jemand bei einer Zahlenvariablen Buchstaben ein, wird daraus eine 0, das Programm läuft aber weiter.

Der Text vor dem Strichpunkt ist die angezeigte Frage. Das Fragezeichen dahinter ergänzt BASIC automatisch, du musst es nicht tippen.

Frage und Antwort 10 INPUT "WIE HEISST DU";N$ 20 INPUT "WIE ALT BIST DU";A 30 PRINT "HALLO ";N$ 40 PRINT "IN 10 JAHREN BIST DU";A+10

Der Name landet in N$, das Alter als Zahl in A und lässt sich weiterrechnen.

Das Programm wartet wirklich

Bei INPUT steht die Ausführung still, bis jemand etwas tippt und RETURN drückt. Danach läuft das Programm exakt an derselben Stelle weiter. Soll ein Programm dagegen nicht warten, sondern nur nachsehen, ob gerade eine Taste gedrückt ist, nimmt man GET.

Eingaben prüfen und notfalls nachfragen

BASIC V2 prüft Eingaben nicht. Das übernimmt dein Programm: Ein Vergleich und ein Sprung zurück reichen, um so lange nachzufragen, bis der Wert passt.

Nachfragen bis der Wert stimmt 10 INPUT "ZAHL VON 1 BIS 10";Z 20 IF Z<1 THEN 10 30 IF Z>10 THEN 10 40 PRINT "DANKE, DU HAST";Z;"GEWAEHLT."

Bei einer unpassenden Zahl springt das Programm zurück zu Zeile 10 und fragt erneut.

Typische Stolperfallen

Komma in der Antwort

Tippt jemand bei INPUT A,B nur einen Wert, bleibt die zweite Variable leer beziehungsweise 0. Erwartet werden beide Werte in einer Zeile, durch Komma getrennt.

Text in eine Zahlenvariable

Buchstaben in einer Zahlenvariablen ergeben 0. Wenn Eingaben beliebig sein dürfen, lies sie als Text ein und wandle sie bei Bedarf mit VAL() um.

Frage doppelt gestellt

Schreib die Frage entweder in ein eigenes PRINT oder in das INPUT, nicht in beides. Sonst steht sie zweimal auf dem Bildschirm.

Passt dazu

Im Kurs lernst du INPUT in Lektion 9: INPUT: Eingabe vom Nutzer. Die vollständige Referenz aller Befehle steht im Befehls-Lexikon.

HAEUFIGE FRAGEN

Fragen zu INPUT

Wie frage ich mehrere Werte auf einmal ab?

Mit INPUT A,B. Der Nutzer gibt dann beide Werte in einer Zeile ein, getrennt durch ein Komma, zum Beispiel 3,5. Zwei getrennte INPUT-Zeilen sind aber meist verständlicher.

Kann ich eine Eingabe ohne RETURN lesen?

Nicht mit INPUT. Dafür gibt es GET, das eine einzelne Taste sofort liest, ohne auf RETURN zu warten.

Gleich selbst ausprobieren

Tippe die Beispiele in den freien Editor und sieh dir an, was passiert.

Freien Editor oeffnen →