2 курс БСТ Лабораторные работы / TP_Laboratornaya_rabota_3
.docxМинистерство цифрового развития, Связи и Массовых Коммуникаций
Ордена Трудового Красного Знамени федерального государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики» (МТУСИ)
Кафедра: «Информатика»
Лабораторная работа №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. Это соответствует результату, полученному с помощью ручного подсчета площади пятиугольника по указанной в условиях задачи формуле.
