Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
15.04.2015
Размер:
59.59 Кб
Скачать

Российский государственный гидрометеорологический университет

Кафедра морских информационных систем

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

Линейный вычислительный процесс.

Программирование формул.

Вариант №8

Работу выполнили

Студенты группы ИС-148

Подорогин С.Е.

Райтер Д.М.

Работу принял

Доцент кафедры МИС

Неклюдова С.А.

Санкт-Петербург

2012

1)Условие задачи:

По введенным с клавиатуры значениям x, k вычислить Y = f(x):

2) Таблица имён

Имя задачи

Имя в программе

Тип данного

Содержательный смысл

k

k

Вещ.

Исходное данное

x

x

Вещ.

Исходное данное

y

y

Вещ.

Расчётная переменная

3) структурограмма

Ввести x, k

K=1

true

K=2

true

K=3

true

K>3

True

Вывести Y

Блок-схема алгоритма

1

2

4

6

9

10

3

5

7

8

4) Трассировочная таблица

№ блока

Результат вычислений

1

1

Ввод x=1, k=1

2

2

K=1 1=1 true

3

3

= = = 1

4

9

Вывод y=1

5

10

Конец.

6

1

Ввод x=1, k=2

7

2

K=1 2=1 false

8

4

K=2 2=2 true

9

5

10

9

Вывод y=

11

10

Конец.

12

1

Ввод x=1, k=3

13

2

K=1 3=1 false

14

4

K=2 3=2 false

15

6

K=3 3=3 true

16

7

= = =1,41

17

9

Вывод y=1,41

18

10

Конец.

19

1

Ввод x=1, k=4

20

2

K=1 4=1 false

21

4

K=2 4=2 false

22

6

K=3 4=3 false

23

8

24

9

Вывод y=0,61

25

10

Конец.

5) Код программы:

PROGRAM prog2_1;

VAR x, k, y: REAL;

BEGIN

WRITELN('ввести x, k = ');

READLN(x, k);

IF k=1

THEN y:=(ln(abs(x*x+1))/ln(2))

ELSE IF k=2

THEN y:=sqrt(abs(x*x*x+2*x+5))

ELSE IF k=3

THEN y:=sqrt(abs(x+1))+sqrt(abs(x-1))

ELSE y:=exp((-1)/(x*x+1));

WRITELN ('y= ',y:10:2)

END.

6)Так как результат трассировки совпадает с результатом выполнения программы, алгоритм разработан, верно.

Соседние файлы в папке Лб 2.1