Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСНОВЫ АЛГОРИТМИЗАЦИИ.doc
Скачиваний:
188
Добавлен:
16.03.2015
Размер:
1.82 Mб
Скачать

Лабораторная работа №4 Составление циклических программ

Цель работы. Ознакомиться со средствами реализации циклических конструкций на языке Паскаль и получить навыки составления программ с использованием операторов цикла.

Задание 1. Вычислить таблицу значений функции одного аргумента.

Постановка задачи 1. Составить алгоритм и программу вычисления таблицы значений функции f(x) для N значении аргумента X, равномерно распределенных на отрезке [А, Б]. Для проверки программы задать N=10; A=0,55; B=1.

Варианты заданий

Функция Y=f(x)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Значение

A

Значение

X1

Значение

dX

Значение

A

Значение

X1

Значение

dX

1

1

-2A

A/5

16

1

-A

A/4

2

1.5

0

A/4

17

1.5

-2A

A/5

3

2

-2.5A

A/5

18

2

-2.2A

A/5

4

1

0

A/4

19

1

0

A/2

5

2

-2A

A/5

20

2

0

3A/10

6

0.8

-A

A/4

21

0.8

-4A

2A/5

7

1.5

-6A

3A/10

22

1.5

0

A/5

8

1

0

A/4

23

1

-2.2A

A/5

9

0.7

-10A

A/2

24

1.5

-2A

A/5

10

1.5

-A

3A/10

25

0.7

-2A

A/5

11

2

-5A

2A/5

26

2

-8A

2A/5

12

1.2

-2A

A/4

27

1.2

-4A

3A/10

13

1

-6A

2A/5

28

1

-2A

3A/10

14

1.5

-4A

A/5

29

1.5

-2A

A/5

15

2

0

4A/5

30

2

-7A

2A/5

Задание 2. Организация итерационных циклов.

Постановка задачи 2. Используя, оператор цикла, найти сумму элементов, указанных в конкретном варианте.

Методические указания

При определении суммы членов ряда следует использовать рекуррентную формулу для получения следующего члена ряда. Например, требуется найти сумму ряда с точностью , общий член которого равен.

Для вычисления числа суммы целесообразно использовать рекуррентные соотношения, то есть выражать последующий член ряда через предыдущий член. Это существенно сокращает объём вычислительной работы.

Для получения рекуррентной формулы вычислим отношение следующего члена ряда к текущему члену:откуда получаем

При составлении программы будем считать, что точность достигнута, если .

PROGRAM SUM;

CONST

E=0.1E-3;

VAR

N: INTEGER;

AN, SUMMA: REAL;

BEGIN

AN:= 2/3; {первый член ряда}

SUMMA:= 0; {первоначальное значение суммы}

N:= 1; {порядковый номер элемента ряда}

WHILE abs(AN)>E DO

BEGIN

SUMMA:=SUMMA+AN; {накопление суммы}

N:=N+1; {увеличиваем порядковый номер ряда}

AN:=AN*(N+1)/(2*(2*N+1)); {вычисляем следующий член ряда}

END;

WRITELN (SUMMA, AN);

END.