\(\renewcommand{\vec}[1]{\mathbf{#1}} \DeclareMathOperator*{\sijoitus}{\Big/} \newcommand{\eval}[2]{\sijoitus_{\kern-0.7em#1}^{\kern0.7em#2}\!} \)

5.3.4 Toistolause

Toistolause on työkalu, jonka avulla tietokoneiden nopeus saadaan käyttöön. Tietokone on loistava toistamaan samanlaisia tehtäväketjuja (algoritmeja), eikä se kyllästy koskaan. Samalla ohjelmoija säästää suuresti aikaa ja vaivaa.

Kirjoitetaan hieman monimutkaisempi ohjelma, jossa hyödynnetään toistolausetta. Seuraava ohjelma kirjoittaa luvun 15 kertotaulun:

<script type="text/javascript"> var max = 15; var teksti = ""; for (i = 1; i <= max; i++) { teksti += i+" kertaa "+ max+" = "+i*max+"<br />"; } document.write(teksti); </script>

Koodin idean selitys

Muuttuja määritellään avainsanan var (engl. variable = muuttuja) avulla.

Muuttuja max on tässä sitä varten, että sen avulla on helppo muuttaa ohjelman toimintaa. Muuttuja ei ole välttämätön, mutta nyt riittää muuttaa muuttujan arvo vaikkapa luvuksi 20, niin ohjelma tulostaakin 20:n kertotaulun. Jos muuttujaa ei olisi, pitäisi luku muuttaa kolmeen kohtaan koodissa.

Muuttuja teksti sisältää sen merkkijonon (tekstin), joka halutaan kirjoittaa nettisivulle.

Koodin selitys rivi riviltä:

KoodiSelitys
<script type="text/javascript"> Aloittaa javascript-osuuden.
var max = 15; Muuttujan max esittely. Arvoksi asetetaan 15.
var teksti = ""; Muuttujan teksti esittely. Arvo on alussa tyhjä merkkijono.
for (i = 1; i <= max; i++) Toistolause: (muuttujan i alustus [i:lle annetaan arvo 0]; toistoehto [i:n täytyy olla pienempi kuin max]; kierroksen lopussa tehtävä toimenpide [i:tä kasvatetaan yhdellä])
{ Aaltosulku aloittaa uuden ohjelmalohkon (ohjelman osa, jota tässä tapauksessa toistetaan)
teksti += i+" kertaa "+ Muuttujaan teksti lisätään muuttujan i arvo sekä sana "kertaa". Huomaa plus- ja lainausmerkkien käyttö!
max+" = "+i*max+"<br />"; Edellinen rivi jatkuu: lisätään tekstiin muuttujan max arvo, "="-merkki ja kertolaskun "i kertaa max" arvo. Lopuksi lisätään vielä rivinvaihto, jotta tulostukset tulevat eri riveille.
} Aaltosulku päättää ohjelmalohkon.
document.write(teksti); Tämä komento kirjoittaa teksti-muuttujan arvon nettisivulle.
</script> Lopettaa javascript-osuuden.