Добавил:
БГУИР ПОИТ Дистанционное Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ч1 ИПР1 В5 / ИПР1-v2

.docx
Скачиваний:
2
Добавлен:
27.09.2021
Размер:
251.99 Кб
Скачать

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра программного обеспечения информационных технологий

Факультет ФИНО

Специальность ПОИТ

Индивидуальная практическая работа № 1

по дисциплине «Основы алгоритмизации и программирования»

часть 1

Вариант № 5

Выполнил студент: Бордон Е.С.

группа 991051

Зачетная книжка № 99105004

Минск 2020

Задача:

Вычислить значения функций f1(x) и f2(x) для значений аргументов, указанных в вариантах заданий № 1 – 30 по первой работе. Функцию f2(x) вычислить для ряда точностей . Для указанных точностей определить количество N элементов ряда, суммируемых для достижения заданной точности. Результаты расчетов свести в следующую таблицу:

x

f1(x)

f2(x)

N

f2(x)

N

f2(x)

N

….

Задание №5

Для аргумента X , изменяющегося от –0.6 с шагом 0.05 вычислить 20

значений функций:

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

Листинг:

Program l1v2 ;

Uses Crt;

Const

eps1 = 0.01; {Точность 10 -2}

eps2 = 0.001; {Точность 10 -3}

eps3 = 0.0001; {Точность 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:=(((sqrt(3)*x*x)/2)*arctan((x*sqrt(3))/(x+2)))+(((x*x+2)*ln(1-x*x*x))/4)-((3*x*x*ln(1-x))/4) ; {Вычисляется значение функции f1}

{ Вычисляется значения функции f2}

step:=1; {Начальное значение степени Х}

f2_1:= 0; {Начальное значение функции f2_1}

k1:= -1;

repeat {Итерационный цикл для точности 10-2}

inc(k1);

step:=step*x*x*x; {Наращивается степень}

slag:=step/((k1+1)*(3*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*x*x*x; {Наращивается степень}

slag:=step/((k2+1)*(3*k2+1)); {Считается очередное слагаемое}

f2_2:=f2_2+slag;

until abs(slag)<=eps2; {Выход из цикла, когда слагаемое становится меньше точности 10-3}

f2_3:=f2_2;

k3:=k1;

repeat {итерационный цикл для точности 10-4}

inc(k3);

step:=step*x*x*x; {Наращивается степень}

slag:=step/((k3+1)*(3*k3+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 ИПР1 В5