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

оаип ч1 лаба 1

.docx
Скачиваний:
13
Добавлен:
01.04.2014
Размер:
164.44 Кб
Скачать

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

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

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

Факультет ФНиДО

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

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

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

часть 1

Вариант № 25

Выполнил студент: Мирончик В.В.

группа 001022

Зачетная книжка № 001022-24

Минск 2010

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,j, i: Integer; {Вспомогательные переменные}

init,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:=1/(1-x)*ln(1/(1-x)); { Вычисляется значение функции f1}

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

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

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

k1:=0;

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

init:=0;

inc(k1);

for j:=1 to k1 do init:=init+1/j;

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

slag:=step*init; {Считается очередное слагаемое}

f2_1:=f2_1+slag; {Считается значение f2_1}

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

f2_2:=f2_1;

k2:=k1;

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

init:=0;

inc(k2);

for j:=1 to k1 do init:=init+1/j;

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

slag:=step*init; {Считается очередное слагаемое}

f2_2:=f2_2+slag; {Считается значение f2_2}

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

f2_3:=f2_2;

k3:=k2;

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

init:=0;

inc(k3);

for j:=1 to k1 do init:=init+1/j;

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

slag:=step*init; {Считается очередное слагаемое}

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.293752268

-0.282745117

-0.270310072

-0.256250729

-0.240337312

-0.222299698

-0.201818665

-0.178514841

-0.151934631

-0.121532124

-0.086645618

-0.046466823

0.000000000

0.053992941

0.117067240

0.191198741

0.278929439

0.383576097

0.509535634

0.662742948

-0.29

-0.28

-0.27

-0.26

-0.24

-0.22

-0.20

-0.18

-0.15

-0.12

-0.09

-0.05

0.00

0.05

0.12

0.19

0.28

0.38

0.51

0.66

12

10

9

7

7

6

5

4

4

3

3

2

1

2

3

3

4

4

5

6

-0.295

-0.284

-0.269

-0.255

-0.240

-0.223

-0.202

-0.179

-0.152

-0.122

-0.087

-0.046

0.000

0.054

0.117

0.191

0.279

0.383

0.509

0.662

13

11

10

8

8

7

6

5

5

4

4

3

2

3

4

4

5

5

6

7

-0.2934

-0.2824

-0.2701

-0.2561

-0.2406

-0.2221

-0.2020

-0.1783

-0.1519

-0.1216

-0.0867

-0.0464

0.0000

0.0539

0.1170

0.1910

0.2788

0.3831

0.5091

0.6622

16

14

12

10

9

8

7

6

6

5

5

4

3

4

5

5

6

6

7

8

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