Паскаль.Алгоритми з повтореннями

Сьогоднi ми розглянемо такі питання:

  • Які є види циклів
  • Що таке цикл з параметром
  • Як цикли з параметром писати в Pascal
Для цього давайте розглянемо задачу:


 У дворі є порожні діжка і відро ємністю 50 л і 10 л відповідно та колодязь (мал. 1). Потрібно наповнити діжку водою.




Очевидно, для розв’язування цієї задачі потрібно виконати такий алгоритм:

1. Узяти відро.

2. Повторити 5 разів:
  •         Підійти до колодязя.
  •         Набрати з колодязя повне відро води.
  •         Підійти з повним відром води до діжки.
  •         Вилити воду з відра в діжку.


3. Поставити відро.

Цей алгоритм містить команду 2:

Повторити 5 разів

1. Підійти до колодязя.

2. Набрати з колодязя повне відро води.

3. Підійти з повним відром води до діжки.

4. Вилити воду з відра в діжку.



Таку команду називають командою циклу з лічильником.

У блок-схемі використано блок Повторити N разів



який задає

кількість повторень команд тіла циклу.

Фрагмент алгоритму, у якому одна або кілька команд можуть виконуватися більше ніж один раз, називають циклом. Алгоритм, який містить цикл, називають алгоритмом із циклом, або алгоритмом з повторенням.

________________________________________________________________________________

Завдання 1.

Виконайте наступний алгоритм
1.Узяти перше число
  •    "4"
2.Виконати 6 разів:
  •    додати до попереднього числа "3"
3.Повідомте результат вчителю

For - це цикл, який виконується задану кількість раз. Його ще називають "циклом з лічильником", тому що після кожного проходження циклу, лічильник змінюється на +1.

Він має таку структуру:

for <лічильник1> := <почткове значення лічильника> to <кінцеве_значення> do <оператор1>;


Приклад реалізації циклу з параметром в мові програмування Паскаль:


Приклад 1.

Вивести всі числа від 1 до 6.


  for i := 1 to 6 do 
    writeln(i);

і  - лічильник.
1 - початкове значення лічильника.
6 - кінцеве значення лічильника.
(лічильник кожен раз збільшується на одиницю)


Приклад 2.

Вивести на монітор 6 разів своє ім'я

for i := 1 to 6 do 

  writeln('name');

Приклад 3.

 Порахувати суму усіх чисел від 1 до 6.

sum:=0;
for i := 1 to 6 do { від 1 до 6 виконувати }
sum := sum + i; { до суми додаємо чергове число }

Розв'язуємо:

Оскільки ми задали, що цикл буде вібуватись 4 рази, ми отримаємо наступне розв'язання:

Початкове значення суми = 0
Початкове значення лічильника  = 1.


сума = 0+1 =1;
сума = 1+2=3;
сума = 3+3=6;
сума = 6+4=10;

сума =10

Приклад 4.

Вивести всі числа від 1 до N.  N вводиться з клавіатури.


  for i := 1 to N do 
    writeln(i);

і  - лічильник.
1 - початкове значення лічильника.
n - кінцеве значення лічильника.
(лічильник кожен раз збільшується на одиницю)

_________________________________________________________________________________


Задача 1.

Дано 2 цілих числа A і B. Вивести на монітор всі числа від A до B включно.


Задача 2.

Порахувати суму усіх чисел від 1 до N. 
 N вводиться з клавіатури.


Задача 3.

Порахувати суму усіх чисел від K до N. (N і K вводяться з клавіатури).


Задача 4.

Дано 2 цілих числа A і B. Найти суму квадратів усіх цілих чисел від  A до B включно.