Лб инф передел / Pascal / Лабораторные по информатике / ЛБ инф / Лб 2.1 / лабораторная 2
.docxРоссийский государственный гидрометеорологический университет
Кафедра морских информационных систем
Лабораторная работа №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)Так как результат трассировки совпадает с результатом выполнения программы, алгоритм разработан, верно.