2. ПОВТОРЕННЯ
Фрагмент алгоритму, у якому одна або кілька
команд можуть виконуватися більше ніж один раз,
називається циклом. Алгоритм, який містить
цикл, називається алгоритмом із циклом, або
алгоритмом з повторенням.
Для організації повторення дій (циклів) при
записі алгоритмів мовою Pascal (середовище
Lazarus) використовують три різновиди
операторів циклу:
з параметром
або цикл з
лічильником
з передумовою з післяумовою
3. ЦИКЛ З ЛІЧИЛЬНИКОМ
В PASCAL
Команда циклу з лічильником (параметром).
Її доцільно використовувати в тих
випадках, коли кількість повторень команд
тіла циклу відома ще до початку виконання
команди циклу. Загальний вигляд цієї команди
такий:
for <ім'я змінної> := <вираз1> to
<вираз2> do
begin
<команди тіла циклу>
end;
Якщо тіло циклу складається лише з однієї команди,
операторні дужки begin та end можна не ставити.
4. ДЛЯ ТИХ, ХТО
ВИВЧАЄ PYTHON
Загальний вигляд команди циклу з лічильником у мові
Python такий:
for <ім’я змінної> in range (<кількість повторень>):
<команди тіла циклу>
Рядок for <ім’я змінної> in range (<кількість повторень>)
називається рядком заголовка команди циклу з
лічильником. Змінна в рядку заголовка команди циклу з
лічильником називається лічильником циклу.
Функція range (<кількість повторень>) генерує набір
послідовних цілих чисел, перше з яких 0, а останнє – на 1
менше від заданої кількості повторень.
5. ЦИКЛ З ЛІЧИЛЬНИКОМ
В PASCAL
Рядок for <ім'я змінної> :=
<вираз1>
to <вираз2> do (англ. for -
для, to - до, do - робити,
виконувати) називають
рядком заголовка команди
циклу з лічильником. Змінну в
рядку заголовка команди циклу
з лічильником, що стоїть
перед знаком присвоювання,
називають лічильником циклу.
6. ЦИКЛ З ЛІЧИЛЬНИКОМ
В PASCAL
Для ілюстрації виконання команди циклу з лічильником
розглянемо проект, в якому обчислюється сума
12 + 22 + 32 + 42.
var i, s: integer; (і- числа 1, 2, 3, 4; s – сума)
begin
s:=0;
for i:=1 to 4 do
s:=s+i*i;
label1.caption:=inttostr(s);
end;
9. ПРАКТИЧНЕ
ЗАВДАННЯ № 2
Скласти проект, в якому потрібно знайти суму перших 100
натуральних чисел.
var i,s: integer;
begin
s:=0;
for i:=1 to 100 do
s:=s+i;
label1.caption:=inttostr(s);
end;