Postupnosť príkazov, rozhodovacie štruktúry a cykly v programovacom jazyku QuickBasic
Nasledujúci text je z veľkej časti inšpirovaný knihou Eva Špalová, Jiří Špale:QuickBasic 4.5, vydavateľstvo Grada, Praha 1993.
V jednoduchých programoch sa v ideálnom prípade vykonávajú príkazy riadok po riadku. V zložitejších programoch sa ale vyžaduje, aby sa kód vykonával podmienene. V závislosti od hodnoty určitého výrazu sa vykoná tá či oná časť kódu. Za takýmto účelom vyššie programovacie jazyky poznajú štruktúru testovania podmienky. Syntax príkazu je nasledovná:
IF podmienka1 THEN
[blok príkazov 1]
[ELSE IF podmienka2 THEN
[blok príkazov 2]]
.
.
.
[ELSE
[blok príkazov n]]
END IF
Parametre:
podmienka 1 a podmienka 2
Logické (prípadne numerické) výrazy, ktoré sa vyhodnotia tak. Pri logických výrazoch je výsledkom hodnotiaci výrok pravda (logická 1) alebo nepravda (logická 0). Ak sa vyhodnocuje numerický výraz, tak akákoľvek hodnota rôzna od numerickej nuly sa považuje za logickú jednotku.
Ak je výsledná hodnota podmienky logická 1, tak sa vykonáva blok príkazov nasledujúci za kľúčovým slovom THEN. V opačnom prípade sa prejde na na príkaz ELSE, resp. ELSE IF.
a podmieneného výberu, syntax príkazu je
SELECT CASE testovací vyraz
CASE zoznam výrazov 1
[blok príkazov 1]
[CASE zoznam výrazov 2
[blok príkazov 2]
.
.
.
[CASE ELSE
[blok príkazov n]]
END SELECT
Týmto dvom štruktúram sa hovorí rozhodovacie štruktúry. Teoreticky by mohol stačiť iba príkaz IF, ale pri veľkom počte výberov by bol program neprehľadný a hospodárilo by sa neefektívne so strojovým časom.
Tiež býva obvykle praktické nejakú časť kódu opakovať. Pričom počet opakovaní môže byť dopredu známy, alebo sa vykonávanie kódu opakuje dokým nie je splnená nejaká podmienky. Ide o programové štruktúry, ktorým sa hovorí cykly alebo programové slučky. Za účelom vopred stanoveného počtu opakovaní slúži konštrukcia FOR...NEXT, syntax je nasledovná
FOR počítadlo = začiatok TO koniec [STEP krok]
[blok príkazov 1]
[EXIT FOR
[blok príkazov 2]]
Konštrukcia EXIT FOR slúži na predčasné ukončenie cyklu/programovej slučky.
Programové cykly je možne do seba vkladať - aj inak povedané do seba vnoriť.
NEXT [počítadlo]
Pokiaľ počet opakovaní nie je vopred známy a závisí od podmienky, ktorá sa počas vykonávania cyklu mení, je vhodná konštrukcia WHILE..WEND. Syntax príkazu je:
WHILE podmienka
[blok príkazov]
WEND
Za týchto okolností sa ale môže stať, že programová slučka sa nikdy neukončí a bude blokovať chod programu. Toto si musí ošetriť programátor inými spôsobmi.
QuickBasic zaviedol oproti starším mutáciám jazyku BASIC nový príkaz DO..LOOP. Táto konštrukcia je podobná konštrukcii WHILE.. WEND, len s tým rozdielom, že pokiaľ prvá konštrukcia testuje podmienku na začiatku cyklu, konštrukcia DO...LOOP ju dokáže testovaj aj na začiatku, aj na konci. Rozhodnutie je na programátorovi.. Celkovo je 5 možných variácii tohto príkazu:
DO WHILE .. LOOP
DO UNTIL .. LOOP
DO LOOP ... WHILE
DO .. LOOP UNTIL
DO .. LOOP
Syntax je
DO [{WHILE|UNTIL} podmienka]
[blok príkazov 1]
[EXIT DO
[blok príkazov 2]]
LOOP
a
DO
[blok príkazov 1]
[EXIT DO
[blok príkazov 2]]
LOOP [{WHILE|UNTIL} podmienka]
Komentáre
Zverejnenie komentára