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

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

лабораторная работа №1
Подробности о скачивании 11.10.2013, 21:42
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий

Факультет ФНиДО
Специальность ПОИТ

Лабораторная работа № 1
по дисциплине «Основы алгоритмизации и программирования»
часть 1
Вариант № 1

Выполнил студент: Рябченко А.И.

Минск 2013
1). Задание
Для аргумента , изменяющегося от –0.6 с шагом 0.05 вычислить 20 значений функций:
;


Функцию f2(x) вычислить для ряда точностей . Для указанных точностей определить количество N элементов ряда, суммируемых для достижения заданной точности. Результаты расчетов свести в таблицу.
2). Схема алгоритма.
На рис. 1 представлена схема алгоритма по ГОСТ 19. 701-90.
3). Текст программы.
PROGRAM Ex1;
Uses Crt;
Const
eps1 = 0.01; { Точность 10-2}
eps2 = 0.01; { Точность 10-3 }
eps3 = 0.001; { Точность 10-4 }
a = -0.6; { Начальное значение Х}
b = 0.05; { Шаг}
N = 20; { Количество значений функции }
Var
k1, k2, k3, i: Integer; {Вспомогательные переменные}
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
begin
f1:=(-x/4)+((sqrt(2)*(1+x*x*x*x))/32)
*((((ln(sqr(x)+x*sqrt(2)+1)/(sqr(x)-x*sqrt(2)+1)))+(2*Arctan((x*sqrt(2))/(1-sqr(x)))))); { Вычисляется значение функции f1}
{ Вычисляется значения функции f2}
step:=x; {Начальное значение степени Х}
f2_1:=0; {Начальное значение функции f2_1}
k1:=-1;
repeat {Итерационный цикл для точности 10-2}
inc(k1);
step:=step*x*x*x*x; {Наращивается степень}
slag:=step/((4*k1+1)*(4*k1+5)); {Считается очередное слагаемое}
if (k1 mod 2=0) THEN slag:=slag*1 else slag:=slag*(-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*x*x*x*x; {Наращивается степень}
slag:=step/((4*k2+1)*(4*k2+5)); {Считается очередное слагаемое}
if (k1 mod 2=0) THEN slag:=slag*1 else slag:=slag*(-1);
f2_2:=f2_2+slag;
until abs(slag)<=eps2; {Выход из цикла, когда слагаемое становится меньше точности 10-3}
f2_3:=f2_2;
k3:=k2;
repeat {итерационный цикл для точности 10-4}
inc(k3);
step:=step*x*x*x*x; {Наращивается степень}
slag:=step/((4*k3+1)*(4*k3+5)); {Считается очередное слагаемое}
if (k1 mod 2=0) THEN slag:=slag*1 else slag:=slag*(-1);
f2_3:=f2_3+slag;
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;
end;
{ завершение таблицы }
write('-----------------------------------------------------------');
ReadKey
END.

нет

да

нет

да



нет

да

нет

да



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

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

x f1(x) e=0.01 e=0.001 e=0.0001
f2(x) N f2(x) N f2(x) N
-0.60 -0.015338505 -0.02 1 -0.015 2 -0.0153 3
-0.55 -0.009966783 -0.01 1 -0.010 2 -0.0100 3
-0.50 -0.006207607 -0.01 0 -0.006 1 -0.0063 2
-0.45 -0.003674007 0.00 0 -0.004 1 -0.0037 2
-0.40 -0.002042231 0.00 0 -0.002 1 -0.0021 2
-0.35 -0.001048696 0.00 0 -0.001 1 -0.0011 2
-0.30 -0.000485564 0.00 0 0.000 1 -0.0005 2
-0.25 -0.000195228 0.00 0 0.000 1 -0.0002 2
-0.20 -0.000063989 0.00 0 0.000 1 -0.0001 2
-0.15 -0.000015187 0.00 0 0.000 1 0.0000 2
-0.10 -0.000002000 0.00 0 0.000 1 0.0000 2
-0.05 -0.000000062 0.00 0 0.000 1 0.0000 2
0.00 0.000000000 0.00 0 0.000 1 0.0000 2
0.05 0.000000062 0.00 0 0.000 1 0.0000 2
0.10 0.000002000 0.00 0 0.000 1 0.0000 2
0.15 0.000015187 0.00 0 0.000 1 0.0000 2
0.20 0.000063989 0.00 0 0.000 1 0.0001 2
0.25 0.000195228 0.00 0 0.000 1 0.0002 2
0.30 0.000485564 0.00 0 0.000 1 0.0005 2
0.35 0.001048696 0.00 0 0.001 1 0.0011 2
Категория: ОАиП | Добавил: artemartem
Просмотров: 1724 | Загрузок: 15
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]