Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Pascal.rtf
Скачиваний:
5
Добавлен:
22.11.2019
Размер:
2.69 Mб
Скачать

Тема 11 Розробка програм з підпрограмами.

Підпрограма.

Виклик підпрограми.

“Чорна скриня”.

Специфікація підпрограми.

Функція.

Параметри підпрограми.

Формальні параметри;

Фактичні параметри.

Глобальні ідентифікатори.

Локальні ідентифікатори.

Час життя змінної.

Область дії імен(область видимості).

Правила опису та відмінності в використання підпрограм-процедур та підпрограм-функцій.

Підпрограма, формальні та фактичні параметри підпрограми, локальність та глобальність змінних, час життя та область дії змінної.

Тема 12 Математичне моделювання функціональних залежностей

Обчислення суми степеневого ряду:

Обчислити суми ряду

(1)

з заданою точністю на проміжку [a,b], де a<b при при .

  1. Скласти ітеративну функцію обчислення значення суми ряду (1).

  2. Скласти рекурсивну функцію обчислення суми ряду (1).

  3. Скласти програми для обчислення суми ряду (1) з заданою точністю на заданому проміжку.

  4. Порівняти результати Ваших обчислень з результатом роботи стандартної функції мови програмування.

  5. Побудувати графік функції на певному обраному проміжку(вивести одним кольором графік функції, точки для якого обчислюються “своєю” функцією, іншим – графік, точки для якого обчислюються стандартною функцією). Для побудови графіка скласти підпрограму, параметром, якої буде функція розрахунку.

Математична постановка задачі (мпз).

Під терміном “табулювання функції” розуміють обчислення n значень певної функції y=f(x) для х, значення якого належать проміжку [a,b] і змінюється з кроком Dx (рис.1). Отже, необхідно обчислити значення:

,

,

.

Якщо задано n – кількість точок на проміжку, тоді .

Процес обчислення значень функції носить циклічний характер, тіло циклу складають дії:

.

Математична постановка задачі обчислення значення функції для кожної із точок

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

,

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

Наближене значення суми ряду можна отримати або обмежуючись сумою перших N членів ряду (1), або обчислюючи суму з наперед заданою точністю e.

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

Але цей спосіб обчислення можна застосовувати тільки тоді, коли члени ряду утворюють спадну послідовність (наступний член менше ніж попередній).

Отже обчислення суми ряду переривається коли:

.

Розглянемо обчислення суми такого ряду (1). Він буде спадним для .

По-перше, необхідно встановити рекурентне співвідношення для членів ряду. Якщо за взяти , тоді для отримання наступного члену необхідно чисельник помножити на , а знаменник збільшити на 2. Це співвідношення вірне і для .