Поняттяряду. Ітераційний процес 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Поняттяряду. Ітераційний процес



Ряд – це сума елементів виду:

у якій значення кожного елемента однозначно визначається його номером . Ряд називається збіжним, якщо сума має певне скінчене значення.Звичайно ряд описується за допомогою формули для загального члена ряду. Наприклад, сума спадної геометричної прогресії описується загальним членом і сума членів прогресії дорівнює .

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

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

У наближених обчисленнях спадного ряду враховується скінчене число членів ряду. Їх кількість визначається на основі одного з наступних критеріїв:

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

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

Алгоритм обчислення ряду

Скласти програму для обчислення спадного ряду:

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

Насамперед, знайдемо рекурентне співвідношення між найближчими членами ряду:

,

звідки:

Обчислення ряду починаємо з оголошення й ініціалізації наступних змінних: n (номер поточного члена ряду; ураховуємо, що початкове значення і ), an (значення поточного члена), sum (сума членів). Оголошуємо змінну delta, у якій зберігається значення точності обчислень, і символьну змінну cont, яка буде містити символ, що означає відповідь на запит про продовження обчислень. Далі програма пропонує ввести delta, і користувач уводить значення delta. Запускається цикл while для обчислення поточного члена ряду й додаванню його до змінноїsum. Обчислення спадного ряду з додатними членами припиняються, коли поточний член виявляється менше delta. Сума ряду, а також точність обчислень і кількість врахованих членів ряду виводяться на екран. Потім формується запит, чи потрібно продовжити обчислення даного ряду при іншому значенні delta. Якщо користувач натискає клавішу «y» (yes), програма пропонує знову ввести delta. Якщо ж натиснута будь-яка інша клавіша, обчислення припиняються. Обробка запиту реалізується за допомогою циклу do...while.

Постановка задачі

Скласти програми на С++ для знаходження суми членів ряду, починаючи спершого скінченного члена. Обчислення суми виконати з різноюточністю від 0.1 до 10-6(не менше трьох значень ). Передбачити введення значення по запиту й можливість багаторазового обчислення ряду.

Варіанти

Загальний член ряду Загальний член ряду
   
   
   
   
   
   
   
   
   
   
   
   
   

 

Методичні вказівки

При складанні програми обчислення ряду використати рекурентну формулу для одержання наступного члена ряду.

Зміст звіту

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


Лабораторна робота 3.
«Функції. Форматне введення-виведення даних»(2 год.)

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

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

Функції в С/С++

Функція в С/C++ можна розглядати як мінімальний модуль, що виконує програма.Всі функції мають єдиний формат визначення:

<тип><ім'я_функції>(<список_формальних_параметрів>)

<тіло_функції>,

де <тип>– або void, якщо функція не повертає значення, або тип значення, що повертається функцією;

<ім'я_функції>– або main для основної функції, або довільний ідентифікатор, що не збігається зі службовими словами й іменами інших об'єктів програми;

<список_формальних_параметрів>– або порожній (), або список, кожний елемент якого має вигляд:

<позначення_типу><ім'я_параметра>

Приклади списків формальних параметрів:

(int k)

(char i, char j, int z)

<тіло_функції>– це частина функції, обмежена фігурними дужками
{ }.Тіло функції може бути одним оператором, або блоком. Визначення функцій не можуть бути вкладеними.

Для передачі результату з функції в точку виклику використовується оператор return. Він може бути записаним у двох формах:

return;

– завершує функцію, що не повертає ніякого значення (тобто перед ім'ям функції зазначений тип void)

return<вираз>;

– повертає значення виразу, вираз повинен мати тип, зазначений перед ім'ям функції.

Якщо програміст не пише оператор return явно, то компілятор автоматично дописує return у кінець тіла функції перед закриваючою фігурною дужкою}.

Виклик функції здійснюється в такий спосіб:

<позначення функції>(<список фактичних параметрів>);

де <позначення функції>– або ім'я функції, або покажчик на функцію;

<список фактичних параметрів>– список виразів, кількість яких дорівнює числу формальних параметрів функції. Між формальними й фактичними параметрами повинна бути відповідність за типами і порядкомслідування.

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

Якщо в програмі будуть використовуватися елементарні математичні функції, необхідно підключити заголовний файл math.h. Наведемо список корисних функцій цієї бібліотеки.

Тригонометричні функції:

sin(x)– синус числа x;

asin(x)– головне значення арксинуса (в радіанах);

cos(x)– косинус;

acos(x)– головне значення арккосинуса;

tan(x)– тангенс;

atan(x)– головне значення арктангенса;

Гіперболічні функції:

sinh(x)– гіперболічний синус;

asinh(x)– зворотний гіперболічний синус;

cosh(x)– гіперболічний косинус;

acosh(x)– зворотний гіперболічний косинус;

tanh(x)– гіперболічний тангенс;

atanh(x)– зворотний гіперболічний тангенс;

Експоненціальні та інші функції:

exp(x)– експонента числа x;

log(x)– натуральний логарифм;

log10(x)– десятковий логарифм;

sqrt(x)– квадратний корінь з числа x;

pow(a,x) – ступенева функціяax;

abs(x)– модуль цілого числа х;

fabs(х)– модуль числа х з плаваючою крапкою;

Функції округлення:

floor(x)– округлення до цілого у бік –∞;

ceil(x)– округлення до цілого у бік +∞;

 

Ступеневі ряди

Дійсна функція називається аналітичною в точці , якщо в деякій околиці цієї точки функція розкладається в ступеневий ряд (ряд Тейлора):

(1)

При одержуємо ряд Маклорена:

Різниця

називається залишковим членом і служить для оцінювання помилки при заміні функції поліномом Тейлора.

Для ряду Маклорена

,де 0<q<1.

Таким чином, обчислення значення функції можна звести до обчислення суми числового ряду

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



Поделиться:


Последнее изменение этой страницы: 2016-12-29; просмотров: 254; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.143.244.83 (0.021 с.)