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

Министерство цифрового развития, Связи и Массовых Коммуникаций

Ордена Трудового Красного Знамени федерального государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики» (МТУСИ)

Кафедра: «Информатика»

Лабораторная работа №4 «Программирование алгоритмов разветвляющихся структур»

Вариант 8

Проверил: доцент Аляпкин В.В.

Москва 2023 г.

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

Создать приложение для вычисления значения переменной z в зависимости от условий и входных данных.

Блок-схема алгоритма

Рисунок 1. Алгоритм программы

Рисунок 2. Алгоритм процедуры rez()

Графический интерфейс

Рисунок 3. Интерфейс программы

Программный код

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace TP_LabRab_4

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

double vvod(TextBox textbox)

{

return Convert.ToDouble(textbox.Text);

}

void vyvod(TextBox textbox, double z)

{

textbox.Text = Convert.ToString(z);

}

double rez(double x, double y, double a, double b, double c)

{

double n, z;

if (x < 3)

{

n = Math.Pow(x, 2);

if (n < y) n = y;

if (n < c) n = c;

if (n > a) n = a;

z = n;

}

else

{

if (x >= 3 && x <= 4)

{

z = Math.Sqrt(Math.Pow(b, 2) + Math.Pow(c, 2));

}

else

{

n = 0;

n = Math.Pow(y, 3);

if (n < (a * x + c)) z = a * x + c;

else z = n;

}

}

return z;

}

private void button1_Click(object sender, EventArgs e)

{

double x = vvod(textBox1),

y = vvod(textBox2),

a = vvod(textBox3),

b = vvod(textBox4),

c = vvod(textBox5);

double z = rez(x, y, a, b, c);

vyvod(textBox6, z);

}

private void button2_Click(object sender, EventArgs e)

{

Close();

}

}

}

Тесты

В рамках тестирования введем в программу такие значения переменной x, при которых значение z будет рассчитано каждым из трех выражений системы и, как следствие, будет принимать различные значения. Другие переменные сделаем постоянными во всех тестах: a = 2, b = 3, c = 4, y = 10.

Для первого теста возьмем x = 1 (т.е. меньше 3):

Рисунок 3. Результат первого теста, x = 1

Для второго теста возьмем x = 3 (чтобы значение попадало в промежуток от 3 до 4 включительно):

Рисунок 4. Результат второго теста, x = 3

В рамках третьего теста проверим все остальные случаи, возьмем x = 5, т.е. строго больше 4:

Рисунок 5. Результат третьего теста, x = 5

Как видим на рисунках 3, 4 и 5, переменная z в тестах каждый раз принимает разные значения: z = 2, z = 5, z = 1000. Это при том, что вводимые в программу переменные не изменялись, за исключением переменной x. Можно сделать вывод, что формулы расчета z меняются вместе с изменением x, т.е. программа работает корректно. В противном случае мы бы имели повторяющийся результат для формул, не зависящих от x, при заведомо большом y и маленьком a.

Соседние файлы в папке 2 курс БСТ Лабораторные работы