русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


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


Дата додавання: 2014-11-27; переглядів: 846.


 

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

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

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

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

Нехай нескінченна сума має вигляд: . Кожний додаток суми ai є функцією від номера i, що визначає місце цього додатка в сумі, а також може бути функцією одного або декількох додаткових параметрів. У загальному випадку початкове значення номера члена ряду i може бути відмінним від 1 (наприклад, рівним 0).

Обчислення суми ряду полягає в отриманні в результаті циклічного процесу послідовності проміжних сум s1, s2, ..., si, ..., які збігаються до свого граничного значення. Підсумовування вважається закінченим при виконанні умови досягнення заданої точності . Частіше за все використовують такі умови закінчення циклу:

1. Абсолютна величина поточного елементу ряду ai стає меншою точності - .

2. Абсолютна величина різниці двох сусідніх проміжних сум стає меншою точності - .

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

Наприклад, потрібно обчислити суму ряду з точністю . Рекурентна формула для такого ряду знайдена у попередній роботі (4.1) :

 

Програма буде мати вигляд:

PROGRAM SUMMA;

VAR I: INTEGER;

A,X, SUM, EPS:REAL;

BEGIN

WRITELN( ‘Введіть х та точність’);

READ(X,EPS);

SUM:=0;

A:=1;

I:=0;

REPEAT

SUM:=SUM+A;

I:=I+1;

A:=-A*X/I;

UNTIL A<EPS;

WRITELN(‘Сума =’, SUM: 8:4, ‘ Кількість повторень циклу=’,I)

END.

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

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

 

 


<== попередня лекція | наступна лекція ==>
Варіант № 34 | Варіанти завдань


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн