Home

Forsilmukka

Forsilmukka, tai for-silmukka, on ohjelmointikielen ohjausehto, jolla voidaan toistaa samaa koodilohkoa ennalta määrätyn määrän kierroksia tai niin kauan kuin ehto toteutuu. Se on yleinen rakennelma imperatiivisissa kielissä ja soveltuu erityisesti numeerisiin toistoihin sekä taulukko- tai lista-alkioiden läpikäymiseen.

Rakenne ja syntaksi vaihtelevat kielestä riippuen. Usein for-silmukka koostuu kolmesta osasta: alustus, ehto ja päivitys. Esimerkiksi

Käyttökohteita ovat muun muassa määrällinen toisto (toistetaan koodia tietynkertaa), taulukon tai listan läpikäyminen indeksin avulla, sekä

Variantteja ovat esimerkiksi for-each- tai foreach-silmukat, joissa iteroidaan suoraan kokoelmasta ilman laskurin arvoa, sekä sisäkkäiset for-silmukat

C-tyylisessä
kielessä
for
(int
i
=
0;
i
<
n;
i++)
{
...
}
suoritetaan
niin
kauan
kuin
ehto
i
<
n
toteutuu,
ja
jokaisen
kierroksen
lopussa
suoritetaan
päivitys
i:n
inkrementoinnille.
Pythonissa
vastaava
rakenne
on
for
i
in
range(n):,
jossa
range(n)
tuottaa
luvut
0,
1,
...,
n-1
ja
sisäinen
lohko
suoritetaan
jokaiselle
arvolle.
algoritmien
vaiheittainen
etenevä
suoritus.
For-silmukka
on
yleensä
O(n)
-ajan
monimutkainen,
jos
kierroksia
on
n,
mutta
todellinen
monimutkaisuus
riippuu
käytetystä
sisäisestä
työstä
ja
ehtojen
toteutumisesta.
monidimensionaalisissa
rakenteissa.
Ongelmat
voivat
syntyä,
jos
ehtoja
ei
päivitetä
oikein
tai
kierrokset
johtavat
loputtomaan
toistoon.
Forsilmukka
on
perusväline
ohjelmoinnin
toistojen
hallintaan
ja
erittelee
usein
toistettavan
työn
selkeän
rakenteen.