Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
1. vihje.
Ülesande lahendamiseks tuleb läbi mõelda, milles ülesanne seisneb. Kui ülesandest aru ei saa, siis on suhteliselt vähe lootust, et lahendamine välja tuleb. Püüame mõelda, kuidas me lahendaksime selle ülesande ilma arvutita.
Kui me oleme liiga palju matemaatikat õppinud, siis võib tekkida mõte, et tegemist on aritmeetilise jadaga ja sellel on summa valem ja ... See on hea mõte, aga ei kasuta tsüklit.
Püüame nüüd tsüklilise lahendamise peale mõelda. Meil on vaja liita kokku arvud alates 1 kuni teatud arvuni. Olgu selleks arvuks näiteks 5. Muidugi peame programmi lõpuks selliseks saama, et 5 asemel on kasutaja poolt sisestatud arv. Seda summeerimist on võimalik teha nii alates arvust 1 ja lõpetades arvuga 5 või ka alates arvust 5 ja lõpetades arvuga 1.
Kui oleme selle otsuse teinud, siis saame täpsemalt mõelda, mis tsükli igal sammul toimub. Püüame summeerida alates arvust 1 suuremate arvude poole. Kõigepealt on meil siiski vaja muutujat, mille väärtusesse summat "koguda". Olgu selleks muutuja summa
. Algväärtuseks võtame 0.
summa = 0
See muutuja tuleb mängu võtta enne tsüklit. Tsükli igal sammul peame sinna siis midagi juurde liitma. Esimesel sammul 1, teisel sammul 2 ja kolmandal 3 jne. Tsükli jätkamistingimuses peame tagama, et samme oleks täpselt parasjagu.
Kuidas saada nii, et see liidetav arv nii muutuks. Võtame selleks ühe muutuja veel, näiteks i
. Algväärtuseks võtame 1.
i = 1
Ja siis edasi ...