Лаба3
.docxФедеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
«Уфимский Государственный Нефтяной Технический Университет»
Кафедра «Прикладная математика и информатика»
Лабораторная работа № 3
по дисциплине
«Информатика»
Вариант 56
Выполнил: ст. гр. ЭС-10-01 Хайбрахманов И.А.
Проверил: Ращепкин А. К.
Уфа 2011
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩЕГОСЯ
ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА
ЗАДАНИЕ:
Разработать программу вычисления значений заданной кусочно-непрерывной функции для произвольных значений исходных данных. Подготовить исходные данные для контрольного расчета значения функции по каждой формуле. Выполнить контрольные расчеты и расчет для заданных исходных данных.
-
z =
а) с использованием условного оператора if-then-else
БЛОК-СХЕМА:
Начало
z,
x, a,b :real n
:integer
a:=2.75;
b:=3.22
x:=
ln(a)+ln(b)
A
A
x<=0
z:=sqrt(sqr(a)+x),
n:=1
Нет
x>a
z:=sin(x+a)
*cos(x/(2*a)), n:=2
Нет
z:=a+sqrt(x+a)*ln(x+a), n:=3
Вывод
z,n
Конец
ПРОГРАММА НА ЯЗЫКЕ PASCAL:
Program L3;
Var z,x,a,b :real;
n :integer;
Begin
b:=3.22;
a:=2.75;
x:= ln(a)+ln(b);
if x<=0
then begin z:=sqrt(sqr(a)+x); n:=1; end
else if x<a then begin z:=sin(x+a) *cos(x/(2*a)); n:=2; end
else z:=a+sqrt(x+a)*ln(x+a); n:=3;
writeln ('z=', z:1:3, ' n=',n);
End.
ТЕКСТОВЫЙ РАСЧЕТ ДЛЯ ЗАДАННЫХ ЗНАЧЕНИЙ ИСХОДНЫХ ДАННЫХ:
z=-0.900 n=3
б) c использованием оператора выбора case
БЛОК-СХЕМА:
начало
z, x, a, b :real n :integer
a:=2.75; b:=3.22;
x:= ln(a)+ln(b)
x<=0
да
x>a
нет
нет нет
n=1
n=3
да
n=2
n
нет n=1
z:=sqrt(sqr(a)+x)
n=2
z:=sin(x+a)*cos(x/(2*a))
n=3
z:=a+sqrt(x+a)*ln(x+a)
вывод
z,n
конец
ПРОГРАММА НА ЯЗЫКЕ PASCAL:
Program L3;
Var z,x,a,b :real;
n :integer;
Begin
a:=2.75;
b:=3.22;
x:= ln(a)+ln(b);
if x<=0
then begin n:=1; end
else if x>a then begin n:=2; end
else n:=3;
case n of
1:z:=sqrt(sqr(a)+x);
2:z:=sin(x+a)*cos(x/(2*a));
3:z:=a+sqrt(x+a)*ln(x+a);
end;
writeln ('z=', z:1:3, ' n=',n);
End.
ТЕКСТОВЫЙ РАСЧЕТ ДЛЯ ЗАДАННЫХ ЗНАЧЕНИЙ ИСХОДНЫХ ДАННЫХ:
z=-0.900 n=3