Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 1,2 семестр.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.39 Mб
Скачать

Лабораторна робота № 18

(з індивідуальним завданням)

Тема: Проектування додатків із циклами в середовищі VBA.

Мета: Навчитись використовувати циклічні оператори для обчислювальних процесів

Теоретичні відомості

У мові VBA є два види операторів циклу: з лічильником та умовний. Вони призначені для організації в програмі циклічних обчислювальних процесів. За допомогою різних модифікацій умовного циклу реалізуються цикли з передумовою і післяумовою, а за допомогою циклу з лічильником – цикл із параметром.

Цикл із параметром має таку структуру:

For <лічильник> = <початкове_значення> To <кінцеве_значення> [Step <крок>] Оператори тіла циклу

[Exit For]

Next <лічильник>

де, лічильник – це числова змінна, початкове, кінцеве значення і крок – вирази того ж типу, що й лічильник. Якщо конструкцію Step пропущено, то мається на увазі значення кроку дорівнює +1.

Серед операторів тіла циклу може бути оператор негайного виходу із циклу Exit For.

Частина 1.

Завдання 1. Спроектувати VBA-додаток з використанням циклу з лічильником

1. Ознайомтеся з умовою задачі:

Варіант № ___ Умова задачі:

2. Алгоритм розв’язання задачі (блок-схема) та структура даних:

3. Інтерфейс користувача:

Розробіть VBA-додаток з діалоговим вікном Цикл з лічильником, який повинен розв’язати поставлену в індивідуальному завданні задачу.

Діалогове вікно (UserForm) повинно мати:

  1. елемент управління Label (Надпис), який використовується для відображення прізвища та шифра групи студента (автора проекту);

  2. елемент управління TextBox (Поле), яке використовується для відображення умови задачі. Поле повинно бути заблоковано для користувача, щоб він не міг змінити текст задачі. Це досягається за допомогою властивості Enabled, для якої необхідно встановити False;

  3. для введення вхідних даних та виведення результатів обчислень використовуються елементи управління TextBox та елементи Label. Поля для виводу результатів обчислень повинні бути заблоковані від втручання користувача.

  4. для ініціалізації виконання проекту використовуються елемент управління CommandButton (Кнопка). В проекті необхідно встановити три командні кнопки: Виконати – для ініціалізації проекту;

Стерти – для видалення інформації в полях воду даних та результатів обчислення;

Вихід – для завершення роботи з проектом;

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

Елемент управління

Назва

властивості

Значення

властивості

Пояснення

1

2

3

4

5

6

7

8

9

10

6. Розробити та ввести код проекту у вікно редактора коду. Перевірити його виконання та зробити аналіз отриманих результатів.

Текст коду:____________________________________________________________________

_______________________________________________________________________________

_______________________________________________________________________________

_______________________________________________________________________________

_______________________________________________________________________________

_______________________________________________________________________________

_______________________________________________________________________________

_______________________________________________________________________________

_______________________________________________________________________________

Поряд із циклами з лічильником, число повторень заздалегідь відомо, на практиці маємо справу з такими циклами, для яких не можна заздалегідь визначити число повторень. Задачі такого характеру вирішуються методом ітерації, тобто послідовним зближенням. В ітераційних процесах момент закінчення обчислень визначається досягненням заданої точності результатів.

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

де - результат обчислень при (i + 1) виконанні циклу (наступному);

- значення аргументу при (i + 1) виконанні циклу (наступному);

- результат обчислень при i – му виконанні циклу та константі – k.

Як видно з формули, обчислення завжди виконуються за тими самими виразами, але щораз з іншими числовими даними.

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

Простий ітераційний цикл складається з чотирьох частин (блоків):

  1. завдання початкових значень аргументу і функції;

  2. обчислення поточного значення аргументу;

  3. обчислення поточного значення функції;

  4. логічної частини, що стежить за умовою виходу з циклу.

В ітераційних циклах процес повторення виконання циклу закінчується за виконанням одного з нижче перерахованих умов:

  1. абсолютна величина різниці між трьома послідовними наближеннями шуканої величини (або величин) не перевищує якогось наперед заданого числа  > 0, що являє собою точність обчислень;

  2. відносна помилка виду: , де - числові значення двох послідовних наближень шуканої величини, не перевищують величину 0, що визначає точність обчислень;

  3. деяка величина даного ітераційного процесу не перевищує наперед задану точність (наприклад, n – член ряду, що сходиться, по абсолютній величині менше ).

Для ефективного одержання ітераційних рішень важливо скласти алгоритм, по якому обробляється початкове наближення.

Розглядають кілька методів ітераційних рішень. Так, наприклад:

  1. пошук рішень за допомогою графіка (графічний);

  2. метод здогаду і перевірки;

  3. метод прямої підстановки;

  4. метод ітерації в комірках;

  5. пошук рішень за допомогою настройки - Пошук розв’язку (поиск решения).

Перший і останній з методів ми вивчили і перевірили в попередніх лабораторних роботах. У цій роботі перевіримо роботу методу прямої підстановки в Excel. Слід зазначити, що початкове передбачуване значення необхідно вводити вручну.

Приклад. Обчислити функцію f(x), як суму членів ряду для k значень х:

використовуючи рекурентну формулу:

,

де Unчлен ряду з номером n,

Un+1 наступний член ряду.

Заповнимо таблицю обчислення значення функції за наведеним зразком.

П очаткове наближення Un=х (х – тому, що перший член ряду = ) в клітинку D3 робочого листа електронної таблиці вводимо значення 6,28 (значення аргумента, яке необхідно обчислити).

Точність – в клітинку D4 =0,00001 (обираємо довільно з ряду: 0,1; 0,01; 0,001; 0,0001; 0,00001, чим менше значення точності, тим точніше обчислення).

В клітинку А7 введемо n=1 – номер першого члена ряду. В клітинку В7 введемо формулу =$D$3 – початкове наближення. Клітинку С7 використаємо для розміщення рекурентної формули обчислення наступного члену ряду, а саме:

= -В7*$D$3^2/(2*A7*(2*A7+1))

В клітинку D7 накопичуємо суму першого і другого членів ряду – нове наближення.

В клітинку Е7 вводиться формула перевірки умови:

=ЕСЛИ(ABS(C7-B7) <=$D$4; ” кінець”; ABS(C7-B7)).

Для обчислення наступного наближення в клітинку А8 введемо =А7+1, в клітинку В8 введемо =С7. В клітинку С8 вставимо копію рекурентної формули. В клітинку D8 запишемо формулу =D7+С8. Завершимо рядок 8 таблиці копіюванням формул з клітинки Е7 в клітинку Е8. Для наступних ітерацій клітинки з 8 ряду копіюємо в нижні рядки до одержання повідомлення “кінець” в стовпчику Е. З наведеної таблиці видно, що за допомогою методу прямої підстановки вдалося знайти значення функції S=f(x)= 0,00319 при n=13 – число ітерацій.

Для контролю в клітинку Е4 введена вбудована функція Excel =Sin(D3), як бачимо результати збігаються.