Файл: Отчет по лабораторной работе 2 Программирование разветвляющегося вычислительного процесса.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 07.11.2023

Просмотров: 115

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство науки и высшего образования Российской Федерации

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

высшего образования

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

Кафедра вычислительной техники и инженерной кибернетики

Отчет

по лабораторной работе №2

«Программирование разветвляющегося вычислительного процесса»

вариант 6

Студент гр. БУС-___-01 ____________ И.И. Иванов

(подпись, дата)

Ст. преподаватель ____________ Р.М. Харисов

(подпись, дата)

Уфа 2023

Лабораторная работа N2

«Программирование разветвляющегося вычислительного процесса»


1. Постановка задачи


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

2. Анализ задачи


Задача состоит в том, чтобы по произвольно заданным значениям параметров a и b вычислить значения параметра х и функции y.

Для вычисления значения у нужно взять значения a и b, вычислить по формуле значение х. Далее проверить, соблюдается ли первое условие x≤0. Если оно соблюдается, вычислить значение у по первой формуле, записать результат, задача решена. Если же первое условие не соблюдается, нужно проверить второе условие 0
Исходных данных достаточно для решения задачи.

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


Область определения функции x=x(a, b) Dx={a≥0, bR, b≠0}, её возможные значения xR.

Значение y задано тремя функциями.

Область определения первой функции у=y1(x)Dу1={xR}, её возможные значения 0≤y1≤1.

Область определения второй функции у=y2(x, a)Dу2={aR, a≠0, xR, x/a>0}, её возможные значения y2R.

Область определения третьей функции у=y3(x, a)Dу3={xR, a>0}, её возможные значения у3R.

Исходные данные не противоречат области определения расчётных функций, значение у вычисляется по третьей формуле.

Подготовим тестовые примеры для проверки правильности программы (для контрольного расчёта).

а) Для проверки первой формулы выберем a=0, b=1. Тогда

x = e0/1*√0 = 0

y = sin2(0) = 0

б) Для проверки второй формулы выберем a=1, b=1. Тогда

x = e1/1*√1 = 2,718

y = lg(2,718/1) = 0,434

в) Для проверки третьей формулы выберем a=5,34, b=2,87. Тогда

x = e5,34/2,87*√5,34 = 14,854

y = 14,8542/5,34+ln(5,34) = 42,991
3. Схема алгоритма

Решение задачи описывается в виде разветвленного алгоритма (рис.1) – в виде элементарной структуры «альтернатива», вложенной в другую «альтернативу».


Work_2


2

1




Ввод

a, b





3





x≤0

да

нет

4






5

x≥π

6

y = sin2x



нет

да







y=


y =

7

8







9

Вывод

y



10

конец


Рис. 1. Схема алгоритма решения задачи

4. Таблица переменных задачи




Смысл переменных

Обозначение

Тип переменной

Примечания

в алгор.

в прогр.

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

Константа

Константа

Параметр


a

b

x


a

b

x


Веществ.

Веществ.

Веществ.


a>0

bR, b≠0

xR

РЕЗУЛЬТАТЫ:

Функция

y

y

Веществ.

уR


5. Текст программы на Паскале
program lab;

var a,b,x,y: real;

begin

writeln ('введите a,b');

readln(a,b);

x:=exp(a/b)*sqrt(a);

if x<=0 then y:=sin(x)*sin(x) else

if x>=Pi then y:=x*x/a+ln(a) else

y:=ln(x/a)/ln(10);

writeln('y = ',y:3:3);

end.
6. Результаты расчёта
Контрольные расчеты:






Результаты контрольных расчётов совпали с результатами ручного тестового расчёта, что подтверждает правильность программы.