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

Лаба3

.docx
Скачиваний:
32
Добавлен:
17.03.2015
Размер:
134.31 Кб
Скачать

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

«Уфимский Государственный Нефтяной Технический Университет»

Кафедра «Прикладная математика и информатика»

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

по дисциплине

«Информатика»

Вариант 56

Выполнил: ст. гр. ЭС-10-01 Хайбрахманов И.А.

Проверил: Ращепкин А. К.

Уфа 2011

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩЕГОСЯ

ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА

ЗАДАНИЕ:

Разработать программу вычисления значений заданной кусочно-непрерывной функции для произвольных значений исходных данных. Подготовить исходные данные для контрольного расчета значения функции по каждой формуле. Выполнить контрольные расчеты и расчет для заданных исходных данных.

  1. 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]