bsuir.info
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход (быстрый)
Регистрация
Категории каталога
Другое [157]
АВС [6]
КПиЯП [80]
ОАиП [305]
ОКТ [79]
СиСПО [8]
Форма входа
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Файловый архив
Файлы » ПОИТ » ОАиП

ПОИТ (д.), ОАиП, Лабораторная работа №1, вар.3, 2015
Подробности о скачивании 23.11.2015, 00:05
Для аргумента x, изменяющегося от -0,6 с шагом 0,05 вычислить 20 значений функций:

f1(x)=3x-(x+1/x) ln⁡(1-x^2 )+2ln⁡((1-x)/(1+x))=-0.039;

f2(x)=∑_(k=1)^∞▒x^(2k+1)/(k(k+1)(2k+1))=-0.039.

Функцию f2(x) вычислить для ряда точностей ε = 10-2, ε = 10-3, ε = 10-4.Для указанных точностей определить количество N элементов ряда, суммируемых для достижения заданной точности. Результаты расчетов свести в таблицу.

2). Схема алгоритма
На рис. 1 приведена схема алгоритма по ГОСТ 19.701-9.




Рис. 1. Схема алгоритма по ГОСТ 19.701-90

3).Текст программы на языке Pascal (с описанием алгоритма)
Program Ex1;
Uses Crt; {Подключение модуля Crt}
Const
eps1 = 0.01; {Точность 10-2}
eps2 = 0.001; {Точность10-3}
eps3 = 0.0001; {Точность 10-4}
a = -0.6; {Начальное значение x}
b = 0.05; {Шаг}
N = 20; {Количество значений функции}
Var
k1, k2, k3, i: integer; {Вспомогательные переменные: k – количество элементов ряда, суммируемых для достижения заданной точности}
f1, f2_1, f2_2, f2_3, step, slag, x: real;
BEGIN
ClrScr; {Очистка текущего окна на экране}
{Рисуется шапка таблицы}
Writeln ('_____________________________________________');
Writeln ('| | | e = 0.01 | e = 0.001 | e = 0.0001 |');
Writeln ('| x | f1(x) |--------------|---------------|----------------|');
Writeln ('| | | f2(x) | N | f2(x) | N | f2(x) | N |');
Writeln ('|____|________|______|___|_______|___|_______|___|');
x := a; {Начальное значение х}
For i := 1 to N DO {Цикл с параметром от 1 до 20}
Begin {Начало цикла с параметром}
f1 := 3*x-(x+(1/x))*ln(1-Sqr(x))+2*ln((1-x)/(1+x)); {Вычисляется значение функции f1}
{Вычисляется значение функции f2}
step := x; {Начальное значение степени х}
f2_1 := 0; {Начальное значение функции f2_1}
k1 := 0; {Начальное значение количества элементов ряда}
Repeat {Итерационный цикл для точности 10-2}
inc(k1); {Наращивание количества элементов ряда}
step := step*Sqr(x); {Наращивание степени}
slag := step/(k1*(k1+1)*(2*k1+1)); {Считается очередное слагаемое}
f2_1 := f2_1 + slag; {Считается значение f2_1}
Until abs(slag) <= eps1; {Выход из цикла, когда слагаемое становится меньше точности 10-2}
f2_2 := f2_1;
k2 := k1;
Repeat {Итерационный цикл для точности 10-3}
inc(k2); {Наращивание количества элементов ряда}
step := step*Sqr(x); {Наращивание степени}
slag := step/(k2*(k2+1)*(2*k2+1)); {Считается очередное слагаемое}
f2_2 := f2_2 + slag; {Считается значение f2_2}
Until abs(slag) <= eps2; {Выход из цикла, когда слагаемое становится меньше точности 10-3}
f2_3 := f2_2;
k3 := k2;
Repeat {Итерационный цикл для точности 10-4}
inc(k3); {Наращивание количества элементов ряда}
step := step*Sqr(x); {Наращивание степени}
slag := step/(k3*(k3+1)*(2*k3+1)); {Считается очередное слагаемое}
f2_3 := f2_3 + slag; {Считается значение f2_3}
Until abs(slag) <= eps3; {Выход из цикла, когда слагаемое становится меньше точности 10-4}
{Вывод результатов}
Writeln ('|', x:5:2, '|', f1:12:9, '|', f2_1:5:2, '|', k1:2, '|', f2_2:6:3, '|', k2:2, '|', f2_3:7:4, '|', k3:2, '|');
x := x + b; {Увеличение значения аргумента на шаг 0,05}
End; {Конец цикла с параметром}
{Завершение таблицы}
Writeln ('--------------------------------------------------');
ReadKey
END.

4). Результаты работы программы

x f1(x) ε = 10-2 ε = 10-3 ε = 10-4
f2(x) N f2(x) N f2(x) N
-0.60 -0.038995377 -0.04 2 -0.039 3 -0.0390 4
-0.55 -0.029618794 -0.03 2 -0.030 3 -0.0296 4
-0.50 -0.021980604 -0.02 2 -0.022 3 -0.0220 4
-0.45 -0.015851812 -0.02 2 -0.016 3 -0.0159 4
-0.40 -0.011029102 -0.01 2 -0.011 3 -0.0110 4
-0.35 -0.007329035 -0.01 1 -0.007 2 -0.0073 3
-0.30 -0.004583719 0.00 1 -0.005 2 -0.0046 3
-0.25 -0.002637467 0.00 1 -0.003 2 -0.0026 3
-0.20 -0.001344155 0.00 1 -0.001 2 -0.0013 3
-0.15 -0.000565052 0.00 1 -0.001 2 -0.0006 3
-0.10 -0.000167001 0.00 1 0.000 2 0.0002 3
-0.05 -0.000020844 0.00 1 0.000 2 0.0000 3
0.00 0.000000000 0.00 1 0.000 2 0.0000 3
0.05 0.000020844 0.00 1 0.000 2 0.0000 3
0.10 0.000167001 0.00 1 0.000 2 0.0002 3
0.15 0.000565052 0.00 1 0.001 2 0.0006 3
0.20 0.001344155 0.00 1 0.001 2 0.0013 3
0.25 0.002637467 0.00 1 0.003 2 0.0026 3
0.30 0.004583719 0.00 1 0.005 2 0.0046 3
0.35 0.007329035 0.01 1 0.007 2 0.0073 3
Категория: ОАиП | Добавил: Yulia
Просмотров: 982 | Загрузок: 6
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]