Частина тексту файла (без зображень, графіків і формул):
БЛОК-СХЕМА ПРОГРАМИ
SHAPE \* MERGEFORMAT Виклик функції Adams
Adams (func, y, 3, xs, xe, 100, 0.001);
xs += 0.1; xe += 0.1;
Виведення значення залежної змінної і результата інтегрування
I ++
Початок
Задання початкових умов:
y’ = 1;
xs = 0; xe = 0.1;
I = 0
I < 20?
Так
Ні
Кінець
SHAPE \* MERGEFORMAT Ні
Обчислення наступного значення функції YA=(Q3/h)+ (y3+(1./2.)*dq2+(5./12.)*d2q1+(3./8.)*d3q0);
Виклик функції Adams
Перевірка аргументів функції на правильність
Виділение пам’яті для всіх масивів
Не вийшло
Вийшло
Завершення програми
Розподілення пам’яти між всіма масивами
Ініціалізація змінних і масивів q0, xi початковими значеннями
i = 0
i < 3?
Ні
Так
Обчислення K1 = f (xi, Y)
Корекція K1 для кожного рівняння
(K1 = K1 * h)
Обчислення аргументів для наступної функції (YA = Y + K1 / 2.)
Обчислення K2 = f (xi + h / 2., YA)
Корекція K2 для кожного рівняння
(K2 = K2 * h)
Обчислення аргументів для наступної функції (YA = Y + K2 / 2.)
Обчислення K3 = f (xi + h / 2., YA)
Корекція K3 для кожного рівняння
(K3 = K3 * h)
Обчислення аргументів для наступної функції (YA = Y + 3 * K3 / 2.)
Обчислення K4 = f (xi + h, YA)
Корекція K4 для кожного рівняння
(K4 = K4 * h)
Обчислення наступного значення функції (q[i+1] =
q[i]+(1./6.)*(K1+2*K2+2*K3+K4))
xi += h; i++
Корекція: q[i] = q[i] * h
Обчислення
∆q2, ∆q1, ∆q0, ∆2q1, ∆2q0, ∆3q0
x += h
xi < tk? (відрізок закінчився?)
Так
Є з чим зрівняти значення функції в точці tk?
flag=1
Так
Погрешность меньше заданной?
Так
Ні
Копіювати yt в y
Повернення в основну програму
Копіювати ya в yt
Зменшити крок в 2 раза (h=h/2.)
Ні
xi = tn (з початку відрізка)