Лабораторная работа 1: Лабораторный практикум По дисциплине «Информатика» Лабораторная работа №1 Вариант 9 вариант 9
Описание
Московский государственный технический университет
имени Н. Э. Баумана
Факультет «Фундаментальные науки»
Кафедра «Теоретическая механика»
Лабораторный практикум
По дисциплине «Информатика»
Лабораторная работа №1
Вариант 9
Выполнил: Копыченко Екатерина Алексеевна
Группа: ФН3-12Б
Проверили: Серебрякова Ирина Леонидовна
________________________
Дебривная Татьяна Леонидовна
_________________________
Москва
2022
Задание
Целочисленные координаты четырех точек на плоскости задаются и соединяются в такой последовательности, чтобы создавался выпуклый четырехугольник вида: квадрат, прямоугольник, параллелограмм или трапеция.
Определить вид четырехугольника и длины его сторон.
Результаты расчетов вывести в таблицу с заголовками, которую создавать с помощью символов псевдографики.
Если введенные координаты определяют четырехугольник другого вида, вывести сообщение об этом, а таблицу не выводить.
Обоснование типов Данных
Название | Обозначение | Тип данных |
Абсцисса первой вершины | Ax | Integer (целочисленный тип данных по условию) |
Ордината первой вершины | Ay | Integer (целочисленный тип данных по условию) |
Абсцисса второй вершины | Bx | Integer (целочисленный тип данных по условию) |
Ордината второй вершины | By | Integer (целочисленный тип данных по условию) |
Абсцисса третьей вершины | Cx | Integer (целочисленный тип данных по условию) |
Ордината третьей вершины | Cy | Integer (целочисленный тип данных по условию) |
Абсцисса четвертой вершины | Dx | Integer (целочисленный тип данных по условию) |
Ордината четвертой вершины | Dy | Integer (целочисленный тип данных по условию) |
Длина AB | l1 | Double (Вещественный тип данных, так как длина может быть не целым числом) |
Длина BC | l2 | Double (Вещественный тип данных, так как длина может быть не целым числом) |
Длина CD | l3 | Double (Вещественный тип данных, так как длина может быть не целым числом) |
Длина AD | l4 | Double (Вещественный тип данных, так как длина может быть не целым числом) |
Вид четырехугольника | v | String (название четырехугольника) |
Код программы
program project_1_lab_main;
{Автор: Копыченко Екатерина
Группа: ФН3-12Б
Задача: вычислить длины сторон четырехугольника по целочисленным координатам его вершин и определить его вид}
var
Ax:integer; //Координата вершины А по оси X
Bx:integer; //Координата вершины B по оси X
Cx:integer; //Координата вершины C по оси X
Dx:integer; //Координата вершины D по оси X
Ay:integer; //Координата вершины A по оси Y
By:integer; //Координата вершины B по оси Y
Cy:integer; //Координата вершины C по оси Y
Dy:integer; //Координата вершины D по оси Y
l1:double; // Длина стороны AB
l2:double; //Длина стороны BC
l3:double; //Длина стороны CD
l4:double; //Длина стороны AD
v:string; //Вид четырехугольника
begin
{Ввод исходных данных}
writeln ('Введите координаты точки А');
readln (Ax,Ay);
writeln ('Введите координаты точки B');
readln (Bx,By);
writeln ('Введите координаты точки C');
readln (Cx,Cy);
writeln ('Введите координаты точки D');
readln (Dx,Dy);
{Расчет длин сторон четырехугольника}
l1 := sqrt(sqr((Ax-Bx)) + sqr((Ay-By)));
l2 := sqrt(sqr((Cx-Bx)) + sqr((Cy-By)));
l3 := sqrt(sqr((Cx-Dx)) + sqr((Cy-Dy)));
l4 := sqrt(sqr((Dx-Ax)) + sqr((Dy-Ay)));
{Проверка параллельности противоположных сторон}
if ((Bx-Ax)*(Dy-Cy)-(Dx-Cx)*(By-Ay)=0) or ((Cx-Bx)*(Ay-Dy)-(Ax-Dx)*(Cy-By)=0)then
{Проверка одновременной параллельности}
if ((Bx-Ax)*(Dy-Cy)-(Dx-Cx)*(By-Ay)=0) and ((Cx-Bx)*(Ay-Dy)-(Ax-Dx)*(Cy-By)=0) then
{Проверка прямого угла между сторонами}
if ((Bx-Ax)*(Dy-Cy)+(Dx-Cx)*(By-Ay))=0 then
{Проверка равенства смежных сторон}
if l1=l2 then
{Опеделение вида четырехугольника}
v:=('square') //Квадрат
else v:=('rectangle')//Прямоугольник
else v:=('parallelogram') //Параллелограмм
else v:=('trapezoid') //Трапеция
else v:=('quadrilateral'); //Четырехугольник
if v =('quadrilateral') then
writeln(v)
else
begin
{Таблица Значений}
writeln(#201,#205,#205,#205,#205,#205,#205,#205,#205,
#205,#203,#205,#205,#205,#205,#205,#205,#205,#205,#205,
#203,
#205,#205,#205,#205,#205,#205,#205,#205,#205,#203,#205,#205,#205,#205,#205,#205,#205,#205,#205,#203,
#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#187);
writeln(#186,'Длина AB ',#186,'Длинна BC',#186,
'Длинна CD',#186,'Длинна AD',#186,'Вид четырехугольника',#186);
writeln(#204,#205,#205,#205,#205,#205,#205,#205,
#205,#205,#206,#205,#205,#205,#205,
#205,#205,#205,#205,#205,#206,#205,
#205,#205,#205,#205,#205,#205,#205,#205,#206,#205,#205,#205,#205,#205,#205,#205,#205,#205,#206,#205,#205,#205,
#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,
#205,#205,#205,#205,#185);
write(#186,l1:9:2,#186);
write(l2:9:2,#186);
write(l3:9:2,#186);
write(l4:9:2,#186);
write(v:20,#186);
writeln();
writeln(#200,#205,#205,#205,#205,#205,#205,#205,#205,#205,#202,
#205,#205,#205,#205,#205,#205,#205,#205,#205,#202,
#205,#205,#205,#205,#205,#205,#205,#205,#205,#202,
#205,#205,#205,#205,#205,#205,#205,#205,#205,#202,
#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#188);
end;
readln;
end.
readln()
end.
Тестовые данные
Координаты точки А | Координаты точки B | Координаты точки C | Координаты точки D | Длина AB | Длина BC | Длина CD | Длина AD | Вид четырехугольника |
(0;0) | (2;5) | (6;5) | (4;0) | 5.39 | 4.00 | 5.39 | 4.00 | Параллелограмм |
(0;0) | (0;4) | (4;4) | (4;0) | 4.00 | 4.00 | 4.00 | 4.00 | Квадрат |
(0;0) | (4;-5) | (4;20) | (-1;0) | - | - | - | - | четырехугольник |
(-2;2) | (4;0) | (12;0) | (12;-2) | 6.32 | 8.00 | 2.00 | 14.00 | Трапеция |
(-5;0) | (-5;5) | (5;5) | (5;0) | 5.00 | 10.00 | 5.00 | 10.00 | Прямоугольник |
Характеристики лабораторной работы
Список файлов
- лабораторна работа №1.docx 3,98 Mb