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):

Atari BASIC
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 --sim

Prekladač 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.

Atari BASIC
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.

Atari BASIC
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.abas

Keď 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 --run

Otvorí 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.

Atari BASIC
10 REM My first program in BASIC
20 PRIT "Hello, Atari!"

Prekladač odpovie:

hello.abas(2,9): error B26017: expected '=' after a string

Každé hlásenie má štyri časti:

ČasťV príkladeČo znamená
súborhello.abasv ktorom súbore je chyba
miesto(2,9)druhý riadok súboru, deviaty znak (nie číslo riadka programu!)
druh a čísloerror B26017error je chyba, warning len upozornenie; číslo sa dá nájsť v prílohe C
popisexpected '=' 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:

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á čísloerror 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 textuwarning B26048: missing double quote in string – len upozornenie, text sa berie do konca riadka
súbor sa volá inak, ako píšeš v príkazeerror 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

  1. Zmeň text v úvodzovkách na svoje meno a program znova prelož a spusti.
  2. Pridaj riadok 30 PRINT "…" s iným textom.
  3. 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

Späť: 1. Úvod · Ďalej: 3. Výpis