Багато задач розв’язуться за допомогою циклів. Тобто в тих задачах одні і ті самі дії повторюються декілька разів. Це може бути таблиця значень функцій, знаходження суми тощо. В мові Delphi аналогічно як і в мові Pascal є такі види циклів: цикл для (for), цикл поки (while), цикл повторити (Repeat).
1. Цикл “для” (FOR).
Цикл “для” for використовується в тому випадку, якщо деяку послідовність дій (інструкцій програми) треба виконати кілька разів, причому число повторень наперед відоме.
В загальному вигляді інструкція for записується таким чином:
for лічильник := поч_знач to кін_знач do
begin
// тут інструкції, які треба виконати кілька разів
end;
де:
лічильник — змінна-лічильник числа повторень інструкцій циклу;
- поч_знач-- вираз, визначальне початкове значення лічильника циклів;
- кін_знач — вираз, визначальне кінцеве значення лічильника циклів.
Змінна лічильник, вирази поч_знач і кін_знач повинні бути цілого типу.Кількість повторень інструкцій циклу можна обчислити по формулі (кон_знач — нач_знач + 1).
Приклади:
for i:=l to 10 do begin
label1.caption:=label1.caption + '*'; end;
for i: =1 to n do s := s+i;
2. Цикл “поки” (WHILE).
Інструкція (цикл) while використовується в тому випадку, якщо деяку послідовність дій (інструкцій програми) треба виконати кілька разів, причому необхідне число повторень під час розробки програми невідомо і може бути визначено тільки під час роботи програми.Типовими прикладами використовування циклу while є обчислення із заданою точністю, пошук в масиві або у файлі.
В загальному вигляді інструкція while записується таким чином:
while умова do
begin
// тут інструкції, які треба виконати кілька разів
end;
де умова — вираз логічного типу, визначальна умова виконання інструкцій циклу.
1. Інструкція while виконується таким чином:
2. Спочатку обчислюється значення виразу умова.
3. Якщо значення виразу умова рівно False (умова не виконується), то на цьому виконання інструкції while завершується.
4. Якщо значення виразу умова рівно True (умова виконується), то виконуються розташовані між begin і end інструкції тіла циклу. Після цього знову перевіряється виконання умови. Якщо умова виконується, то інструкції циклу виконуються ще раз. І так до тих пір, поки умова не стане помилковою (False).
3. Цикл “повторити” (REPEAT).
Інструкція repeat, як і інструкція while, використовується в програмі в тому випадку, якщо необхідно виконати повторні обчислення (організувати цикл), але число повторень під час розробки програми невідомо і може бути визначено тільки під час роботи програми, тобто визначається ходом обчислень.
В загальному вигляді інструкція repeat записується таким чином:
repeat
// інструкції
unti1 умова
де умова — вираз логічного типу, визначальна умова завершення циклу.
Інструкція repeat виконується таким чином:
1. Спочатку виконуються що знаходяться між repeat і until інструкції тіла циклу.
2. Потім обчислюється значення виразу умова. Якщо умова помилковa (значення виразу умова рівно False), то інструкції тіла циклу виконуються ще раз.
3. Якщо умова істинно (значення виразу умова рівно True), то виконання циклу припиняється.
Таким чином, інструкції циклу, що знаходяться між repeat і unti1, виконуються до тих пір, поки умова не виконується (значення виразу умова
рівно False).
Проект 1.
Розглянемо задачу на знаходження суми чисел: S=1+2+3+…+100.
Форма буде такою:
Код процедури:
procedure TForm1.Button1Click(Sender: TObject);
var p,k,s,i:integer;
begin
p:=StrToInt(Edit1.text);
k:=StrToInt(Edit2.text);
s:=0;
for i := p to k do
begin
s:=s+i;
end;
Edit3.Text:=IntToStr(s);
end;
Проект 2.
Таблиця переводу гривень в долари США, якщо курс 13,90.
Форма для проекту.
Код процедури: