Алгоритми з повтореннями. Цикл з передумовою.

Повторення (цикл)  —  це  алгоритмічна  структура,  за  допомогою якої  та  сама послідовність дій виконується кілька разів.

Для запису алгоритмів із повторенням (циклів) мовою 
ObjectPascal
використовують 
три види операторів циклу:  з  параметром,  з  передумовою  і  з  післяумовою. 

Серію команд,  що  повторюється  під  час  виконання  циклу, називають 
тілом циклу.

Кожне виконання  тіла  циклу  називають ітерацією.

Оператор циклу з передумовою Whіle

Оператор  повторення  While  (цикл «Поки»)  призначений  для  організації  повторного  виконання  серії  команд,  поки  залишається  істинною 
умова  виконання  циклу.
Синтаксис  оператора:
Whіle<умова> do <оператор>;Тут  <умова>  —  логічний  вираз,  що  є  умовою  виконання  циклу;<оператор> —  простий  або  складений  оператор,  який  виконується  при  кожній  ітерації.
      Виконання  оператора  циклу 
While  починається  з  обчислення  значення  логічного  виразу  —  умови  повторення  циклу.  Якщо  умова істинна,  то  виконуються  оператори  тіла  циклу і  керування  повертається  на  перевірку  умови. 
      Якщо  ж  умова  хибна,  то  виконується  оператор,  який  є  наступним  після  оператора 
While. Якщо при першій перевірці умова виявиться  хибною,  тіло  циклуWhіle  не  виконається жодного  разу.  
В тілі цікла обов'язково повинен бути оператор, який впливає на умову. Якщо умова не набуде хибного значення, цикл буде нескінченним.
Для переривання  нескінченного  циклу  треба  натиснути  сполучення  клавіш Ctrl + Break.  
Типові задачи:
1. Алгоритм  обчислення  суми  n  членів числової  послідовності  
Розглянемо  алгоритм  обчислення  n-го  члена  деякої  послідовності 
чисел  і  суми 
n  її  членів:
1)  задати значення 
А 1 — першого члена послідовності, n — кількості 
членів,  які  потрібно  обчислити;
2)  задати  початкові  значення  лічильника  членів  послідовності  (
i := 0) 
і  суми  (
S := 0);
3)  поки  номер 
i-го  члена  послідовності,  який  обчислено,  не  досягне  значення  n           —  заданої  кількості  членів,  повторювати  дії:       •  номер  поточного  доданка  збільшити  на  1;       •  обчислити  значення  наступного  доданка  А;       •  обчислене  значення  А  додати  до  суми  S. 
Знайти  суму  20  елементів  послідовності  чисел  2,5;  3,0;  3,5;  4,0...{ Задаються початкові значення }
S := 0; // суми S
і := 0; // лічильника доданків
A := 2.5; // першого доданка А
Whіle і < 20 do
beginS := S + A; // А додається до суми S         
A := A + 0.5; // обчислюється наступне значення доданка А
i := i + 1;

end; 

2. Знайти  суму  всіх  елементів  послідовності 1, 1/2, 1/3, 1/4, 1/5.... ,  значення  яких  не  менше  за 0,01 
Введемо змінні: A - елемент послідовності, S- сума елементів.
     vari: Integer; 
     A, S: Double;     
     begin    { Задаються початкові значення }
     S := 0;     // суми S
     A := 1;    // першого доданка А
     i := 0;     // лічильника доданків
     While A > 0.01 do 
     begin
        S := S + A;
         i := i + 1;
  
         A := 1 / i;    // обчислення поточного доданка А
        Label2.Caption := FormatFloat(‘0.####’, A);
   end;Edit1.Text := FormatFloat(‘0.###’, S);end;  

Практична частина:

1. Розробити  проект  «Числа  Фібоначчі»,  призначений  для  обчислення  n-го  числа  Фібоначчі.

числами Фібоначчі  називають  числа,
які  знаходять  за  таким  правилом: F1=F2= 1; Fn =Fn–1 + Fn–2.F1=F2= 1,  тому  обчислення  почина
ється  з
n= 3.

Для  обчислення n-го  числа  Фібонач
чі  виконується  така  послідовність  дій
  1)   виділяються  змінні  а  і  в  для  зберігання  двох  поточних  чисел  Фібоначчі 
  
Fn–1  і  Fn–2;
  2)   сума  чисел 
а + в  заноситься  в  змінну  с;
  3)   на  наступній  ітерації  циклу: 
          •в = Fn–1  стає  (n – 2)-м  членом  ряду,  тому  А := В;           •с = Fстає  (n – 1)-м  членом,  тому  В := С.
                

2. Розробити  проект знаходження найбільшого спільного дільника      для чисел А і В, користуючись алгоритмом Євклида.        (     https://younglinux.info/algorithm/euclidean



Виконайте тестове завдання 39 з автоматичною перевіркою на сайті 
interactive.ranok.com.ua.
  Якщо тест ви будете виконувати з телефона, то просто надішліть два скриншота з екрану. На телефоні не передбачено виставлення оцінки. 

Чекаємо на ваші роботи:
informatika18@ukr.net (Людмила Миколаївна) та
 lgskuratovska@gmail.com  (Людмила Григорівна)



 



Комментариев нет:

Отправить комментарий