Скачать презентацию 5 АЛГОРИТМИ ТА ПРОГРАМИ ЦИКЛІЧНОЇ СТРУКТУРИ 5 1 Скачать презентацию 5 АЛГОРИТМИ ТА ПРОГРАМИ ЦИКЛІЧНОЇ СТРУКТУРИ 5 1

L5.ppt

  • Количество слайдов: 16

5. АЛГОРИТМИ ТА ПРОГРАМИ ЦИКЛІЧНОЇ СТРУКТУРИ 5. 1. Цикл з лічильником. 5. 2. Використання 5. АЛГОРИТМИ ТА ПРОГРАМИ ЦИКЛІЧНОЇ СТРУКТУРИ 5. 1. Цикл з лічильником. 5. 2. Використання циклу з лічильником для накопичування сум та добутків.

5. 1. Цикл з лічильником Цей тип циклічного алгоритму використовується, коли відомі початкове та 5. 1. Цикл з лічильником Цей тип циклічного алгоритму використовується, коли відомі початкове та кінцеве значення параметру циклу. For <параметр>: =<початкове значення> to <кінцеве значення> do <оператор>; <Значення параметру> ≤ <кінцеве значення> (1) Параметр – це змінна, що називається параметром циклу або керуючою змінною циклу, будь-якого скалярного типу: цілого, символьного, булевого.

For <параметр>: =<початкове значення> to <кінцеве значення> do <оператор>; 1. При виконанні цього оператора For <параметр>: =<початкове значення> to <кінцеве значення> do <оператор>; 1. При виконанні цього оператора спочатку параметр набуває початкового значення та обчислюється оператор (тіло циклу). 2. Далі значення параметру збільшується на 1 та перевіряється умова (1): <Значення параметру> ≤ <кінцеве значення> 3. Якщо умова істина, виконується оператор (тіло циклу) та перехід на п. 2. Якщо умова (1) хибна, то тіло циклу – оператор не виконується. Відбувається вихід з циклу.

Цикл з лічильником For <параметр> : = <початкове значення> downto <кінцеве значення> do <оператор>; Цикл з лічильником For <параметр> : = <початкове значення> downto <кінцеве значення> do <оператор>; <Значення параметру> ≥ <кінцеве значення>. ! Зауваження. У тілі циклу for слід уникати операторів, що змінюють значення параметру циклу.

Приклад 5. 1. 1. Задача табулювання функції Скласти таблицю значень функції y(х), якщо відомо, Приклад 5. 1. 1. Задача табулювання функції Скласти таблицю значень функції y(х), якщо відомо, що аргумент х змінюється від початкового значення хп до кінцевого значення хк з кроком 1. Вхідні дані: хп, хк. Вихідні дані: х, у.

Початок Введенн я Хп, Хк Виведення заголовка таблиці Х=Хп, Хк y=2 sinx/x 2 x, Початок Введенн я Хп, Хк Виведення заголовка таблиці Х=Хп, Хк y=2 sinx/x 2 x, y Кінець

Program c 1; Var X, Xp, Xk: integer; y: real; BEGIN writeln(‘vvedite Xp, Xk'); Program c 1; Var X, Xp, Xk: integer; y: real; BEGIN writeln(‘vvedite Xp, Xk'); readln(Xp, Xk); writeln('────────────'); writeln('x': 5, ‘y': 10); writeln('────────────'); for x: =Xp to Xk do Begin y: =2*sin(x)/sqr(x); writeln(x: 5, y: 10: 2); End; Readln End.

Приклад 5. 1. 2. Обчислити значення функції y(x) та вивести у таблицю на проміжку: Приклад 5. 1. 2. Обчислити значення функції y(x) та вивести у таблицю на проміжку: 1 ≤ х ≤ 3, ∆х=0, 2. x+3, якщо x≤ 2 Y= x-3, якщо x>2 Оскільки крок, з яким змінюється х: ∆х=0, 2 – не цілий, то змінна х не може бути змінною циклу, оскільки вона не ціла. Тоді потрібно обчислити кількість виконань циклу (кількість ітерацій) і задати параметр циклу – лічильник циклу. • Позначимо як k – кількість виконання циклу – ціле значення і – змінна циклу – лічильник: і =1, …, k.

Початок 1 Введення Хп, Хк, ∆Х 2 3 4 і=1, k Х: =Хп k= Початок 1 Введення Хп, Хк, ∆Х 2 3 4 і=1, k Х: =Хп k= (xk-xn)/∆х+1 3 ні 6 так 5 x≤ 2 7 y=x-3 8 4 y=x+3 x, y 9 x=x+Δx кінець

Program cycle 2; uses crt; Var Xр, Xk, d. X, x, y: real; k, Program cycle 2; uses crt; Var Xр, Xk, d. X, x, y: real; k, i: integer; BEGIN clrscr; writeln(‘vved Xр, Xk, d. X'); readln(Xр, Xk, d. X); x: =Xр; k: = Trunc((Xk-Xр)/d. X+1); for i: =1 to k do Begin if x<=2 then y: =x+3 else y: =x-3; writeln('x= ', x: 3: 1, ' y=', y: 4: 1); x: =x+d. X; End; writeln(‘vved "ENTER"'); readln END.

5. 2. Накопичування сум та добутків Приклад 5. 2. 1. Обчислити суму: де n 5. 2. Накопичування сум та добутків Приклад 5. 2. 1. Обчислити суму: де n – довільне ціле додатне значення, х – довільне дійсне значення. Вхідні дані: n, x. Вихідні дані: S.

Початок 1 Введення x, n 2 S=0 3 і=1, n 4 y=sinxi/(i+1) 5 6 Початок 1 Введення x, n 2 S=0 3 і=1, n 4 y=sinxi/(i+1) 5 6 S S=S+y кінець

Program sum; uses crt var i, n: integer; y, S, x: real; BEGIN clrscr; Program sum; uses crt var i, n: integer; y, S, x: real; BEGIN clrscr; writeln(‘vvedite x: '); readln(x); writeln(‘vvedite n: '); readln(n); S: =0; for i: =1 to n do Begin y: =sin(exp(i*ln(x))/(i+1)); S: =S+y End; writeln('S= ', S); writeln(‘natisnit ENTER'); readln END.

Обчислення добутку Приклад 5. 2. 2. Обчислити добуток k!=1∙ 2∙ 3∙ 4∙…∙k Вхідні дані: Обчислення добутку Приклад 5. 2. 2. Обчислити добуток k!=1∙ 2∙ 3∙ 4∙…∙k Вхідні дані: k. Вихідні дані: Р. Зауваження: початкове значення добутку: Р=1.

Початок 1 Введення k 2 P=1 3 i=2, k 4 P=P*i 5 P Кінець Початок 1 Введення k 2 P=1 3 i=2, k 4 P=P*i 5 P Кінець

Program fact; uses crt; var k, Р, i: integer; BEGIN writeln(‘vvedit k'); readln(k); P: Program fact; uses crt; var k, Р, i: integer; BEGIN writeln(‘vvedit k'); readln(k); P: =1; for i: =1 to k do P: =P*i; writeln('P= ', P); writeln(‘natisnit ENTER'); readln END.