2. Prvý program
Na čo to je
Prejdeš celú cestu od prázdneho súboru po bežiaci program: napísať, uložiť, preložiť, spustiť. Všetky ďalšie kapitoly robia to isté, len s inými príkazmi.
Celý program
Otvor textový editor a napíš (alebo si otvor hotový súbor examples/hello.abas):
10 REM My first program in BASIC
20 PRINT "Hello, Atari!"Ulož ho ako hello.abas. Prípona .abas hovorí, že je to zdroják v Atari BASICu.
Pozor pri ukladaní z Poznámkového bloku: v okne Uložiť ako zvoľ typ Všetky súbory, inak sa súbor uloží ako
hello.abas.txt.
Preklad a spustenie
V príkazovom riadku prejdi do priečinka, kde súbor leží, a napíš:
Basic26 hello.abas --simPrekladač program preloží a voľba --sim ho hneď spustí vo vstavanom simulátore.
Čo uvidíš
Hello, Atari!To je všetko, čo program robí: vypíše jeden riadok a skončí.
Ako to funguje
Program v BASICu sa skladá z riadkov a každý riadok sa začína číslom. Počítač ich vykonáva od najmenšieho čísla po najväčšie.
10 REM My first program in BASIC
REM (z anglického remark, poznámka) je komentár. Všetko za ním až do konca riadka počítač preskočí. Je to poznámka pre človeka.
20 PRINT "Hello, Atari!"PRINT vypíše na obrazovku to, čo za ním nasleduje, a prejde na nový riadok. Text sa píše do úvodzoviek.
Za posledným riadkom program skončí sám.
Prečo 10 a 20, a nie 1 a 2
Na skutočnom Atari sa program písal rovno do počítača a riadok sa nedal „vsunúť“ medzi dva iné – jeho miesto určovalo číslo. Preto sa čísluje po desiatich: keď neskôr zistíš, že medzi riadky 10 a 20 treba ešte niečo, dáš tomu číslo 15.
V textovom editore riadok vsunieš, kam chceš, ale číslo mu dať musíš aj tak – a prekladač riadky zoradí podľa čísel, nie podľa poradia v súbore. Číslo môže byť od 0 do 32767.
Čo vzniklo na disku
Po preklade pribudol vedľa zdrojáka súbor hello.xex. To je hotový program pre Atari – má 1005 bajtov. Dá sa skopírovať na disketu alebo spustiť v emulátore.
Keď chceš program len preložiť a nespúšťať, voľbu --sim vynechaj:
Basic26 hello.abasKeď sa preklad podarí, prekladač nevypíše nič. Ticho znamená „v poriadku“.
Spustenie v emulátore
Simulátor ukáže len to, čo program vypíše. Emulátor ukáže celé Atari – modrú obrazovku, písmo, farby. Ak ho máš (priečinok atari800 vedľa Basic26.exe), spustíš program takto:
Basic26 hello.abas --runOtvorí sa okno emulátora a v ňom tvoj text. Keď program skončí, obrazovka ostane tak, ako ju nechal; emulátor zavrieš klávesom F9 alebo krížikom okna.
Keď prekladač nájde chybu
Chyby sú pri programovaní bežné. Skús úmyselne jednu spraviť: namiesto PRINT napíš PRIT.
10 REM My first program in BASIC
20 PRIT "Hello, Atari!"Prekladač odpovie:
hello.abas(2,9): error B26017: expected '=' after a stringKaždé hlásenie má štyri časti:
| Časť | V príklade | Čo znamená |
|---|---|---|
| súbor | hello.abas | v ktorom súbore je chyba |
| miesto | (2,9) | druhý riadok súboru, deviaty znak (nie číslo riadka programu!) |
| druh a číslo | error B26017 | error je chyba, warning len upozornenie; číslo sa dá nájsť v prílohe C |
| popis | expected '=' after a string | čo prekladaču vadí (po anglicky) |
Popis tu na prvý pohľad nesedí – veď chýba písmeno, nie rovná sa. Prekladač však slovo PRIT nepozná, a tak si myslí, že je to meno premennej, do ktorej chceš niečo uložiť (o tom je kapitola 4); za takým menom čaká znak =. Z toho plynú dve rady:
- Opravuj vždy prvú chybu. Ďalšie sú často len jej následkom.
- Chyba je na označenom mieste alebo tesne pred ním. Prekladač si ju všimne, až keď mu prestane dávať zmysel to, čo číta.
Kým má program chybu (error), súbor .xex nevznikne a nič sa nespustí. Upozornenie (warning) preklad nezastaví.
Časté chyby
| Čo sa stalo | Čo povie prekladač |
|---|---|
preklep v príkaze (PRIT namiesto PRINT) | error B26017: expected '=' after a string |
| riadok nemá číslo | error B26044: line does not start with a number |
príkaz malými písmenami (print) | error B26017: Atari BASIC takes no lower case in "print" |
| chýba úvodzovka na konci textu | warning B26048: missing double quote in string – len upozornenie, text sa berie do konca riadka |
| súbor sa volá inak, ako píšeš v príkaze | error B26201: hello.abas: file not found |
Príkazy Atari BASICu sa píšu veľkými písmenami. Malé písmená smú byť len v texte v úvodzovkách a za REM. Turbo-BASIC XL malé písmená berie (kapitola 26).
Vyskúšaj si
- Zmeň text v úvodzovkách na svoje meno a program znova prelož a spusti.
- Pridaj riadok
30 PRINT "…"s iným textom. - Pridaj riadok s číslom 15 na koniec súboru, až za riadok 30, a pozri, kedy sa vypíše. Prekladač na to upozorní hlásením
warning B26230.
Zhrnutie
- Program je textový súbor s príponou
.abas; každý riadok sa začína číslom. - Riadky sa vykonávajú podľa čísel, od najmenšieho.
Basic26 meno.abasho preloží domeno.xex;--simho hneď spustí v simulátore,--runv emulátore.PRINT "text"vypíše riadok textu,REMje komentár.- Príkazy sa píšu veľkými písmenami.
- Chybové hlásenie hovorí súbor, riadok, stĺpec a dôvod. Opravuj od prvého.