26. Turbo-BASIC XL
Na čo to je
Turbo-BASIC XL je rozšírený BASIC, ktorý v roku 1985 napísal Frank Ostrowski. Vie všetko, čo Atari BASIC – každý program z kapitol 1 až 25 v ňom beží rovnako –, a pridáva okolo sedemdesiat nových príkazov a funkcií. Najdôležitejšie z nich robia program čitateľnejším: slučky bez GOTO, podmienky na viac riadkov, podprogramy s menami.
Kapitoly 26 až 38 ich prejdú. Táto prvá ukazuje, čo si všimneš hneď.
Ako prekladaču povedať, že je to Turbo-BASIC XL
Príponou súboru:
| Prípona | Jazyk |
|---|---|
.abas | Atari BASIC |
.tbas | Turbo-BASIC XL |
Alebo voľbou --dialect turbo (či --dialect atari), ktorá má pred príponou prednosť.
Na jazyku záleží aj vtedy, keď program žiadny nový príkaz nepoužije. Slová Turbo-BASICu sú totiž v súbore .abas obyčajné mená: DELKA=5 je v Atari BASICu premenná DELKA, ale v Turbo-BASICu XL sa číta ako príkaz DEL KA=5 a prekladač ohlási chybu. Program písaný pre Atari BASIC preto nechaj v .abas.
Líšia sa aj drobnosti: Turbo-BASIC XL vypisuje čísla s desiatimi číslicami (Atari BASIC s deviatimi) a k chybe pridá slovo – ERROR- 11 OVERFLOW AT LINE 10.
Čo je nové na prvý pohľad
| Novinka | Príklad |
|---|---|
| malé písmená v príkazoch a menách | print x |
| podčiarkovník v mene | total_sum |
| šestnástkové číslo | $FF je 255, $0600 je 1536 |
konštanty %0 až %3 | čísla 0, 1, 2, 3, ktoré v pamäti interpretera zaberali menej miesta |
otázka rovno v INPUT | INPUT "Your name";N$ |
-- | príkaz, ktorý nerobí nič: oddeľovacia čiara vo výpise |
CLS | zmaže obrazovku |
| až 256 premenných | Atari BASIC ich mal 128 |
Celý program
Súbor examples/turbo.tbas:
10 REM Turbo-BASIC XL: what you notice first
20 --
30 total_sum=0
40 for i=1 to 5:total_sum=total_sum+i:next i
50 print "Sum: ";total_sum
60 print "$FF is ";$FF;", $0600 is ";$0600
70 print "%0+%1+%2+%3 = ";%0+%1+%2+%3
80 dim name$(20)
90 input "Your name";name$
100 input "Your age, please: ",age
110 print "Hello, ";name$;", ";age
120 --Preklad a spustenie
Basic26 turbo.tbas --runalebo v simulátore s odpoveďami zo súboru examples/turbo.in:
Basic26 turbo.tbas --sim --sim-input turbo.inČo uvidíš
Sum: 15
$FF is 255, $0600 is 1536
%0+%1+%2+%3 = 6
Your name?Peter
Your age, please: 12
Hello, Peter, 12Ako to funguje
- Riadky 20 a 120:
--nerobí nič. Turbo-BASIC XL ho vo výpise programu nakreslí ako čiaru z tridsiatich pomlčiek, takže oddeľuje časti programu. - Riadky 30 až 50: príkazy malými písmenami. Turbo-BASIC XL ich pri písaní sám prevádzal na veľké;
print,PrintaPRINTje to isté, atotal_sumaTOTAL_SUMje tá istá premenná. V tejto knihe ostanú príkazy veľkými písmenami, aby sa odlíšili od textov. - Riadok 60: číslo so znakom dolára vpredu je šestnástkové – zapísané v sústave so základom 16, kde po deviatke nasledujú A až F. Adresy v pamäti sa tak píšu oveľa pohodlnejšie:
$0600je začiatok šiestej stránky,$D000adresa obvodov. Nepomýľ si to s dolárom na konci mena reťazca. - Riadok 90: text pred premennou sa vypíše ako otázka. So stredníkom zaň
INPUTpridá otáznik. - Riadok 100: s čiarkou otáznik nepridá.
Časté chyby
| Čo sa stalo | Čo sa stane |
|---|---|
program pre Turbo-BASIC XL má príponu .abas | nové príkazy sa berú ako mená premenných: error B26017 na prvom z nich |
meno premennej sa začína slovom Turbo-BASICu (DELKA, DOOR, EXITS) | error B26017: DOOR=1 sa číta ako DO OR=1, EXITS=2 ako EXIT S=2 |
INPUT "text";A v Atari BASICu | error B26008: INPUT needs a variable to read into – tam otázka v INPUT nie je |
$ pred desiatkovým číslom zo zvyku ($100 namiesto 100) | je to 256 |
Slov, ktorými sa nesmie začínať meno, je v Turbo-BASICu XL viac: DO, DEL, DIR, TIME, EXIT, EXEC, PROC, LOOP, MOVE, TEXT, CLS, PAUSE, PAINT, WHILE, WEND a ďalšie z prílohy A.
Vyskúšaj si
- Vypíš šestnástkové čísla
$10,$100a$FFFFdesiatkovo. - Prelož
turbo.tbass voľbou--dialect ataria pozri, na čom sa prekladač zastaví. - Prepíš program
guess.abasz kapitoly 9 tak, aby otázku písalINPUT, a ulož ho ako.tbas.
Zhrnutie
- Súbor
.tbasje Turbo-BASIC XL,.abasAtari BASIC;--dialectto prebije. - Všetko z Atari BASICu platí ďalej.
- Navyše: malé písmená,
_v menách,$FF,INPUT "otázka";X,CLS,--. - Mená premenných sa nesmú začínať ani slovami Turbo-BASICu.
Späť: 25. Príkazy editora · Ďalej: 27. Podmienka na viac riadkov