Лб инф передел / Pascal / Лабораторные по информатике / ЛБ инф / Лб 2.1 / Лаб. раб. 2.1
.docx
Российский Государственный Гидрометеорологический университет
Кафедра Морских Информационных Систем
Лабораторная работа № 2.1
Линейный вычислительный процесс.
Программирование формул.
Вариант № 7
Выполнила студент группы ИС-148
Соловаров Р.А.
Работу принял доцент кафедры МИС
Неклюдова С.А.
Санкт-Петербург
2012
1.Задание
По введенным с клавиатуры значениям x,k вычислить Y=f(x)
2.Формализация
3.Таблица имен
Имя в задаче |
Имя в программе |
Тип Данного |
Содерж. Смысл |
k |
K |
Исх. переменная |
2 или 3 4 или 5 K<5 или K>3 |
x |
X |
Исх. переменная |
2 |
Y |
Y |
Расч. переменная |
|
4.Структограмма
Ввести x, k |
К=2 ,К=3 true |
К=4,К=5 True |
|
К<5,К>3 true |
|
Вывести Y 11.00; 0.20; |
5.Таблица трассировки
№ |
№ блока |
Результат вычислений |
1 |
1 |
Ввод x=2, k=3 |
2 |
2 |
K=2 3=11.00 true |
3 |
3 |
= 11.00 |
4 |
9 |
Вывод y=11.00 |
5 |
10 |
Конец. |
6 |
1 |
Ввод x=4, k=5 |
7 |
2 |
K=4 5=0.20 false |
8 |
4 |
K=4 5=0.20 true |
9 |
5 |
|
10 |
9 |
Вывод y= |
11 |
10 |
Конец. |
6.Блок схема
7.Код программы
PROGRAM P1;
VAR x,Y,k: REAL;
BEGIN Writeln('Введите через пробел x и k'); READLN(x,k);
IF (k=2) or (K=3)
Then Y:=(EXP(k*ln(x)))+x+1;
IF (k=4) or (k=5)
Then Y:=(1/ABS(x+1));
IF (k>5) or (k<3)
Then Y:=SQRT(SQRT(ABS(x+k))+SQRT(ABS(x-1)));
Writeln('Y=', Y:6:2);
END.
8.Вывод
Так как результат трассировки совпадает с результатом выполнения программы, алгоритм разработан, верно.