SlideShare a Scribd company logo
1 of 5
Download to read offline
Лекція Кількість годин 2
«Оператор циклу з параметром»
Оператор циклу з лічильником (з параметром) for
Оператор циклу з лічильником підходить для програмування тільки таких
циклічних фрагментів, у яких до виконання циклу відомі початкове й кінцеве
значення лічильника повторень циклу. Це обумовлює його менш широку сферу
застосування, чим більше універсальних операторів while і repeat. Однак у тих
випадках, коли його використання можливо, оператор for, завдяки своїй високій
наочності, має безсумнівну перевагу перед операторами циклу з умовами.
Спрощено загальну структуру оператора циклу з лічильником можна
представити одним з наступних способів.
1) Якщо лічильник при виконанні циклу нарощує своє значення:
for Змінна := Початкове Значенхя Лічильника to Кінцеве Значення Лічильника do
ОператорЩоб Оператор ВИКОНАВСЯ ХОЧА б ОДИН раз Початкове Значенхя
Лічильника повинне бути не більше, ніж Кінцеве Значення Лічильника.
2) Якщо лічильник при виконанні циклу зменшує своє значення:
for Змінна := Початкове Значенхя Лічильника downto Кінцеве Значення Лічильника
do ОператорЩоб Оператор ВИКОНАВСЯ ХОЧА б ОДИН раз
ПочатковеЗначенхяЛічильника ПОВИННЕ бути не менше, ніж
КінцевеЗначенняЛічильника.
Приклад.
Begin
. . .
Summa := 0;
for i := 1 to n do
Summa := Summa + A[i] ;
. . .
end.
Помітимо, що для оператора for, на відміну від while і repeat, установка
початкового значення лічильника циклів (i:=l) виконується не перед заголовком
циклу, а прямо в заголовку. Крім того, після закінчення тіла циклу нарощування/
зменшення значення лічильника відбувається автоматично. Таким чином,
спеціальний оператор для збільшення значення лічильника (i:=i+l) не потрібний.
Більше того, такий оператор приведе до неправильної роботи циклу.
Приклад з помилкою.
У більшості реалізацій мови Pascal зміна значень змінних, використовуваних у
заголовку циклу for, заборонене й приводить до видачі повідомлення про помилку
на етапі компіляції. У реалізації Turbo Pascal ця заборона знята, однак такі дії в
рамках циклу for, як правило, приводять до його непередбаченого поводження й
вважаються поганим стилем програмування.
В Turbo Pascal, також як і у всіх інших реалізаціях мови Pascal, оператор for
має два істотних обмеження:
1)Крок зміни лічильника циклів може бути тільки або +1 (якщо
використається ключове слово to), або -1 (якщо використається ключове слово
downto).
2)Змінна, що виступає в ролі лічильника циклів, може бути тільки
порядкового типу й повинна бути локальною для того блоку, у якому перебуває
оператор for.
Цикл із лічильником (із покроковою зміною аргументу) — це цикл, у якому
тіло циклу виконується заздалегідь відому кількість разів. У різних алгоритмічних
мовах реалізація цього циклу може передбачати використання аргументів різних
типів, зміну аргументу на різний крок, діапазон зміни аргументу і т. д.
Цикл із лічильником аргументу реалізовується таким чином:
1) аргументу надається початкове значення;
2) якщо значення входить у заданий діапазон, то виконується тіло циклу;
Begin
. . .
Summa := 0;
for i := 1 to n do
Begin
Summa := Summa + A[i] ;
i := i + 1 ← Помилка!
end '
end.
3) аргумент змінюється на заданий крок; виконується 2);
4) якщо значення не входить у заданий діапазон, то виконання циклу припиняється і
керування передається оператору, наступному за оператором циклу.
Загальний вигляд оператора циклу з параметром (з лічильником):
for <параметр циклу>:=N1 to N2 do <тіло циклу >;
де N1 та N2 - початкове та кінцеве значення параметра циклу, тіло циклу може бути
простим або складеним оператором. <Параметр циклу > ще називають
лічильником циклу. Оператор for забезпечує виконання тіла циклу до тих пір, поки
не будуть перебрані всі значення параметра циклу від початкового до кінцевого.
Параметр циклу, його початкове та кінцеве значення повинні бути одного і того ж
скалярного типу. При цьому можливий будь який стандартний тип, крім real.
Якщо N1 та N2 цілі числа, а параметр циклу - цілочисельна змінна, то крок завжди
рівний одиниці.
Приклад.
s:=0; for i:=1 to 20 do s:=s+i;
Для i=1, 2, 3,... , 20 буде виконуватись оператор присвоєння
S:=S+i, який накопичує в змінній S суму перших 20 натуральних чисел. Якщо N1 та
N2-символьного типу, а їх значення відповідно рівні 'A' та 'Z', то параметр циклу
прийматиме послідовні значення, які співпадають з алфавітом: A, B, C, D E .., Z.
Структура оператору циклу з параметром
Оператори циклу з параметром бувають двох типів:
1. З параметром i, що збільшується від start до finish (з кроком 1)
For i:=start to finish do
Begin s1; s2; s3; … end;
2. З параметром i, що зменшується від start до finish (з кроком -1)
For i:=start downto finish do
Begin s1; s2; s3; … end;
Тут:
For, to, downto, do – зарезервовані слова.
i – змінна
start, finish – сталі, змінні або вирази
Begin, end – операторні дужки
s1; s2; s3 – будь-якіоператори
Термінологія
1. Параметр циклу (у прикладі i) - будь-яка змінна цілого (byte, Integer, word,
longint,…) або символьного типу (char).
2. Початкове значення параметру (у прикладі start) – стала, змінна або вираз
того ж типу, що й параметр.
3. Кінцеве значення параметру (у прикладі finish) – стала, змінна або вираз
того ж типу, що й параметр.
4. Заголовок циклу вказує, скільки разів буде виконуватись тіло циклу.
Заголовок циклу:
o For i:=start to finish do або
o For i:= start downto finish do
5. Тіло циклу – оператори, що повторюються.
Тіло циклу – Begin s1; s2; s3; … end;
6. Кількість витків циклу – кількість повторень тіла циклу.
Написаний вище оператор І типу на блок-схемі відображається так:
Написаний вище оператор ІI типу на блок-схемі відображається так:
В першому операторі крок дорівнює 1, а в другому –1.

More Related Content

What's hot

вказівки повторення і розгалуження
вказівки повторення і розгалуженнявказівки повторення і розгалуження
вказівки повторення і розгалуження1cana1
 
Урок 45. Складання циклічних алгоритмів опрацювання величин
Урок 45. Складання циклічних алгоритмів опрацювання величинУрок 45. Складання циклічних алгоритмів опрацювання величин
Урок 45. Складання циклічних алгоритмів опрацювання величинВасиль Тереховський
 
Світ алгоритмів
Світ алгоритмівСвіт алгоритмів
Світ алгоритмівMasunya
 
Базові структури алгоритмів. Конструювання алгоритмів
Базові структури алгоритмів. Конструювання алгоритмівБазові структури алгоритмів. Конструювання алгоритмів
Базові структури алгоритмів. Конструювання алгоритмівAnatolii Barannik
 
урок 19 цикли Складання програм
урок 19 цикли Складання програмурок 19 цикли Складання програм
урок 19 цикли Складання програмHelen Pat
 
Базові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівБазові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівЗоя Муляр
 
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником
 Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильникомВасиль Тереховський
 
урок 12 вирази мова Паскаль
урок 12 вирази  мова Паскальурок 12 вирази  мова Паскаль
урок 12 вирази мова ПаскальHelen Pata
 
програмування на мові паскаль
програмування на мові паскаль програмування на мові паскаль
програмування на мові паскаль Helen Pata
 
основи програмування
основи програмуванняоснови програмування
основи програмуванняMaria Gulko
 

What's hot (15)

вказівки повторення і розгалуження
вказівки повторення і розгалуженнявказівки повторення і розгалуження
вказівки повторення і розгалуження
 
цикли в с++
цикли в с++цикли в с++
цикли в с++
 
Урок 45. Складання циклічних алгоритмів опрацювання величин
Урок 45. Складання циклічних алгоритмів опрацювання величинУрок 45. Складання циклічних алгоритмів опрацювання величин
Урок 45. Складання циклічних алгоритмів опрацювання величин
 
8
88
8
 
базовI структури алгоритму урок 4
базовI структури алгоритму урок 4базовI структури алгоритму урок 4
базовI структури алгоритму урок 4
 
Світ алгоритмів
Світ алгоритмівСвіт алгоритмів
Світ алгоритмів
 
Базові структури алгоритмів. Конструювання алгоритмів
Базові структури алгоритмів. Конструювання алгоритмівБазові структури алгоритмів. Конструювання алгоритмів
Базові структури алгоритмів. Конструювання алгоритмів
 
урок 19 цикли Складання програм
урок 19 цикли Складання програмурок 19 цикли Складання програм
урок 19 цикли Складання програм
 
Урок 44. Цикл з післяумовою
Урок 44. Цикл з післяумовоюУрок 44. Цикл з післяумовою
Урок 44. Цикл з післяумовою
 
Базові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівБазові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмів
 
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником
 Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником
 
Урок 43. Цикл з передумовою
Урок 43. Цикл з передумовоюУрок 43. Цикл з передумовою
Урок 43. Цикл з передумовою
 
урок 12 вирази мова Паскаль
урок 12 вирази  мова Паскальурок 12 вирази  мова Паскаль
урок 12 вирази мова Паскаль
 
програмування на мові паскаль
програмування на мові паскаль програмування на мові паскаль
програмування на мові паскаль
 
основи програмування
основи програмуванняоснови програмування
основи програмування
 

Similar to Operator cikly z napametpom

Similar to Operator cikly z napametpom (20)

war8klasdist3.pptx
war8klasdist3.pptxwar8klasdist3.pptx
war8klasdist3.pptx
 
поняття циклу 11
поняття циклу 11поняття циклу 11
поняття циклу 11
 
4
44
4
 
Урок 55 8 клас
Урок 55 8 класУрок 55 8 клас
Урок 55 8 клас
 
8 клас урок 41
8 клас урок 418 клас урок 41
8 клас урок 41
 
+6 for
+6 for+6 for
+6 for
 
Цикл з передумовою
Цикл з передумовоюЦикл з передумовою
Цикл з передумовою
 
БазовI структури алгоритмiв. конструювання алгоритмiв
БазовI структури алгоритмiв. конструювання алгоритмiвБазовI структури алгоритмiв. конструювання алгоритмiв
БазовI структури алгоритмiв. конструювання алгоритмiв
 
8 20
8 208 20
8 20
 
Konspekt uroku
Konspekt urokuKonspekt uroku
Konspekt uroku
 
Урок 53 8 клас
Урок 53 8 класУрок 53 8 клас
Урок 53 8 клас
 
Povtorennya(dist zavd8 klass)
Povtorennya(dist zavd8 klass)Povtorennya(dist zavd8 klass)
Povtorennya(dist zavd8 klass)
 
26032020
2603202026032020
26032020
 
11 клас 3 урок
11 клас 3 урок11 клас 3 урок
11 клас 3 урок
 
3
33
3
 
3
33
3
 
Operator perehody
Operator perehodyOperator perehody
Operator perehody
 
Tema 9
Tema 9Tema 9
Tema 9
 
Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++
 
Урок 56 8 клас
Урок 56 8 класУрок 56 8 клас
Урок 56 8 клас
 

More from metallurg056 (20)

polojentya2022.pdf
polojentya2022.pdfpolojentya2022.pdf
polojentya2022.pdf
 
prpriyomy20222222.pdf
prpriyomy20222222.pdfprpriyomy20222222.pdf
prpriyomy20222222.pdf
 
PR4 PM.pdf
PR4 PM.pdfPR4 PM.pdf
PR4 PM.pdf
 
struktura fondy.pdf
struktura fondy.pdfstruktura fondy.pdf
struktura fondy.pdf
 
Formi oplati npaci.pdf
Formi oplati npaci.pdfFormi oplati npaci.pdf
Formi oplati npaci.pdf
 
pr311.pdf
pr311.pdfpr311.pdf
pr311.pdf
 
pr#10.pdf
pr#10.pdfpr#10.pdf
pr#10.pdf
 
rentabelnist.pdf
rentabelnist.pdfrentabelnist.pdf
rentabelnist.pdf
 
Pributok
PributokPributok
Pributok
 
Dohid
DohidDohid
Dohid
 
#9 pr hti
#9 pr hti#9 pr hti
#9 pr hti
 
№10 pr
№10 pr№10 pr
№10 pr
 
Instruktaj
InstruktajInstruktaj
Instruktaj
 
Nakazd
NakazdNakazd
Nakazd
 
Pr#9
Pr#9Pr#9
Pr#9
 
Pr#1
Pr#1Pr#1
Pr#1
 
Pr#1 ekonomika
Pr#1 ekonomikaPr#1 ekonomika
Pr#1 ekonomika
 
Pravilapriyomu2022
Pravilapriyomu2022Pravilapriyomu2022
Pravilapriyomu2022
 
Lr6
Lr6Lr6
Lr6
 
Lr 6
Lr 6Lr 6
Lr 6
 

Recently uploaded

матеріал для 10 класу урок історія України
матеріал для 10 класу урок історія Україниматеріал для 10 класу урок історія України
матеріал для 10 класу урок історія Україниssuserfbff20
 
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"tetiana1958
 
аналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.pptаналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.pptJurgenstiX
 
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptxоцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptxbagniylarisa15
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfhome
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdfhome
 
psychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptpsychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptOlgaDidenko6
 
Проблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняПроблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняtetiana1958
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxOlgaDidenko6
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfssuser15a891
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxOlgaDidenko6
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класkrementsova09nadya
 
Defectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxDefectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxOlgaDidenko6
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptxssuserc301ed1
 
Горбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxГорбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxOlgaDidenko6
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxOlgaDidenko6
 

Recently uploaded (16)

матеріал для 10 класу урок історія України
матеріал для 10 класу урок історія Україниматеріал для 10 класу урок історія України
матеріал для 10 класу урок історія України
 
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
 
аналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.pptаналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.ppt
 
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptxоцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdf
 
psychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptpsychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.ppt
 
Проблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняПроблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішення
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 клас
 
Defectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxDefectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptx
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
 
Горбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxГорбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptx
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 

Operator cikly z napametpom

  • 1. Лекція Кількість годин 2 «Оператор циклу з параметром» Оператор циклу з лічильником (з параметром) for Оператор циклу з лічильником підходить для програмування тільки таких циклічних фрагментів, у яких до виконання циклу відомі початкове й кінцеве значення лічильника повторень циклу. Це обумовлює його менш широку сферу застосування, чим більше універсальних операторів while і repeat. Однак у тих випадках, коли його використання можливо, оператор for, завдяки своїй високій наочності, має безсумнівну перевагу перед операторами циклу з умовами. Спрощено загальну структуру оператора циклу з лічильником можна представити одним з наступних способів. 1) Якщо лічильник при виконанні циклу нарощує своє значення: for Змінна := Початкове Значенхя Лічильника to Кінцеве Значення Лічильника do ОператорЩоб Оператор ВИКОНАВСЯ ХОЧА б ОДИН раз Початкове Значенхя Лічильника повинне бути не більше, ніж Кінцеве Значення Лічильника. 2) Якщо лічильник при виконанні циклу зменшує своє значення: for Змінна := Початкове Значенхя Лічильника downto Кінцеве Значення Лічильника do ОператорЩоб Оператор ВИКОНАВСЯ ХОЧА б ОДИН раз ПочатковеЗначенхяЛічильника ПОВИННЕ бути не менше, ніж КінцевеЗначенняЛічильника. Приклад. Begin . . . Summa := 0; for i := 1 to n do Summa := Summa + A[i] ; . . . end.
  • 2. Помітимо, що для оператора for, на відміну від while і repeat, установка початкового значення лічильника циклів (i:=l) виконується не перед заголовком циклу, а прямо в заголовку. Крім того, після закінчення тіла циклу нарощування/ зменшення значення лічильника відбувається автоматично. Таким чином, спеціальний оператор для збільшення значення лічильника (i:=i+l) не потрібний. Більше того, такий оператор приведе до неправильної роботи циклу. Приклад з помилкою. У більшості реалізацій мови Pascal зміна значень змінних, використовуваних у заголовку циклу for, заборонене й приводить до видачі повідомлення про помилку на етапі компіляції. У реалізації Turbo Pascal ця заборона знята, однак такі дії в рамках циклу for, як правило, приводять до його непередбаченого поводження й вважаються поганим стилем програмування. В Turbo Pascal, також як і у всіх інших реалізаціях мови Pascal, оператор for має два істотних обмеження: 1)Крок зміни лічильника циклів може бути тільки або +1 (якщо використається ключове слово to), або -1 (якщо використається ключове слово downto). 2)Змінна, що виступає в ролі лічильника циклів, може бути тільки порядкового типу й повинна бути локальною для того блоку, у якому перебуває оператор for. Цикл із лічильником (із покроковою зміною аргументу) — це цикл, у якому тіло циклу виконується заздалегідь відому кількість разів. У різних алгоритмічних мовах реалізація цього циклу може передбачати використання аргументів різних типів, зміну аргументу на різний крок, діапазон зміни аргументу і т. д. Цикл із лічильником аргументу реалізовується таким чином: 1) аргументу надається початкове значення; 2) якщо значення входить у заданий діапазон, то виконується тіло циклу; Begin . . . Summa := 0; for i := 1 to n do Begin Summa := Summa + A[i] ; i := i + 1 ← Помилка! end ' end.
  • 3. 3) аргумент змінюється на заданий крок; виконується 2); 4) якщо значення не входить у заданий діапазон, то виконання циклу припиняється і керування передається оператору, наступному за оператором циклу. Загальний вигляд оператора циклу з параметром (з лічильником): for <параметр циклу>:=N1 to N2 do <тіло циклу >; де N1 та N2 - початкове та кінцеве значення параметра циклу, тіло циклу може бути простим або складеним оператором. <Параметр циклу > ще називають лічильником циклу. Оператор for забезпечує виконання тіла циклу до тих пір, поки не будуть перебрані всі значення параметра циклу від початкового до кінцевого. Параметр циклу, його початкове та кінцеве значення повинні бути одного і того ж скалярного типу. При цьому можливий будь який стандартний тип, крім real. Якщо N1 та N2 цілі числа, а параметр циклу - цілочисельна змінна, то крок завжди рівний одиниці. Приклад. s:=0; for i:=1 to 20 do s:=s+i; Для i=1, 2, 3,... , 20 буде виконуватись оператор присвоєння S:=S+i, який накопичує в змінній S суму перших 20 натуральних чисел. Якщо N1 та N2-символьного типу, а їх значення відповідно рівні 'A' та 'Z', то параметр циклу прийматиме послідовні значення, які співпадають з алфавітом: A, B, C, D E .., Z. Структура оператору циклу з параметром Оператори циклу з параметром бувають двох типів: 1. З параметром i, що збільшується від start до finish (з кроком 1) For i:=start to finish do Begin s1; s2; s3; … end; 2. З параметром i, що зменшується від start до finish (з кроком -1) For i:=start downto finish do Begin s1; s2; s3; … end; Тут: For, to, downto, do – зарезервовані слова. i – змінна
  • 4. start, finish – сталі, змінні або вирази Begin, end – операторні дужки s1; s2; s3 – будь-якіоператори Термінологія 1. Параметр циклу (у прикладі i) - будь-яка змінна цілого (byte, Integer, word, longint,…) або символьного типу (char). 2. Початкове значення параметру (у прикладі start) – стала, змінна або вираз того ж типу, що й параметр. 3. Кінцеве значення параметру (у прикладі finish) – стала, змінна або вираз того ж типу, що й параметр. 4. Заголовок циклу вказує, скільки разів буде виконуватись тіло циклу. Заголовок циклу: o For i:=start to finish do або o For i:= start downto finish do 5. Тіло циклу – оператори, що повторюються. Тіло циклу – Begin s1; s2; s3; … end; 6. Кількість витків циклу – кількість повторень тіла циклу. Написаний вище оператор І типу на блок-схемі відображається так: Написаний вище оператор ІI типу на блок-схемі відображається так:
  • 5. В першому операторі крок дорівнює 1, а в другому –1.