У загальному виді оператор for записується в такий спосіб:
for <лічильник> :=<поч_знач> to <кін_знач> do
begin
// тут оператори, які треба виконати кілька разів
end;
де: <лічильник > - змінна-лічильник числа повторень операторів циклу;
<поч_знач> визначає початкове значення лічильника циклів;
<кін_знач> визначає кінцеве значення лічильника циклів.
Змінна <лічильник>, вираз <поч_знач> і <кін_знач> повинні бути цілого типу. Кількість повторень операторів циклу можна обчислити по формулі
(кін_знач - поч_знач + 1).
Якщо між begin і end є тільки один оператор, то слова begin і end можна не писати.
Якщо початкове значення лічильника більше кінцевого значення, то послідовність операторів між begin і end не буде виконані жодного разу.
Крім того, після кожного виконання операторів тіла циклу лічильник циклів збільшується автоматично. Змінну-лічильник можна використати всередині циклу (але в жодному разі не змінювати).
Масив є набір елементів одного типу, кожний з яких має свій номер, званий індексом (індексів може бути декілька, тоді масив називається багатовимірним). Масиви бувають статистичними, та динамічними. В статистичних масивах, де кількість елементів фіксована, тип масиву конструюється таким чином:
var<ім’я масиву>array [індекс1 .. індекс2] of <базовий тип>;.
У випадках з динамічним масивом, коли кількість елементів невідома, тип задається наступним чином:
var <ім’я масиву>array of <базовий тип>;
Довжину масиву необхідно задати з використанням функції SetLength.
Наприклад: SetLength.(vect,6);
Тип індексу обов'язково є інтервальним і обов'язково повинен задаватися у вигляді а..b, де а і b - константні вирази цілого або символьного типу.
Наприклад:
var
a1,a2: array [1..10] of integer;
До елементів масиву звертаються за допомогою змінних з індексами: a1[3]:=a2[5];
Помилка, що найчастіше зустрічається при роботі з масивами - вихід за межі зміни індексу.