Malemängu leiutamise tasu

Tabelite loomine tsüklite abil ja tekstifaili salvestamine: malemängu leiutamise tasu suuruse arvutus.

Malemängu leiutamise kohta on liikvel muinasjutt, mille kohaselt olevat mängu leiutaja nõudnud oma valitsejalt tasu nisuterades. Leiutaja palus malelaua esimese ruudu eest ühe nisutera, teise eest kaks, kolmanda eest neli, neljanda eest kaheksa ja nii edasi, iga ruudu eest kaks korda rohkem teri kui eelmise eest.
Seega võib ruudule asetatud nisuterade arvu leida valemist

kus n on vaadeldava malelaua ruudu number. Niisiis paikneb viimasel, 64 ruudul

nisutera. Kogu nisuterade hulga võib kokku arvutada, kasutades valemit

.

Valem näitab, et tuleb kokku liita järjest kõik kahe astmed kuni arvuni n. Antud juhul 1..64.

Töö andmetega

Kui kasutaja peab töötama andmetega, mis on oma mahult sarnased ülalkirjeldatud nisuterade arvu sisaldava tabeliga, on ebaotstarbekas nõuda kasutajalt sääraste andmete käsitsi programmi sisestamist. Käsitsi sisestamisel on mitmeid puudusi:

Sellistel puhkudel on mõistlikum lasta programmil töötada andmeid sisaldava tekstifailiga (nn. andmefail), mille kasutaja on eelnevalt koostanud. Sellisel juhul on võimalik andmeid muuta andmefailis, kasutada mitut eelnevalt loodud andmefaili, programmi erinevate failidega korduvalt käivitada jne.