- •Лабораторна робота №3. Прості арифметичні циклічні обчислювальні процеси
- •Кожний цикл можна класифікувати за трьома ознаками. Розглянемо прості арифметичні циклічні обчислювальні процеси з перед або після умовою. Типи задач:
- •Індивідуальні завдання №2.2 до лабораторної роботи.
- •Індивідуальні завдання №2.3 до лабораторної роботи.
- •Індивідуальні завдання №2.4 до лабораторної роботи.
- •Індивідуальні завдання №2.8 до лабораторної роботи.
Лабораторна робота №3. Прості арифметичні циклічні обчислювальні процеси
Мета: вивчення основ побудови алгоритмів та основних операторів, які використовуються для вирішення задач, що мають циклічну структуру.
Порядок виконання лабораторної роботи:
1 – провести лабораторне дослідження на тестовому прикладі;
2 – виконати індивідуальні завдання;
3 – оформити результати досліджень в журналі.
ТЕОРЕТИЧНИЙ МАТЕРІАЛ
Циклічним називається алгоритм, що містить послідовність операцій, які виконуються багаторазово.
Технологія проектування циклічного алгоритму включає:
введення вхідних даних;
визначення послідовності операторів, які складають тіло циклу;
визначення умови закінчення циклу;
організація виведення отриманих при обчисленні результатів.
Цикли поділяють:
І - за місцезнаходженням умови закінчення циклу:
цикл із передумовою; цикл із післяумовою
ІІ - за способом завдання числа повторень тіла циклу:
параметричні (арифметичні, регулярні, цикли з лічильником) - число повторень тіла циклу явно задане в умові задачі або, розраховано до початку його виконання. |
безпараметричні (ітерацйні) - кількість повторень, як правило, не може бути визначена до початку його виконання; |
Кількість повторень = ( КЗ – ПЗ ) \ КРОК + 1 |
|
де ПЗ – початкове значення лічильника; КЗ – кінцеве значення лічильника; КРОК – крок змінення лічильника. |
|
ІІІ - за ступенем вкладеності циклу:
прості; |
вкладені. |
Кожний цикл можна класифікувати за трьома ознаками. Розглянемо прості арифметичні циклічні обчислювальні процеси з перед або після умовою. Типи задач:
табулювання функції одного аргументу - обчислити значення функції в заданих точках;
накопичувачі - ∑, ∏ (!).
Розглянемо задачі табулювання функції одного аргументу:
І етап – формалізація задачі.
ІІ етап – алгоритмізація.
Технологія проектування простого арифметичного циклу для задачі табулювання функції включає:
1 – задати початкове значення параметру циклу (лічильнику);
2 – перевірити умову закінчення циклу - чи входить значення параметра циклу в інтервал його зміни;
3 – здійснити задані обчислення функції і вивести результати;
4 – змінити параметр циклу на величину кроку;
5 – повернутися до перевірки умови закінчення циклу.
Умовні позначення символів (блоків) та функції, які відображаються ними
модифікація – управляє інформаційним потоком - утримує лічильник, що вказуєпочаток, крок змінення та кінець для циклічного процесу.
Принцип дії модифікатора:
1 – при зовнішньому вході:
- встановлює початкове значення лічильнику (наприклад х=1);
- перевіряє умову виходу з циклу – якщо умова «істина» - цикл продовжується, якщо ні – закінчується (наприклад при зовнішньому вході до циклу х=1, перевірка умови х<=3 - істина – цикл продовжується);
2– при внутрішньому вході:
- додає лічильнику значення кроку (наприклад х=х+1);
- перевіряє умову виходу з циклу.
Кількість повторень тестової задачі обчислюється по формулі:
Кількість повторень = ( КЗ – ПЗ ) \ КРОК + 1 = (3 – 1) \ 1 + 1 = 3
де ПЗ – початкове значення лічильника;
КЗ – кінцеве значення лічильника;
КРОК – крок змінення лічильника.
Алгоритм описує простий циклічний обчислювальний процес з передумовою із неявно заданим числом повторень. Рекурентний вираз - це вираз, що описує будь-який елемент послідовності чисел, де кожний наступний елемент обчислюється на основі попереднього. Наприклад, формула x=x+1.
ІІІ етап – програмування.
Одним із програмних засобів опису циклів є оператор FOR...NEXT – використовується для виконання блоку операторів задану кількість разів.
Формат оператора FOR...NEXT: |
FOR <параметр циклу> =<початок> TO <кінець>[STEP <збільшення>] [тіло циклу] [EXІT FOR] NEXT [параметр циклу] |
де FOR...NEXT – операторні скобки, що визначають місцеположення циклу в програмі. |
параметр циклу (лічильник) – ідентифікатор, який визначає число повторень циклу (не можна змінювати у середині циклу); <початок> – числове значення (арифметичний вираз), яке визначає початок змінення параметру циклу; <кінець> – числове значення (арифметичний вираз), яке не перевищує параметр циклу. Якщо числове значення перевищене – цикл закінчується; <збільшення> – числове значення (арифметичний вираз), яке визначає крок змінення параметру циклу (зазамовчуванням приймається рівним одиниці, якщо дорівнює 0 призводить до зациклювання); [тіло циклу] – оператори, які виконуються багаторазово; [EXІT FOR] – оператор дострокового виходу з циклу (передається управління на наступний за NEXT оператор). |
Наприклад 1:
Наприклад 2:
Результат
виконання 3 етапу вирішення тестової
задачі№1.
ІV етап – тестування.
Результат
виконання 4 етапу вирішення тестової
задачі №1. COMP
333 D:/
HOME/
DOS/ QBASIC/ m8big31.bas
Протестувавши
роботу програми, якщо a=3,
отримаєто результат:
?
3 1 2,524412954 2 0,68197307 3 0,047040003
V етап – аналіз результатів.
Розглянемо задачі накопичення:
І етап – формалізація задачі.
ІІ етап – алгоритмізація та ІІІ етап – програмування.
Технологія проектування простого арифметичного циклу для задач накопичення:
1 – задати початкове значення суматора (накопичувача);
2 – надати початкове значення параметру циклу (лічильнику);
3 – перевірити умову закінчення циклу - чи входить значення параметра циклу в інтервал його зміни;
4 – здійснити накопичення в суматорі нових значень (рекурентний вираз);
5 – змінити параметр циклу на величину кроку;
6 – повернутися до перевірки умови закінчення циклу;
7 – вивести результат.
Результат
виконання 2
та 3
етапу вирішення тестової задачі№2.
ІV етап – тестування.
Результат
виконання 4 етапу вирішення тестової
задачі №2. COMP
333 D:/
HOME/
DOS/ QBASIC/ m8big31.bas
Протестувавши
роботу програми, отримаєто результат: 60
V етап – аналіз результатів.
І етап – формалізація задачі.
ІІ етап – алгоритмізація та ІІІ етап – програмування.
ІV етап – тестування.
V етап – аналіз результатів.
І етап – формалізація задачі.
ІІ етап – алгоритмізація та ІІІ етап – програмування.
ІV етап – тестування.
V етап – аналіз результатів.
Порядок виконання лабораторної роботи:
Завдання КО_2 – виконати контрольне опитування з теми РОЗГАЛУЖЕНІ СТРУКТУРИ. Результати занести до зошиту з контрольного опитування.
Заняття 1
Завдання 2.1. – провести лабораторне дослідження по тестовій задачі №1 за умови, що аргумент х змінюється в діапазоні від -5 до 5 з кроком 1:
- додати умову: якщо х=0 – розрахунки не проводити;
- протестувати задачу для нульового кроку змінення (Ctrl+Breake – вихід із зациклювання).
- протестувати задачу для інших точок;
- отримані результати занести до журналу з самостійної роботи
Завдання 2.2,2.3,2.4 – виконати індивідуальні завдання. Отримати у викладача та виконати індивідуальне завдання. Результати поетапно занести до журналу з самостійної роботи.
Заняття 2
Завдання 2.5. – провести лабораторне дослідження по тестовій задачі №2. Отримані власні результати поетапно занести до журналу з самостійної роботи.
Завдання 2.6. – провести лабораторне дослідження по тестовій задачі №3. Отримані власні результати поетапно занести до журналу з самостійної роботи.
Завдання 2.7. – провести лабораторне дослідження по тестовій задачі №4:
- вивести на екран значення елементів ряду, з яких складається факторіал;
- отримані власні результати поетапно занести до журналу з самостійної роботи.
Завдання 2.8. – виконати індивідуальні завдання. Отримати у викладача та виконати індивідуальне завдання. Результати поетапно занести до журналу з самостійної роботи.
Завдання 2.9. – у завданні 2.2:
- визначити суму обчислених значень.
- отримані результати занести до журналу з самостійної роботи.