Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_03_ALG_04_пр_циклы.doc
Скачиваний:
14
Добавлен:
10.04.2015
Размер:
424.45 Кб
Скачать

Лабораторна робота №3. Прості арифметичні циклічні обчислювальні процеси

Мета: вивчення основ побудови алгоритмів та основних операторів, які використовуються для вирішення задач, що мають циклічну структуру.

Порядок виконання лабораторної роботи:

1 – провести лабораторне дослідження на тестовому прикладі;

2 – виконати індивідуальні завдання;

3 – оформити результати досліджень в журналі.

ТЕОРЕТИЧНИЙ МАТЕРІАЛ

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

Технологія проектування циклічного алгоритму включає:

  • введення вхідних даних;

  • визначення послідовності операторів, які складають тіло циклу;

  • визначення умови закінчення циклу;

  • організація виведення отриманих при обчисленні результатів.

Цикли поділяють:

І - за місцезнаходженням умови закінчення циклу:

цикл із передумовою; цикл із післяумовою

ІІ - за способом завдання числа повторень тіла циклу:

параметричні (арифметичні, регулярні, цикли з лічильником) - число повторень тіла циклу явно задане в умові задачі або, розраховано до початку його виконання.

безпараметричні (ітерацйні) - кількість повторень, як правило, не може бути визначена до початку його виконання;

Кількість повторень = ( КЗ – ПЗ ) \ КРОК + 1

де ПЗ – початкове значення лічильника;

КЗ – кінцеве значення лічильника;

КРОК – крок змінення лічильника.

ІІІ - за ступенем вкладеності циклу:

прості;

вкладені.

Кожний цикл можна класифікувати за трьома ознаками. Розглянемо прості арифметичні циклічні обчислювальні процеси з перед або після умовою. Типи задач:

  • табулювання функції одного аргументу - обчислити значення функції в заданих точках;

  • накопичувачі - ∑, ∏ (!).

Розглянемо задачі табулювання функції одного аргументу:

Frame1

І етапформалізація задачі.

Frame2

ІІ етапалгоритмізація.

Технологія проектування простого арифметичного циклу для задачі табулювання функції включає:

1 – задати початкове значення параметру циклу (лічильнику);

2 – перевірити умову закінчення циклу - чи входить значення параметра циклу в інтервал його зміни;

3 – здійснити задані обчислення функції і вивести результати;

4 – змінити параметр циклу на величину кроку;

5 – повернутися до перевірки умови закінчення циклу.

Умовні позначення символів (блоків) та функції, які відображаються ними

модифікація – управляє інформаційним потоком - утримує лічильник, що вказуєпочаток, крок змінення та кінець для циклічного процесу.

Принцип дії модифікатора:

1 – при зовнішньому вході:

- встановлює початкове значення лічильнику (наприклад х=1);

- перевіряє умову виходу з циклу – якщо умова «істина» - цикл продовжується, якщо ні – закінчується (наприклад при зовнішньому вході до циклу х=1, перевірка умови х<=3 - істина – цикл продовжується);

2– при внутрішньому вході:

- додає лічильнику значення кроку (наприклад х=х+1);

- перевіряє умову виходу з циклу.

Кількість повторень тестової задачі обчислюється по формулі:

Кількість повторень = ( КЗ – ПЗ ) \ КРОК + 1 = (3 – 1) \ 1 + 1 = 3

де ПЗ – початкове значення лічильника;

КЗ – кінцеве значення лічильника;

КРОК – крок змінення лічильника.

Frame3

Алгоритм описує простий циклічний обчислювальний процес з передумовою із неявно заданим числом повторень. Рекурентний вираз - це вираз, що описує будь-який елемент послідовності чисел, де кожний наступний елемент обчислюється на основі попереднього. Наприклад, формула 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 етапаналіз результатів.

Frame7

Розглянемо задачі накопичення:

Frame8

І етапформалізація задачі.

Frame9

ІІ етапалгоритмізація та ІІІ етаппрограмування.

Технологія проектування простого арифметичного циклу для задач накопичення:

1 – задати початкове значення суматора (накопичувача);

2 – надати початкове значення параметру циклу (лічильнику);

3 – перевірити умову закінчення циклу - чи входить значення параметра циклу в інтервал його зміни;

4 – здійснити накопичення в суматорі нових значень (рекурентний вираз);

5 – змінити параметр циклу на величину кроку;

6 – повернутися до перевірки умови закінчення циклу;

7 – вивести результат.

Результат виконання 2 та 3 етапу вирішення тестової задачі№2.

ІV етап тестування.

Результат виконання 4 етапу вирішення тестової задачі №2.

COMP 333 D:/ HOME/ DOS/ QBASIC/ m8big31.bas

Протестувавши роботу програми, отримаєто результат: 60

V етапаналіз результатів.

Frame12

Frame13

І етапформалізація задачі.

Frame14

ІІ етапалгоритмізація та ІІІ етаппрограмування.

Frame15

ІV етап тестування.

Frame16

V етапаналіз результатів.

Frame17

Frame18

І етапформалізація задачі.

Frame19

ІІ етапалгоритмізація та ІІІ етаппрограмування.

ІV етап тестування.

V етапаналіз результатів.

Frame20

Порядок виконання лабораторної роботи:

Завдання КО_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:

- визначити суму обчислених значень.

- отримані результати занести до журналу з самостійної роботи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]