1.2.2. Prvý program

 

Doteraz ste sa naučili, že po odoslaní príkazového riadku klávesom ENTER sa príkazy tohto riadku ihneď vykonali. Takýto režim práce sa označuje ako priamy režim práce. Výhodou tohto režimu je, že výsledky vidíte okamžite na obrazovke. Nevýhodou je, že počítač si nepamätá všetko, čo vykonal predtým.

Teraz sa naučíte vkladať údaje uloží do pamäti a v prípade potreby vie uložené údaje použiť. Tým sa dostávame k programovému režimu práce, naučíte sa, čo je to program a ako sa zostavuje.

Zhruba môžeme povedať, že program v jazyku BASIC je postupnosť príkazov, ktoré sú usporiadané podľa určitých pravidiel (syntax jazyka). Tieto pravidlá sa musíme naučiť, lebo počítač ich pozná a riadi sa presne podľa nich. Každú odchýlku od syntaxe počítač spozná a obyčajne ohlási chybu výpisom správy do spodného riadku.

Program sa skladá z riadkov programu (programových riadkov). Programový riadok je taký príkazový riadok, ktorý začína číslicou.

Vložte tieto 2 riadku programu do počítača:

      20 PRINT "tabulku"

      10 PRINT "Hlavicka ";

a obrazovka vyzerá takto:

      10>PRINT "Hlavicka ";

      20 PRINT "tabulku"

Tieto riadky začali číslicami a preto neboli hneď vykonané, ale uchované ako riadky programu. Všimnite si, že čísla riadkov v programe sú zoradené. Je to dôležité pre jeho beh a tiež sa to prejaví vo výpise riadkov, ktoré teraz môžete vidieť na obrazovke. Teraz odošlite riadok

      15 PRINT "pre ";

Ak by boli riadky číslované bez medzier, nebolo by možné medzi dva napísané riadky už vložiť ďalší riadok. Preto je výhodné číslovať riadky namiesto 1, 2, … radšej 10, 20, … avšak maximálne 9999. Dodatočné vkladanie riadkov je dôvod, prečo číslovať riadky s krokom 10.

Teraz chceme zmeniť riadok 20 na:

      20 PRINT "tabulku vysledkov"

Môžete to urobiť tak, že riadok 20 napíšete znova. Ak odošlete nový riadok s číslom 20, nový riadok prepíše starý.

Výhodnejšie je však využiť možnosť režimu EDIT (CAPS SHIFT + 1). Šípka > pri riadku 15 sa nazýva programový kurzor a riadok, na ktorý ukazuje, sa nazýva bežný riadok. Pri vkladaní programu je to posledný riadok, ktorý bol vložený, ale na nastavenie programového kurzora môžete použiť šípku dole alebo hore. Skúste si pohyb programového kurzora a nechajte ho nastavený na riadok 20. Keď stlačíte EDIT, objaví sa kópia bežného riadku v spodnej časti obrazovky – vo Vašom prípade je to kópia riadku 20. Pomocou šípky doprava presuňte kurzor L na koniec riadku pred úvodzovku a potom vložte text

      vysledkov

Riadok by mal teraz mať tvar:

      20 PRINT "tabulku vysledkov"

Po stlačení ENTER sa nahradí starý riadok 20 a obrazovka vyzerá takto:

      10 PRINT "Hlavicka ";

      15 PRINT "pre ";

      20>PRINT "tabulku vysledkov"

Program máte uložený v pamäti. Na odštartovanie programu slúži príkaz RUN (kláves R). Takže zadajte RUN a stlačte ENTER.

Na obrazovku sa vypíše text:

      Hlavicka pre tabulku vysledkov

Príkaz RUN zmaže obrazovku a odštartuje program od začiatku. Ale program môžete odštartovať od ľubovoľného riadku programu príkazom

      RUN číslo riadku

Tak po odoslaní príkazu

      RUN 20

dostanete na obrazovku výpis

      tabulku vysledkov

Ešte sa vrátime k režimu EDIT. Môžete ho použiť na vymazanie spodnej časti obrazovku. Niečo napíšte (bez ENTER) a potom sa rozhodnete, že to nechcete. Jedna z možností, ako to vykonať, je držať kláves DELETE, dokiaľ nie je riadok zrušený. Existuje i nasledujúca možnosť. Pokiaľ stlačíte EDIT, bude text v spodnej časti obrazovky nahradený kópiou bežného riadku. Pokiaľ teraz stlačíte ENTER, bežný riadok sa uloží do programu bez zmeny a spodná časť obrazovky ostane voľná. Pokiaľ odošlete riadok s chybou, napr.

      12 PRINT "zly riadok ";

uloží sa tento riadok do programu a až potom si uvedomíte chybu. Pre vynechanie tohto riadku odošlite:

      12

Teraz si s údivom všimnete, že programový kurzor zmizol. Môžete si predstaviť, že je niekde medzi 10. a 15. riadkom. Pokiaľ stlačíte šípku hore, bude sa nachádzať na riadku 10, ak stlačíte šípku dole, bude na riadku 15. Odošlite

      12

Programový kurzor bude opäť medzi riadkami 10 a 15. Teraz stlačte EDIT a dole bude kópia riadku 15. Keď je programový kurzor medzi riadkami, potom EDIT vyberie riadok s vyšším číslom. Napíšte ENTER na zmazanie spodnej časti obrazovky. Potom odošlite

      30

Teraz je programový kurzor za koncom programu. Pokiaľ stlačíte EDIT, bude riadok 20 vypísaný dole.

Doteraz vždy po stlačení ENTER sa vypísal program na obrazovku. Tento výpis nazvime automatický listing (listing je výpis programu). Existuje však špeciálny príkaz pre výpis programu na obrazovku a to príkaz

      LIST

ktorý vypíše program od prvého riadku.

Ak chcete vypísať program od určitého riadku, zadáte číslo požadovaného riadku za slovo LIST v tvare

      LIST číslo riadku

Zadajte napr. príkaz:

      LIST 15

a na obrazovke vidíte:

      15>PRINT "pre ";

      20 PRINT "tabulku vysledkov"

Riadok 10 nie je zobrazený, ale je stále vo Vašom programe. Môžete si to overiť stlačením ENTER. Výsledkom príkazu LIST 15 je, že sa vykoná výpis programu, začínajúci riadkom 15 a ďalej je na tomto riadku nastavený programový kurzor. Pokiaľ máte veľmi dlhý program, potom príkazom LIST nastavíte programový kurzor oveľa rýchlejšie ako šípkami.

Vložte do programu nasledujúci riadok:

      5 REM hlavicka tabulky

a odštartujte program príkazom RUN.

Určite ste si všimli, že ste dostali ten istý výsledok, ako keď v programe tento riadok nebol. Príkaz REM je totiž nevýkonný. Ak sa dostane vykonávanie programu na príkaz REM, text za príkazom REM sa preskočí a pokračuje sa na ďalšom riadku. Preto môže vyť za REM akýkoľvek text. Príkaz REM s používa ako poznámka v programe, ktorou môžete označiť časti programu pre Vašu informáciu, na vykonávanie programu nemá žiadny vplyv.

Program môžete odštartovať aj príkazom GOTO, ktorý má tvar

      GO TO číslo riadku

kde číslo riadku má ten istý význam ako v príkaze RUN. Tým odštartujte program od zadaného čísla riadku. Napr.:

      GO TO 20

Zdá sa Vám, že medzi príkazmi RUN a GOTO nie je žiadny rozdiel. V uvedenom programe je pravda. Všeobecne to však neplatí. Príkaz GOTO vykonáva program od zadaného miesta, pričom berie do úvahy stav, v ktorom sa počítač nachádza. Príkaz RUN je nebezpečnejší, lebo pri jeho odoslaní sa vždy nastaví časť pamäti do počiatočného stavu, čím stratíte výsledky, ktoré má počítač uložené v pamäti, zmaže sa obrazovka atď. (podrobne sa to dozviete neskôr).

Ak v príkaze RUN a GOTO zadané číslo riadku v programe neexistuje, pokračuje vykonávanie programu na najbližšom vyššom riadku.

To, že príkaz GOTO ponecháva doterajšie výsledky v pamäti, je veľmi výhodné. Príkaz GOTO môžete totiž použiť priamo v programe, čím sa dostávame k pojmu programový cyklus. Je to časť programu, ktorá sa vykonáva opakovanie. Doplňme program o nasledujúci riadok

      30 GO TO 10

a program odštartujte. Na celú obrazovku sa vypíše opakovane text

      hlavicka pre tabulku vysledkov

a v dolnom riadku sa objaví výpis

      scroll?

Čo sa vlastne stalo? Po prvom výpise riadku sa dostaneme na riadok 30, ktorý nás opäť vráti na riadok 10, nasleduje výpis a zase riadok 30, ktorý nás opäť vráti na riadok 10, nasleduje výpis a zase riadok 30 atď. Keď je na obrazovke zobrazených 22 riadkov, výpis sa zastaví a v dolnom riadku sa vypíše scroll?.

Výpis sa zastavil preto, aby ste si mohli prezrieť výpis na obrazovke a výpisom scroll? sa počítač pýta, či má pokračovať ďalej vo výpise, alebo má prerušiť program.

Ak stlačíte kláves N, kláves SPACE alebo kláves BREAK (CAPS SHIFT + SPACE), vykonávanie programu sa preruší a v dolnom riadku sa vypíše správa

      D BREAK – CONT repeats, 10:1

Ak stlačíte iný kláves, na obrazovku sa vypisujú ďalšie riadky tým spôsobom, že predchádzajúce riadky sa posúvajú smerom nahor a nasledujúci riadok sa vypisuje vždy na uvoľnené miesto dole.

Správa pri prerušení oznamuje, že program bol prerušený na riadku 10 v príkaze 1 (10:1) a v prerušenom programe je možné pokračovať príkazom

      CONTINUE

Zaujímavé je, že počas prerušenia programu môžete s počítačom vykonávať inú činnosť, napr. odoslať iné príkazy (PRINT), prezerať program príkazom LIST, ba dokonca je možné opravovať program v režime EDIT. Počítač si "pamätá", na ktorom mieste bol program prerušený a v programe môžete pokračovať príkazom CONTINUE. Skúste to!

V programe urobíte niekedy chybu a program beží v cykle bez výpisu na obrazovku, napr. program obsahuje tento riadok:

      200 GO TO 200

Ak sa dostane vykonávanie programu na tento riadok (môžete ho odštartovať príkazom RUN 200), dostali ste sa do programového cyklu, z ktorého zdanlivo niet úniku. Na ukončenie činnosti stačí stlačiť kláves BREAK (CAPS SHIFT a SPACE). Vykonávanie programu sa zastaví a v dolnom riadku sa zobrazí

      L BREAK into program, 200:1

čo znamená prerušenie programu klávesom BREAK. Pokračovať môžete opäť príkazom CONTINUE od toho miesta programu, kde bol prerušený. Kláves BREAK možno použiť kedykoľvek počas vykonávania programu. Jeho nevýhodou (a zároveň výhodou) je však to, že prerušenie môže nastať na ľubovoľnom mieste programu. Pri testovaní programu je vhodné zastaviť program na presne určenom mieste programu. Na to slúži príkaz

      STOP

Doplňte predchádzajúci program o riadok

      25 STOP

a odštartujte program. Po výpise textu sa objaví hlásenie

      9 STOP statement, 25:1

čo znamená, že program bol prerušený príkazom STOP. Ďalšia činnosť je podobná ako pri BREAK.

Ak ukončíte prácu s vytvoreným programom a chcete vytvoriť iný, potrebujete starý program zmazať. Mohli by ste to robiť rušením riadkov, ako ste sa to už naučili. V tomto prípade by to ešte  išlo, ale u dlhých programov by ste sa  "narobili". Preto je k dispozícii príkaz

NEW

ktorý zmaže starý program. Používajte ho však veľmi opatrne, lebo po jeho odoslaní je program beznádejne stratený!

Videli ste použitie príkazov PRINT, RUN, LIST, GO TO, CONTINUE, NEW a REM. Všetky mohli byť použité v programe alebo v priamom režime. To platí takmer o všetkých príkazoch jazyka BASIC. Príkazy RUN, LIST, CONTINUE a NEW nie sú často používané v programoch, ale môžu byť použité.