Цикли з заданою кількістю повторень називають також циклами з лічильником. Число повторень тіла циклу в цьому випадку рахується за допомогою спеціальної змінної (лічильника), для якої відомі початкові та кінцеві (порогові) значення, а також крок зміни. Управління циклом виконується за допомогою порівняння поточних значень лічильника з заданим порогом. Змінну лічильника часто називають параметром циклу, а сам цикл -циклом з параметром.
Оператор циклу з параметром (for) має два види. Розглянемо перший: for<параметр> := <вираз 1> to<вираз 2> do<оператор 1>; Тут for(для), to(до), do(виконати) - зарезервовані (службові) слова; параметр - це змінна цілого, символьного, логічного або перерахованого типу, крім дійсного, а вирази 1 і 2 - це деякі константи такого ж самого типу, що й параметр вказівки які задають початкове та кінцеве значення параметра.
Дія команди. Параметру циклу присвоюється значення виразу 1. Якщо це значення менше, або рівне, ніж значення виразу 2, то виконується оператор 1. Після виконання оператору 1 значення параметра автоматично збільшується на 1 і знову порівнюється зі значенням виразу 2 і т.д. Коли значення параметра стане більшим, ніж значення виразу 2, то виконується наступна після циклу команда. Якщо під час першого порівняння виявиться, що значення виразу 1 більше ніж значення виразу 2, то тіло циклу не виконається жодного разу.
Блок-схема циклу з параметром має вигляд:

Примітка.
1. Вказівку повторення з параметром зручно використовувати в тих випадках, коли попередньо можна визначити кількість повторень.
2. Параметр циклу повинен бути описаним у розділі змінних.
3. Значення параметру циклу після закінчення виконання вказівки повторення володіє кінцевим значенням, тому перед повторним його ви користуванням йому необхідно знову присвоїти нове початкове значення.
4. Після службового слова do може стояти тільки один оператор. Якщо ж у циклі необхідно виконати групу операторів, то їх замикають в оператори! дужки begin … end.
Приклад. Нехай s = 0. Після виконання команди циклу fori:= 4 to6 do begins:=s+i; z:=2*i end;змінна s набуде значення 0+4+5+6=15, а змінна z =12.
Зауваження. Значення параметра в середині циклу змінювати не можна.
Розглянемо другий різновид команди циклу for: for<параметр> := <вираз 1> downto<вираз 2> do<оператор 1>;
Ця команда діє як попередня, але значення параметра зменшується на 1 (downto- вниз до).
Приклад. Нехай s= 0. Після виконання команди циклу fori:= 6 do downto4 begins:=s+i z:=2*i end;змінна s набуде значення 0+6+5+4=15, а змінна z = 8.
Задача 1. Побудувати таблицю відповідності між унціями та грамами, якщо 1 унція = 28,353495 г. Початкове значення кількості унцій (uncia), крок зміни (krok) цього значення та кількість рядків (kil) у таблиці задати самостійно у режимі діалогу.
programMira;
usesCrt;
constline = ‘ ’;
varuncia, gramy, krok: i, kil: integer;
Begin
clrscr;
write(‘Введіть початкове значення, крок зміни та’);
writeln(‘ кількість рядків у таблиці’);
readln(uncia, krok, kil);
writeln; {Формуємо порожній рядок}
writeln(line); {Формуємо заголовок таблиці}
writeln(‘Унції Грами’);
writeln(line);
fori:=1 tokil do{Виводимо таблицю на екран}
Begin
gramy:=28,353495*uncial;
writeln(uncia:5:2,’ ‘ gramy: 10:6);
uncial :=uncif+krok;
end;
writeln(line); readln
End.
Задача 2. Обчислити значення виразу, що містить суму і добуток

programSumaDobutok; usesCrt; vari: integer;
suma, dob, y: real;
fact: longint;
Begin
clrscr;
suma:=0; {Спочатку сума дорівнює нулю, а добуток одиниці}
dob:=1;
fact:=1;
fori:= 1 to25 do begin
fact:= fact*i; {Обчислюємо г/=1*2*3*…*г}
suma: = suma+5*sqr(i)/fact; {Обчислюємо суму та}
dob:=dob*sqr(i); {добуток}
end;
y:=suma+dob;
writeln(‘y=’, y:7:2);
readln
End.
Блок-схема алгоритму задачі1
