Juhtimisvoog
Tingimuslaused lasevad programmil teede vahel valida ja tsüklid lasevad tööd korrata ning koos muudavad need kindla käskude loendi millekski, mille käitumine sõltub andmetest.
Practise this conceptÜlevalt alla täidetav käskude loend teeb iga kord sedasama, mis ei ole veel kasulik. Juhtimisvoog on see, mis paneb programmi oma sisendile reageerima. Mehhanisme on ainult kaks: alternatiivide vahel valimine ja kordamine.
Valik on tingimuslause. If–else hindab kontrolli ja täidab täpselt ühe haru — sobiva — ning jätkab seejärel pärast kogu lauset. Mõlemad harud on kirja pandud; ühe läbimise korral toimub ainult üks. Mitme kontrolli ahelasse sidumine on viis, kuidas programm rohkem kui kaht juhtu käsitleb, ja järjekord loeb, sest esimene sobiv haru võidab.
Kordamine on tsükkel ja just seal kohtavad algajad oma esimest tõeliselt ohtlikku
viga. while-tsükkel jätkab seni, kuni selle tingimus kehtib, seega peab miski
keha sees selle tingimuse lõpuks vääraks muutma. Kui miski seda ei tee, ei lõpe
tsükkel kunagi — programm hangub ja ühtegi viga ei teatata. Teadaoleva kogumi
läbiv for-tsükkel on ohutum, sest kogum annab lõpu ette. Just seepärast ei saa
kordade arvu sageli koodilt maha lugeda: kui tsükkel töötab kuni tingimuse
täitumiseni, otsustavad ainult andmed, kui kaua see aega võtab, ja just selle üle
arutlemine — mitte ridade lugemine — on oskus, mida treenitakse.
Key ideas
Requires: Algoritmid ja programmi struktuur
Unlocks: Andmestruktuurid ja algoritmid
Common misconceptions
- Tsükkel, mille tingimus ei muutu kunagi vääraks, peatub lõpuks iseenesest.
- Tsükli kordade arvu saab alati koodilt otse maha lugeda.
- Lause if–else täidab mõlemad harud, üksteise järel.
Resources
Kuulub nende TÜ ainete hulka
See mõiste on kaardistatud järgmis(t)e Tartu Ülikooli õppekava aine(te) osaliseks kattmiseks.
- ProgrammeerimineLTAT.03.001
- Programmeerimise alusedMTAT.03.236
- Programmeerimise alused IIMTAT.03.256