Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка - Лабораторні роботи.doc
Скачиваний:
16
Добавлен:
25.04.2019
Размер:
2.12 Mб
Скачать

Лабораторна робота №4 Тема роботи: “ Програмування ітераційних процесів”

Мета роботи: дати навички студентам складати програми ітераційних процесів.

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

Рекомендована література.

  1. Жалдак М.І., Рамський Ю.С. Інформатика: навч. Посібник.-К.: Вища шк.,1991 стр.233-237.

  2. Вычислительная техника и программирование: Учеб. Для техн. вузов/ А.В. Петров, В.Е. Алексеев, А.С. Ваулин и др.; Под редакцией А.В. Петрова.- М.: Высш. Шк. 1990.-стр.233-234.

  3. Епанешников, В. Епанешников Программирование в среде Turbo Pascal 7.0.-М.: «Диагог-МИФИ», 1993, стр.28-31.

  4. ФароновВ.В. Турбо Паскаль 7.0. Учебное пособие. В 2-х книгах -М.: «Нолидж», 1997, т.1. стр. 278-286.

  5. Марченко А.И., Марченко Л.А. Программирование в среде Turbo Pascal 7/0. К.: Юниор, 1997. Стр.216-220.

1 Теоретичні положення

Слід знати, що ітераційним називають обчислювальний процес (цикл), кількість повторень якого наперед невідоме. Умовою закінчення обчислення є досягнення заданої точності, котра характеризується величиною похибки ε. Звичайно ε - мале додатне число.

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

Методи послідовних наближень використовуються при обчисленні рядів із заданою точністю, при находженні коренів алгебраїчних і трансцендентних рівнянь виду f(x) = 0іт.д.

2 Приклад обчислення значення функції Бесселя j2 (X)

Скласти блок-схему алгоритму та програму для обчислення значення функції Бесселя J2(x) з точністю ε = 10-3, коли x = 2, скориставшись формулою

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

Вихідний ряд

перепишемо у вигляді рекурентного співвідношення. Для цього зазначимо, що нехай Тоді

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

Так як х = 2, то формули суттєво спрощуються

2.1 Блок -схема алгоритму

2.2 Програма обчислення значення функції Бесселя j2(X).

program bessel; uses crt;

var k,i:integer; U,S:real;

begin

clrscr;

U:=1/2;

S:=U;

k:=2;

i:=1;

repeat

U:=-U/((k-1)*(k+1));

S:=S+U;

k:=k+1;

i:=i+1;

until ABS(U)<=0.001;

writeln ('сума ряду дорівнює = ', S);

writeln (' кількість членів ряду дорівнює =', i );

readln

end.

2.3 Реакція ЕОМ

сума ряду дорівнює = 0.353 кількість членів ряду дорівнює =5

3 Приклад обчислення суми нескінченного ряду

Скласти блок-схему алгоритму, програму для обчислення суми нескінченного ряду із заданою точністю ε = 10-4.

3.1 Блок-схема алгоритму

3.2 Програма обчислення суми нескінченного ряду

program suma; uses crt;

var

x,U,S,E:real; k,n:integer;

begin

clrscr;

write ('введіть =');

readln(x);

E:=10E-3;

U:=x/2;

S:=U;

k:=1;

n:=2;

repeat

U:=-U*sqr(x)/(2*n);

S:=S+U;

k:=k+1;

n:=n+1;

until abs(U)<=E;

writeln (' сума ряду дорівнює ', S:6:3);

writeln (' кількість членів ряду ', k);

readln;

end.

3.3 Реакція ЕОМ

введіть =5

сума ряду дорівнює 0.201

кількість членів ряду 35

Хід роботи:

  1. Вивчити теоретичний матеріал.

  2. Виконати індивідуальне завдання.

  3. Скласти звіт, в якому відповісти на теоретичні питання, описати алгоритм, описати програму, привести контрольний приклад виконання програми.

Контрольн запитання:

  1. Що називають ітераційним циклом?

  2. Які оператору циклу використовують для ітераційного циклу?

  3. В чому різниця між циклом "поки" та "до"?

  4. Що таке рекурентне співвідношення?

  5. Чому дорівнює змінна k після виконання фрагменту програми

k:=0; s:=0;

While s>0 do k:=k+1;

Індивідуальні завдання: Створити блок-схему та програму на мові Pascal для приведеної задачі згідно варіанту.

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.