A GNU Octave programozási nyelv

Vezérlési szerkezetek

Elágazás

Az if szerkezet

if feltétel then-törzs ... elseif feltétel elseif-törzs ... else else-törzs ... endif

Egy if-en belül akárhány elseif ág lehet, else viszont csak egy, és ennek a legutolsónak kell lennie, melynek a törzs része akkor hajtódik végre, ha egyik feltétel sem volt igaz a felsõbb ágakban.

A switch szerkezet

switch kifejezés case cimke_1 törzs_1 case cimke_2 törzs_2 ... otherwise törzs_n+1 endswitch

Legalább egy case ágnak lennie kell. A címke értekének egy kifejezésnek kell lennie, az ismételt címkéket figyelmen kívül hagyva az elsõ illeszkedés törzse hajtódik végre. Az otherwise ág nem kötelezõ.

Ciklus

A for ciklus

for vált = kifejezés törzs endfor

A kifejezés egy bármilyen érvényes kifejezés lehet, a vált pedig lehet egy tetszõleges egyszerû változónév vagy indexelt változó is, de ha pl. a kifejezés egy struktúra, akkor akár egy lista is lehet. Például a Fibonacci sorozat elõállítása:

fib = ones (1, 10); for i = 3:10 fib (i) = fib (i-1) + fib (i-2); endfor

Elõször a 3:10 kifejezés értékelõdik ki, amely egy 3 és 10 közötti sorozatot állít elõ.

Az Octave különlegessége, hogy struktúra elemekre is lehet for ciklust írni. Ennek formája:

for [val, key] = kifejezés törzs endfor

ahol a val és a key értékek a struktúra megfelelõ elemének nevét és értékét veszik fel, addig, amíg el nem fogynak az elemek. Pl. az
x.a = 1 x.b = [1, 2; 3, 4] x.c = "szöveg" for [val, key] = x key val endfor

utasítás-sorozat a következõ eredményt adja:
key = a val = 1 key = b val = 1 2 3 4 key = c val = szöveg

A while ciklus

while feltétel törzs endwhile

Addig ismételi a törzs végrehajtását, amíg a feltétel igaz. Octave-ban a feltétel lehet egy vektor vagy egy mátrix is, ebben az esetben a feltétel akkor igaz, ha a vektor minden eleme igaz (nem nulla).

A break és a continue

A while illetve for ciklusokból a vezérlõfeltétel hamissá válása elõtt ki lehet ugrani a break utasítás segítségével. Ilyenkor vezérlés a ciklus utáni elsõ utasításra ugrik.

A continue utasítás hatására a következõ iterációtól folytatódik a program, a continue utáni ciklustörzs részt átugorva.

Do-until szerkezet

Bár elavult, de a nyelv még lehetõséget nyújt hátulról tesztelõs ciklusok írására is.

do body until (condition)