Lykkja (forritun)
Lykkja eða slaufa í forritun er forritsbútur sem er skrifaður einu sinni, en svo framkvæmdur oft í röð. Fjöldi endurtekninga getur ráðist af talningu eða skilyrði. Lykkjur sem byggja á talningu nefnast FOR lykkjur, en þær sem byggjast á skilyrði nefnast WHILE lykkjur og DO lykkjur.
FOR lykkjur
[breyta | breyta frumkóða]Dæmigerð FOR lykkja hefur teljara sem byrjar í 0 eða 1 og hækkar um einn í hvert skipti sem lykkjan er endurtekin, alveg þangað til settu hámarki er náð. Forritarinn ákveður sjálfur hvað teljarinn heitir, algengast er að nota bókstafinn i.
FOR i = 1 TO N PRINT (i) NEXT i
Kóðinn hér að ofan myndi prenta allar tölur frá 1 upp í N. Í þessu dæmi er bara ein skipun inni í lykkjunni, en þær mega vera margar.
Flóknari FOR lykkjur
C/C++
Hér að neðan sést hvernig hægt er að skilgreina fleiri en eina staðværa breytu í FOR-lykkju í C/C++ og að ekki þarf endilega að færa lykkju upp þótt að það sé hefðin. Þessi lykkja er hinsvegar farin að verða hættulega flókin og ætti því að forðast í flestum tilfellum.
const int MAX = 500; for (int i = 1000, int n = 0; i < MAX; i--) { n = (1+MAX % i); }
Java 5.0
Hér að neðan sést hvernig hægt er að þræða í gegnum einhvern lista af hlutum með for-lykkju í Java 5.0.
Vector aListi<wikiHlutur> = faLista(); for (wikiHlutur aHlutur: aListi) { aHlutur.toString(); }
WHILE og DO lykkjur
[breyta | breyta frumkóða]WHILE lykkja skoðar tiltekið skilyrði og endurtekur lykkjuna svo lengi sem skilyrðið er satt. DO lykkja er alveg eins og WHILE lykkja, nema að hún athugar skilyrðið í lok lykkjunnar og því er öruggt að DO lykkja framkvæmist að minnsta kosti einu sinni.
While lykkja í VB/ASP:
while (rsGogn.eof == false) Response.write rsGogn.nafn rsGogn.moveNext wend
While lykkjan getur skrifað út nafnið 0 til n sinnum, þar sem n er fjöldi færslna sem rsGogn geyma. Algeng mistök við notkun while-lykkja er að tryggja að lykkjuskilyrðið verði einhverntíman ósatt. Þegar þessi mistök verða fyrir hendi festist keyrsla ferlisins í óendalegri lykkju. Að geta séð fyrir að þetta komi til með að gerast nefnist stöðvunarvandamál.