Алгоритмҳои такроршаванда
Дар забони алгоритмӣ дастури такроршавандаро дар намудҳои одӣ ва интихобдор (параметрдор) истифода мебаранд. Алгоритмҳое, ки дар заминаи дастурҳои такроршаванда сохта мешаванд, мувофиқан алгоритмҳои такроршаванда (сиклӣ) ном доранд.
Дастури такроршавандаи одӣ
Тарзи нақшавии иҷрои дастури такроршавандаи одӣ чунин аст:
Мисоли 1. Фарз мекунем, ки яке аз рафҳои китобмонӣ холӣ буда, дар рафи дигар миқдори муайяни китобҳо ҷойгиранд. Талаб карда мешавад, ки бо истифода аз дастури такроршаванда миқдори китобҳои рафҳо баробар тақсим карда шаванд.
Дар ин ҷо ба сифати шарти дастури такроршаванда ҷумлаи «миқдори китобҳои рафҳо баробар нестанд» омадааст.
Дар ибтидо миқдори китобҳои рафҳо баробар нестанд: дар рафи якум якчанд китоб ҳаст, рафи дуюм холӣ аст. Бори аввал шарт риоя мешавад ва иҷрокунанда силсиларо як маротиба иҷро мекунад: як китобро аз рафи якум гирифта, ба рафи дуюм мегузорад. Миқдори китобҳо тағйир меёбад ва шарт аз нав санҷида мешавад. Агар он боз риоя шавад, силсила бори дуюм такрор меёбад. Ин амалиёт то баробар шудани миқдори китобҳои рафҳо такрор меёбад.
Дастури такроршавандаи интихобдор
Калимаи «интихобдор» дар ин ҷо маънои «параметрдор»-ро дорад; онро бо дастури интихоб-и дарси 27 омехта накунед.
Фарқи дастури такроршавандаи параметрдор аз дастури такроршавандаи одӣ дар он аст, ки дар ин ҷо шарт вуҷуд надорад. Ба ғайр аз ин, дар ин ҷо ҳудудҳои тағйирёбии x пешакӣ маълуманд, яъне миқдори такроршавии сиклро иҷрокунанда пешакӣ медонад. Қадами тағйирёбии параметри сикл ба 1 баробар аст.
Ҳангоми дилхоҳ будани қадами тағйирёбии параметр, дастури такроршавандаи интихобдорро дар намуди умумӣ меоранд:
Дар ин ҷо k — қадами тағйирёбии параметри сикл буда, бо кадом бузургӣ тағйир ёфтани x-ро ифода менамояд. Ба тағйирёбандаи x аввал қимати xmin бахшида шуда, силсила иҷро карда мешавад. Баъд қимати x бо бузургии k зиёд карда мешавад ва силсила аз нав иҷро мегардад. Ин раванд то вақти қимати x аз қимати xmax хурд ё ба он баробар будан идома меёбад.
Мисоли 2. Алгоритми ҳисобкунии ҳосили ҷамъи квадрати ададҳои аз 1 то 50 тартиб дода шавад: S = 1·1 + 2·2 + … + 50·50.
Алгоритмро қадам ба қадам иҷро кунед ва бинед, ки i ва S чӣ тавр иваз мешаванд: