ОПЕРАТОРИ ПОВТОРЕННЯ

Алгоритм розв’язання багатьох завдань передбачає для досягнення результату виконання певної послідовності дій кілька разів, тобто, є циклічними. У програмі цикл може бути реалізований за допомогою конструкцій for, while і repeat.

Оператор циклу for … do
Оператор FOR використовується в тому випадку, коли деяку послідовність дій треба виконати кілька разів, причому число повторень заздалегідь відомо.

Загальний вигляд оператора for … do:
for <лічильник>: = <поч_знач> to <кін_знач> do
begin
<Тіло циклу>
End;
де:
лічильник - змінна-лічильник числа повторень;
поч_знач - вираз, що визначає початкове значення лічильника циклу;
кін_знач - вираз, що визначає кінцеве значення лічильника циклу;
тіло циклу - оператори, які будуть повторюватися.
Змінна-лічильник, вирази поч_знач і кін_знач повинні бути цілого типу. Кількість повторень циклу можна обчислити за формулою: кін_знач - поч_знач +1.
Якщо між begin і end знаходиться тільки один оператор, то begin і end можна не писати.
Наприклад, в результаті виконання наступного програмного коду:
tab1:=' ';
for i:= 1 to 5 do
begin
tab1:= tab1 + IntToStr(i) + ' ' + IntToStr(i*i) + chr(13);
end;
Змінна tabl буде відображати таблицю квадратів чисел. Якщо в операторі for замість слова, to записати Downto, то після чергового виконання тіла циклу значення лічильника буде не збільшуватися, а зменшуватися. 

Оператори циклу з умовою while і repeat
Оператори while і repeat використовуються в тому випадку, коли деяку послідовність дій треба виконати кілька разів, причому необхідне число повторень під час розробки програми невідомо і може бути визначено тільки під час роботи програми.
Оператор циклу з передумовою while .. do
Загальний вигляд оператора:
While умова do
begin
<тіло циклу>
end;
де умова - вираз логічного типу, визначальна умова виконання тіла циклу. Оператори тіла циклу виконуються, поки умова не стане хибною (False). 

Оператор циклу з післяумовою repeat… until
Загальний вигляд оператора:
repeat
<тіло циклу>
until умова 
де умова - вираз логічного типу, визначальна умова завершення циклу.
Оператори тіла циклу виконуються доти, поки умова не стане істинною (True).Зверніть увагу на відмінності. В операторі while … do вихід з циклу ВІДБУВАЄТЬСЯ ТОДІ, коли умова стане хибною, а в операторі repeat … until - коли умова стане істинною.

Практична робота
Завдання. Напишіть програму, яка визначить по дохід вкладу з урахуванням обраних простих або складних відсотків. Прості відсотки нараховуються після закінчення терміну вкладу, складні відсотки нараховуються щомісяця і додається до суми вкладу. 
Хід виконання роботи
1. Завантажте Lazarus, створіть новий проект. Збережіть файли проекту в папці Дохід за вкладом.
2. Створіть Інтерфейс за зразком.
3. Напишіть обробник події для кнопки Обчислити.


procedure TForm1.Button1Click(Sender: TObject);
var
sum:real; // сума вкладу
pr: real; // відсоткова ставка
period: integer; // термін вкладу
profit: real; //дохід по вкладу
sum2: real; //сума нарахування //методом складних відсотків
i: integer;
begin
sum:=StrToFloat(Edit1.text);
pr:=StrToFloat(Edit2.text);
period:=StrToInt(Edit3.text);
if RadioGroup1.ItemIndex=0 then
// Вибрано перемикач Прості відсотки
profit:=sum*(pr/100/12)*period
else
// Вибрано перемикач Складні відсотки
begin
sum2:=sum;
for i:=1 to period do
sum2:= sum2+sum2*(pr/100/12);
profit:=sum2-sum;
end;
sum:=sum+profit;
Label4.Visible:=True;
Label4.Caption:='Дохід: '+FloatToStrF(profit,ffFixed,8,2)
+#13+'Сума в кінці терміну вкладу: '+FloatToStrF(sum, ffFixed,8,2);
end;
4. Перевірте роботу програми!   

Немає коментарів:

Дописати коментар