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

1_БСТ2154_Архангельский-2

.docx
Скачиваний:
15
Добавлен:
04.04.2023
Размер:
144.45 Кб
Скачать

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

Тема 4.4. «Программирование алгоритмов разветвляющихся структур»

  • ФИО — Архангельский Максим Вячеславович

  • Группа — БСТ2154

  • Номер студенческого билета — ЗБСТ21001

  • Вариант №1

  1. Тема и название работы:

Программирование алгоритмов разветвляющихся структур – Вычисление значения сложной условной функции.

  1. Задание на разработку и вариант задания:

Создать приложение c именем Проект-4-4-Лаб для вычисления для вычисления значения функции e = f(x,y,c,d):

  1. Формализация и уточнение задания

Алгоритм решения данной задачи представляет собой комбинацию вычисления сложной функции с условием выбора наименьшего (наибольшего) из нескольких значений. Он использует все виды разветвлений и программируется с использованием как однострочных, так и блочных операторов if. Данная задача решается с помощью процедуры-функции Razv(), которая, получив в качестве входных параметров аргументы x, y, c,d возвращает вычисленное значение.

  1. Разработка проекта:

    1. Разработка графического интерфейса пользователя

Анализируя задание на разработку проекта, можно сделать вывод, что для организации ввода и вывода данных можно использовать три элемента управления.

Текстовое поле элемента textBox используется как для ввода исходных данных в программу, так и для отображения результатов, получаемых в этой программе.

Элемент label используется для размещения на форме поясняющих надписей.

Кнопка button используется для запуска и окончания программы и инициализируется щелчком левой кнопки мыши.

Таким образом, форма может иметь вид, показанный на рисунке 1.

Рисунок 1 – форма приложения

    1. Установка свойств объектов

В таблице 1 определены свойства объектов.

Таблица 1

Объект

Имя

объекта

Свойство

Значение свойства

Форма

Form1

Name

Form1

Text

Тема 4.4. Программирование алгоритмов

Font

Microsoft Sans Serif; 11,25pt

Метка

label1

Text

Задание: Вычислить значение условной функции e = f(x, y, c, d)

ForeColor

Blue

Метка

label2

Text

x =

Метка

label3

Text

y =

Метка

label4

Text

c =

Метка

label5

Text

d =

Метка

label6

Text

Результат

Метка

label7

Text

e =

ReadOnly

True

Текстовое поле

textBox1

Name

textBox1

Текстовое поле

textBox2

Name

textBox2

Текстовое поле

textBox3

Name

textBox3

Текстовое поле

textBox4

Name

textBox4

Текстовое поле

textBox5

Name

textBox5

Кнопка

button1

Name

button1

Text

Вычислить e = f(x, y, c, d)

Кнопка

button2

Name

button2

Text

Выход

    1. Разработка схемы алгоритма решаемой задачи

Блок-схема алгоритма функции Razv() представлена на рисунке 2.

Рисунок 2 - схема алгоритма функции Razv()

    1. Написание программного кода

Программный код представлен ниже.

//функция получения из TextBox действительного числа

double vvod(TextBox textbox)

{

return Convert.ToDouble(textbox.Text);

}

//процедура вывода в TextBox действительного числа

void vivod(TextBox textbox, double n)

{

textbox.Text = Convert.ToString(n);

}

//функция для вычисления значения функции

double Razv(double x, double y, double c, double d)

{

double e, e1, t;

t = x * y;

if (t > 3)

{

e = Math.Pow(x, 3);

e1 = Math.Log10(Math.Pow(t, c * d));

if (e1 > e) e = e1;

}

else if (t >= 0 && t <= 3)

{

e = c * x;

e1 = d * y;

if (e1 > e) e = e1;

if (x < e) e = x;

if (y < e) e = y;

e *= 3;

}

else

{

e = Math.Pow(2, c * d) - x;

}

return e;

}

private void button1_Click(object sender, EventArgs e)

{

double x, y, c, d, ef;

x = vvod(textBox1);

y = vvod(textBox2);

c = vvod(textBox3);

d = vvod(textBox4);

ef = Razv(x, y, c, d);

vivod(textBox5, ef);

}

private void button2_Click(object sender, EventArgs e)

{

Close();

}

  1. Результаты выполнения проекта

Результат выполнения проекта приведен на рисунке 3.

Рисунок 3 - результат выполнения проекта

  1. Доказательство правильности результатов

Произведем ручной расчет и сравним с результатами, полученными при выполнении проекта.

Разработаны следующие тестовые исходные данные для контрольного решения задачи, проверяющие все ветви функции:

xy > 3

x = 3

y = 2

с = 1

d = 2

e = 27

0 ≤ xy ≤ 3

x = -5

y = 0

с = 1

d = 2

e = -15

xy < 0

x = -5

y =2

с = 3

d = 2

e = 69

При тестовых данных результаты ручного расчета и результаты вычисления на ПК совпадают.

Соседние файлы в предмете Технология программирования