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

Лабораторная работа №1 Часть 1 Вариант №6

.doc
Скачиваний:
15
Добавлен:
01.04.2014
Размер:
82.94 Кб
Скачать

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

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

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

Факультет непрерывного и дистанционного образования

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

Лабораторная работа № 1

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

часть 1

Вариант № 6

Выполнил студент: Лысенков А.С.

Группа 901022

Зачетная книжка № 901022-05

Минск 2010

Работа №1

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.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:=0.125*((1-sqr(x)) * ln((1-x)/(1+x)) + 2*(sqr(x) + 1) * arctan(x));

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

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

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

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

k1:=0;

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

inc(k1);

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

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

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*k1+1)*(4*k1+3) ) ; {Считается очередное слагаемое}

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*k1+1)*(4*k1+3)); {Считается очередное слагаемое}

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.

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

x

f1(x)

e=0.01

e=0.001

e=0.0001

f2(x)

N

f2(x)

N

f2(x)

N

-0.60

-0.55

-0.50

-0.45

-0.40

-0.35

-0.30

-0.25

-0.20

-0.15

-0.10

-0.05

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

-0.072839081

-0.055908079

-0.041894976

-0.030483343

-0.021380574

-0.014310148

-0.009006267

-0.005210080

-0.002667033

-0.001125049

-0.000333336

-0.000041667

0.000000000

0.000041667

0.000333336

0.001125049

0.002667033

0.005210080

0.009006267

0.014310148

-0.07

-0.06

-0.04

- 0.03

- 0.02

-0.01

-0.01

-0.01

-0.00

-0.00

-0.00

-0.00

0.00

0.00

0.00

0.00

0.00

0.01

0.01

0.01

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

-0.073

-0.056

-0.042

-0.030

-0.021

-0.014

-0.009

-0.005

-0.003

-0.001

-0.000

-0.000

0.000

0.000

0.000

0.001

0.003

0.005

0.009

0.014

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

-0.0729

-0.0559

-0.0419

-0.0305

-0.0214

-0.0143

-0.0090

-0.0052

-0.0027

-0.0011

-0.0003

0.0000

0.0000

0.0003

0.0052

0.0011

0.0027

0.0052

0.0090

0.0143

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

X:=A

I := 1

2

Нет

Да

f1:=0.125*((1-sqr(x)) * ln((1-x)/(1+x)) + 2*(sqr(x) + 1) * arctan(x));

step:=x*x*x; f2_1:=step/3; k1:=0;

inc(k1);

step:=step*x*x*x*x;

slag:= step/((4*k1+1)*(4*k1+3));

f2_1:=f2_1+slag;

Нет

Да

f2_2:=f2_1;

k2:=k1;

inc(k2);

step:=step*x*x*x*x;

slag:= step/((4*k1+1)*(4*k1+3));

f2_2:=f2_2+slag;

Нет

Да

1

1

f2_3:=f2_2;

k3:=k2;

inc(k3);

step:=step*x*x*x*x;

slag:= step/((4*k1+1)*(4*k1+3));

f2_3:=f2_3+slag;

Нет

Да

Вывод результатов

X:=X+b

I:=I+1

2

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

6