§ 5. Аператар цыкла
5.3 Аператар цыкла з параметрам
Для запісу аператара цыкла з параметрам выкарыстоўваецца каманда for. Фармат каманды: for (<Блок1>; <Блок2>; <Блок3>){ Для арганізацыі работы такога цыкла неабходна апісаць тры аперацыі:
Калі ў целе цыкла for павінен выканацца адзін аператар, тады фігурныя дужкі можна прапусціць. У запісе цыкла for можна прапусціць адзін ці некалькі блокаў, але нельга прапускаць кропку з коскай, якая падзяляе тры складальнікі цыкла (прыклад 5.3). Найбольш распаўсюджаны прыватны выпадак запісу цыкла for, блізкі да запісу аналагічнага цыкла на мове Pascal: for (лічыльнік = значэнне; Лічыльнік цыкла (параметр цыкла) — пераменная, у якой захоўваецца колькасць праходаў дадзенага цыкла. У адрозненне ад Pascal параметр цыкла можа быць рэчыўным і змяняцца з любым значэннем кроку цыкла (прыклад 5.4). Пераменныя, вызначаныя ў загалоўку цыкла for ці ў яго целе, маюць спецыяльны тып вобласці бачнасці: вобласць бачнасці цыкла. Такія пераменныя існуюць толькі ўнутры цыкла і недаступныя за яго межамі. Прыклад 5.5. Напісаць праграму для вываду табліцы множання на зададзены лік x. Этапы выканання задання I. Зыходныя даныя: (уведзены лік). II. Вынік: 9 радкоў выгляду . III. Алгарытм рашэння задачы.
Прыклад 5.6. Напісаць праграму, якая выведзе ўсе двухзначныя лікі ў выглядзе табліцы так, каб у кожным радку гэтай табліцы размяшчаліся лікі аднаго дзясятка. Этапы выканання задання I. Вынік праграмы не залежыць ад зыходных даных. II. Табліца з лікамі. III. Алгарытм рашэння задачы.
|
Прыклад 5.3. Розныя варыянты запісу загалоўка цыкла for:
Калі блок праверкі ўмовы пакінуць пустым, то ўмова заўсёды будзе лічыцца праўдзівай і цыкл будзе выконвацца бясконца. Таму ён павінен будзе быць перапынены якім-небудзь іншым спосабам. У апошнім прыкладзе ў загалоўку цыкла абвешчаны дзве пераменныя, якія па-рознаму змяняюць свае значэнні на кожнай ітэрацыі цыкла. Апошні раз цыкл выканаецца для значэнняў i = 14, j = 29 . Прыклад 5.4. Розныя варыянты запісу загалоўка цыкла for з параметрам:
У загалоўку цыкла прысутнічае блок3, у які можна ўпісваць дзеянні, што праходзяць на кожнай ітэрацыі. Таму ў некаторых выпадках цыкл for можа быць запісаны без каманд цела цыкла. У якасці прыкладу разгледзім некалькі варыянтаў вылічэння сумы першых 10 натуральных лікаў. Варыянт 1
Варыянт 2
Варыянт 3
У першых двух варыянтах, калі пасля цыкла запісаць каманду cout << s; атрымаем значэнне s = 55. Паколькі каманды, змешчаныя ў блоку3, выконваюцца пасля выканання цела цыкла, то ў другім варыянце неабходна лішняя ітэрацыя. У трэцім варыянце вывесці значэнне пераменнай s не атрымаецца, паколькі яе вобласць бачнасці абмежавана цыклам і яе значэнне за межамі цыкла недаступна. Прыклад 5.5. I. Праграма:
II. Тэсціраванне. Прыклад 5.6. V. Праграма:
VI. Тэсціраванне. |