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

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

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

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

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

Лабораторная работа №3 «Структура программы на C# и функции. Средства программирования алгоритмов линейной структуры»

Вариант 4

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

Москва 2023 г.

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

Создать приложение для вычисления площади пятиугольника, заданного прямоугольными координатами своих вершин: A1(3;2), A2(9;6), A3(14;2), A4(10;-3), A5(7;-2).

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

где( x1;y1), (x2;y2), (x3;y3) - заданные координаты вершин треугольника.

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

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

Форма приложения имеет вид, представленный на рисунке 1.

Рисунок 1. Графический интерфейс программы

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

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

Рисунок 3. Алгоритм процедуры trsq(), отвечающей за вычисление площади треугольника

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

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_3

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

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

double vvod(TextBox textbox)

{

return Convert.ToDouble(textbox.Text);

}

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

void vyvod(TextBox textbox, double S)

{

textbox.Text = Convert.ToString(S);

}

//процедура вычисления площади треугольника

double trsq(double X1, double Y1, double X2, double Y2, double X3, double Y3)

{

return (Math.Abs((X2 - X1) * (Y3 - Y1) - (X3 - X1) * (Y2 - Y1)))/2;

}

private void button1_Click_1(object sender, EventArgs e)

{

double X1 = vvod(textBox1), Y1 = vvod(textBox2),

X2 = vvod(textBox3), Y2 = vvod(textBox4),

X3 = vvod(textBox5), Y3 = vvod(textBox6),

X4 = vvod(textBox7), Y4 = vvod(textBox8),

X5 = vvod(textBox9), Y5 = vvod(textBox10);

//Представим площадь пятиугольника как сумму площадей трех треугольников

double S1 = trsq(X1, Y1, X2, Y2, X3, Y3);

double S2 = trsq(X1, Y1, X5, Y5, X3, Y3);

double S3 = trsq(X4, Y4, X5, Y5, X3, Y3);

double S = S1 + S2 + S3;

vyvod(textBox11, S);

}

private void button2_Click(object sender, EventArgs e)

{

Close();

}

}

}

Тестирование работы программы

Введем в программу координаты вершин пятиугольника, заданные в условиях задачи: A1(3;2), A2(9;6), A3(14;2), A4(10;-3), A5(7;-2). Получив результат, сделаем дамп экрана. Результат представлен на рисунке 4.

Рисунок 4. Вычисления и результат

С помощью разработанной программы был получен результат 53,5. Это соответствует результату, полученному с помощью ручного подсчета площади пятиугольника по указанной в условиях задачи формуле.

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