7. Vstup: INPUT

Na čo to je

Doteraz boli všetky čísla a texty napísané v programe. S INPUT sa program spýta – počká, kým človek niečo napíše a stlačí RETURN, a to, čo napísal, uloží do premennej.

Ako sa to píše

Atari BASIC
INPUT premenná
INPUT premenná,premenná
ZápisVýznam
INPUT Avypíše otáznik, počká na číslo a uloží ho do A
INPUT A$to isté s textom; reťazec musí mať DIM
INPUT A,Bdve čísla naraz, pri písaní oddelené čiarkou

INPUT vypíše len otáznik. O čo ide, musí povedať PRINT pred ním – s bodkočiarkou na konci, aby otáznik ostal na tom istom riadku.

Celý program

Súbor examples/input.abas:

Atari BASIC
10 REM INPUT: the program asks
20 DIM NAME$(20)
30 PRINT "What is your name";
40 INPUT NAME$
50 PRINT "How old are you";
60 INPUT AGE
70 PRINT "Hello, ";NAME$;"!"
80 PRINT "Next year you will be ";AGE+1
90 PRINT "Give me two numbers"
100 INPUT A,B
110 PRINT A;" + ";B;" = ";A+B

Preklad a spustenie

Tento program potrebuje klávesnicu, a tú simulátor nemá. Sú dve možnosti.

V emulátore píšeš odpovede sám, na klávesnici Atari:

Basic26 input.abas --run

V simulátore dostane program odpovede zo súboru. Súbor examples/input.in má tri riadky – na každý INPUT jeden:

Peter
12
3,4
Basic26 input.abas --sim --sim-input input.in

Čo uvidíš

What is your name?Peter
How old are you?12
Hello, Peter!
Next year you will be 13
Give me two numbers
?3,4
3 + 4 = 7

Ako to funguje

Časté chyby

Čo sa staloČo sa stane
namiesto čísla príde text (abc)program skončí s ERROR- 8 AT LINE 60
číslo s desatinnou čiarkou (3,5 na jedno číslo)INPUT A zoberie 3 a zvyšok zahodí; pri INPUT A,B je to 3 a 5
INPUT A$ bez DIMERROR- 9
simulátor bez --sim-input, alebo v súbore je málo riadkovERROR- 136 na INPUT, ktorý už nemá čo čítať

Chyba 8 je nepríjemná: stačí preklep pri písaní a program skončí. Kapitola 17 ukáže, ako ju zachytiť a spýtať sa znova.

Turbo-BASIC XL vie otázku napísať rovno v INPUT (INPUT "Name";N$, kapitola 26). Atari BASIC to nevie.

Vyskúšaj si

  1. Spýtaj sa na dve strany obdĺžnika a vypíš jeho obsah.
  2. Spýtaj sa na meno a vypíš, koľko má písmen.
  3. Spýtaj sa na rok narodenia a vypíš vek. Uprav si input.in alebo program spusti v emulátore.

Zhrnutie

Späť: 6. Reťazce · Ďalej: 8. Podmienka