Az OPL programozási nyelv

Vezérlési szerkezetek

3. Vezérlési szerkezetek

Szekvencia

Az OPL-ben általában egy sor csak egy utasítást tartalmaz, és az egymást követő sorokban levő utasítások szekvenciája a program. Lehetőség van egy sorba több utasítást is írni, ezeket : jellel kell elválasztani. Az utasítások végét nem kell semmilyen karakterrel jelölni, és a : karakter is csak az utasítások elválasztására szolgál.

Vezérlésátadó utasítások

Az OPL-ben egy vezérlésátadó utasítás van, a GOTO. Alkalmazási formája:

GOTO label vagy GOTO label::
...
label::

A cimkének

Elágazások

Egy elágazásos utasításcsoportot találhatunk a nyelvben:

IF feltétel1
    utasítások1
ELSEIF feltétel2
    utasítások2
ELSEIF feltétel2
    utasítások2
    :
    :
ELSE
    utasítások
ENDIF

Ha a feltétel1 teljesül, akkor végrehajtja az utasítások1-ben szereplő utasításokat. Ha nem teljesül, akkor megvizsgálja a feltétel2-t, és így tovább. Azt az ágat hajtja végre először, amelyiknél a feltétel teljesül. Ha nincs ilyen, akkor az ELSE ágat hajtja végre, ha van ilyen.

Ciklusok

DO
    Utasítások
UNTIL felt

A DO...UNTIL egy hátultesztelő ciklus. Addig hajtódik végre, amíg a megadott feltétel igazzá nem válik. A ciklusfeltételnek numerikus értékre kiértékelhető kifejezésnek vagy összehasonlításnak kell lennie. A hátultesztelő ciklus használatakor a törzs egyszer mindenképpen végrehajtódik.

WHILE felt
    Utasítások
ENDWH

A WHILE..ENDWH elöltesztelős ciklus, addig ismétlődik a ciklusmag végrehajtása, amíg a feltétel hamissá nem válik. A ciklusmag nem feltétlenül hajtódik végre.

Kilépő utasítások

Az BREAK utasítással léphetünk ki ciklusokból. Az az utasítás fog végrehajtóni, ami az ENDWH ill. UNTIL sor után közvetlenül van.

A CONTINUE utasítással egyből a ciklusfeltételre ugorhatunk, tehát a ciklusmag fennmaradó része nem fog végrehajtóni, de a ciklusban maradunk.