- •1 Лінійні програми
- •2. Програми з розгалуженням
- •3. Циклічні програми з регулярною зміною аргумента
- •4 Циклічні програми з регулярною зміною аргумента, які містять розгалуження
- •5 Інтеграційні циклічні процеси
- •6 Одновимірні масиви
- •7 Циклічні програми з накопиченням суми або добутку
- •8 Вкладені цикли
- •9 Двовимірні масиви, сортування масивів
- •10 Процедури
- •11 Підпрограми-функції
- •12 Обробка текстів
- •13 Файли
- •14 Основи ооп. Принципи побудови класів
- •Завдання
- •Приклад розв’язання задачі
- •15. Перевантаження функцій
- •Завдання
- •Приклад розв’язання задачі
- •16. Шаблони функцій
- •Завдання
- •25. Написати функцію dob, яка шукає добуток серед двох, трьох та чотирьох цілих та дійсних чисел.
- •Приклад розв’язання задачі
5 Інтеграційні циклічні процеси
Для наведених в таблиць 5.1 рівнянь необхідно:
скласти графічний алгоритм для визначення кореня рівняння із заданою похибкою вказаним методом. В алгоритмі передбачити лічильник кількості ітерацій;
розв’язати рівняння на ЕОМ в діалоговому режимі, користуючись розробленою програмою;
провести аналіз одержаного результату.
Примітка. При використанні методу Ньютона необхідно визначити, яка з крайніх точок інтервалу ізоляції буде рухомою.
Таблиця 5.1
№ варі-анту |
Рівняння |
Інтервал ізоляції кореня |
Похибка обчислення |
Метод розв’язування |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 |
|
[1;2]
[1;2]
[2;3]
[0;1]
[2.6;3]
[-2;-1]
[0.8;1]
[0.5;1]
[3;4]
[2;1]
[0;-1]
[2;3]
[2;3]
[1;2]
[2;3]
[3;3.2]
[1;2]
[1;2]
[2;3]
[1;2]
[2;3]
[0;0.2]
[2;3]
[0.5;1]
[2;3] |
0.0001
0.001
0.001
0.001
0.0001
0.001
0.001
0.0001
0.001
0.0001
0.0001
0.001
0.001
0.001
0.0001
0.0001
0.0001
0.001
0.001
0.001
0.0001
0.0001
0.001
0.0001
0.0001 |
Ітерацій
Ньютона
Ітерацій
Ньютона
Ітерацій
Ньютона
Ітерацій
Ньютона
Ітерацій
Ньютона
Ітерацій
Ньютона
Ітерацій
Ньютона
Ітерацій
Ньютона
Ітерацій
Ньютона
Ітерацій
Ньютона
Ітерацій
Ньютона
Ітерацій
Ньютона
Ітерацій |
Приклад. Знайти корінь рівняння
x*log(x)=x-0.5=0
на інтервалі [0;1] з точністю
,
користуючись методом ітерацій.
Розв’язок
запишемо рівняння у вигляді хі+1=0.5-хіlnхі і наведемо початкове значення кореня х0=0.5
Графічний алгоритм показаний на рис. 5.1.
Ідентифікація змінних
Змінна |
хі |
хі+1 |
t |
ε |
n |
Ідентифікатор |
X |
Y |
T |
E |
N |
Тут N – кількість ітерацій
5 Програма мовою Сі
#include <stdio.h>
#include <math.h>
#define E 1e-4
main ()
{
double x=2/5e-1,y.t;
int n=0;
do
{
y=5e-1-x*log(x);
t=fabs(x-y);
x=y;
n++;
}
while (t>E);
printf(“\nКОРІНЬ=%f”,x);
printf(“\nКІЛЬКІСТЬ ІТЕРАЦІЙ=%i”,n);
}
КОРІНЬ=0.729874
КІЛЬКІСТЬ ОПЕРАЦІЙ=23
6 Програма мовою Паскаль
program lab5;
var y,x,e,t: real;
n; integer;
begin
e:=0.0001;
x:=0.25;
n:=0;
repeat
y:=0.5=xln(x);
t:=abs(x-y);
x:=y;
n:=n+1;
until t>e;
writeln(‘КОРІНЬ=’,у:12);
writeln(‘КІЛЬКІСТЬ ІТЕРАЦІЙ=’,n)
end
КОРІНЬ=7,29874Е-01
КІЛЬКІСТЬ ОПЕРАЦІЙ=23
Пояснення до програм:
Особливістю ітераційних циклів є те, щ насамперед невідомо кількість циклів, які виконуються. Обчислення в циклі припиняється при досягненні заданої точності. Ітераційні цикли будуються за допомогою операторів умовного і безумовного переходів, а також оператора WHILE…WEND.
Графічний алгоритм показаний на рис. 5.1. Символ 2 задає початкове наближення кореня точності обчислення, обнуляє лічильник ітерацій. В символі 3 проводяться обчислення за ітераційною залежністю. Після обчислення модуля різниці двох послідовних наближень кореня, символ 4, виконується пере присвоєння «старого» наближення на «нове», символ 5. в цьому символі організований лічильник ітерацій. Символ 6 керує повторенням циклу.
Мовою Бейсік ітераційний цикл побудований за допомогою оператора переходу, а мовами Сі і Паскаль – зо допомогою операторів циклу з постумовою (while…).
Питання для самоперевірки
Яка відмінність ітераційного циклу від циклу з регулярною зміною аргумента?
Як одержати ітераційну формулу для застосування методу ітерацій?
Яка умова закінчення ітераційних обчислень?
Як вивести на друк кількість виконаних ітерацій?
Який оператор керує виходом з циклу?
Побудуйте програми, використавши оператори WHILE…, REPEAD…
Рисунок 5.1.
