Otchyot_po_LR4 (562999)
Текст из файла
«Московский государственный технический университет имени Н.Э. Баумана»
(МГТУ им Н.Э. Баумана)
Факультет: «Факультет международных образовательных программ»
Кафедра «Прикладная математика»
Лабораторный практикум
По дисциплине «Информатика»
Лабораторная работа №4
Вариант №22
Выполнил: студент Сапрыкинс.А.
группы ФН2И-11
Проверила к.т.н. доцент Серебрякова И.Л.
кафедры ИУ-7
Проверила к.т.н. доцент Дебривная Т.Л
кафедры ИУ-7
Москва-2017
Условие задачи:
Заданы целочисленные координаты вершин треугольника (перечисляются против часовой стрелки).
Вывести таблицу с заголовками, которую создать с помощью символов псевдографики, заданные координаты и расстояния от начала координат до вершин в порядке обхода против часовой стрелки, ведя отсчет от оси ординат.
Определить вид треугольника : произвольный или нет. Вывести сообщение об этом.
Описание используемых входных данных:
С клавиатуры последовательно вводятся координаты вершин треугольника, ведя перечисление против часовой стрелки от оси ординат. Ввод осуществляется в виде: x1 y1 x2 y2 x3 y3 через пробел. Сначала вводится абсцисса, затем ордината вершины.
Числа по условию вводятся целые.
Блок-схема алгоритма:
Начало
Ввод x1, y1, x2, y2, x3, y3
a1:=sqrt(sqr(x1)+sqr(y1))
a2:=sqrt(sqr(x2)+sqr(y2))
a3:=sqrt(sqr(x3)+sqr(y3))
Вывод x1, y1, x2, y2, x3, y3
Вывод a1, a2, a2
b1:=round(sqrt(sqr(x2-x1)+sqr(y2-y1)))
1
b2:=round(sqrt(sqr(x3-x2)+sqr(y3-y2)))
1
b3:=round(sqrt(sqr(x1-x3)+sqr(y1-y3)))
(b1>=b2+b3) или (b2>=b1+b3) или (b3>=b2+b1)?
Нет
Да
Нет
Да
(b1=b2) и (b2=b3)?
(b1=b2) или (b2=b3) или (b3=b1)?
Нет
Да
((x2-x1)*(y2-y1)+(x3-x2)*(y3-y2)=0)or
((x2-x3)*(y2-y3)+(x3-x1)*(y3-y1)=0)or
((x3-x1)*(y3-y1)+(x2-x3)*(y2-y3)=0)?
Нет
Да
Треугольник прямоугольный
Треугольник произвольный
Треугольник равносторонний
Треугольник равнобедренный
Треугольник не существует
Конец
Листинг кода:
program FUB;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
x1,x2,x3:integer; //значения абсцисс вершин;
y1,y2,y3:integer; //значения ординат вершин;
a1,a2,a3:real; //расстояния от начала координат до вершин;
b1,b2,b3:real; //длины сторон треугольника;
begin
writeln('Введите значения x1,y1,x2,y2,x3,y3 (перечисляя координаты точек против часовой стрелки)');
writeln;
readln(x1,y1,x2,y2,x3,y3); //вводим значения абсцисс и ординат
writeln;
a1:=sqrt(sqr(x1)+sqr(y1)); //первое расстояние до вершины
a2:=sqrt(sqr(x2)+sqr(y2)); //второе расстояние до вершины
a3:=sqrt(sqr(x3)+sqr(y3)); //третье расстояние до вершины
//создаём таблицу
writeln(#201#205#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#187);
//вывод заголовков
writeln(#186,'Вершина 1 ',#186,'Вершина 2',#186,'Вершина 3',#186);
writeln(#204#205#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#185);
//вывод координат вершин
writeln(#186,x1:5,';',y1:4,#186,x2:4,';',y2:4,#186,x3:4,';',y3:4,#186);
writeln(#204#205#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#185);
//вывод графы для расстояний
writeln(#186,'Расстояния от центра координат',#186);
writeln(#204#205#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#185);
//вывод значений расстояний
writeln(#186,'',a1:10:5,'',#186,'',a2:9:5,'',#186,'',a3:9:5,'',#186);
writeln(#200#205#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#188);
b1:=round(sqrt(sqr(x2-x1)+sqr(y2-y1))); //длина первой стороны
b2:=round(sqrt(sqr(x3-x2)+sqr(y3-y2))); //длина второй стороны
b3:=round(sqrt(sqr(x1-x3)+sqr(y1-y3))); //длина третьей стороны
//проверка на существование треугольника
if (b1>=b2+b3)or(b2>=b1+b3)or(b3>=b2+b1) then
writeln('Треугольник не существует')
else
//проверяем равносторонний ли треугольник
if (b1=b2)and(b2=b3) then
writeln('Треугольник равносторонний')
else
//проверяем равнобедренный ли треугольник
if (b1=b2)or(b2=b3)or(b3=b1) then
writeln('Треугольник равнобедренный')
else
//проверяем прямоугольный ли треугольник
if ((x2-x1)*(y2-y1)+(x3-x2)*(y3-y2)=0)or
((x2-x3)*(y2-y3)+(x3-x1)*(y3-y1)=0)or
((x3-x1)*(y3-y1)+(x2-x3)*(y2-y3)=0)then
writeln('Треугольник прямоугольный')
else
//иначе треугольник произвольный
writeln('Треугольник произвольный');
readln;
end.
Набор тестовых данных:
-
Набор координат для несуществующего треугольника
x1=6; y1=6; x2=5; y2=5; x3=3; y3=3 -
Набор координат для равнобедренного треугольника
x1=2; y1=1; x2=-5; y2=6; x3=-5; y3=-4 -
Набор координат для прямоугольного треугольника
x1=-3; y1=7; x2=-3; y2=-1; x3=2; y3=-1 -
Набор координат для произвольного треугольника
x1=3; y1=3; x2=-6; y2=8; x3=-15; y3=-9 -
У равностороннего треугольника не может быть вершин с целыми значениями, поэтому в программе введены округления
Набор координат для равностороннего треугольника
x1=5; y1=5; x2=0; y2=9; x3=-5; y3=0
Скриншоты работы программы:
2)
4)
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.