ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ
по дисциплине «Основы программирования»
Выполнил: ст-т гр. 19КП2.
Елисеева Л.В.
Проверил: доцент каф. ИВС
Дрождин В. В.
1 Формулировка задачи
Даны координаты вершин двух треугольников. Определить, какой из них имеет большую площадь.
2 Техническое задание
2.1 Требования к программе
Программа должна определять треугольник с большей площадью.
2.2 Порядок контроля и приёмки
Для контроля правильности работы программы должен быть разработан тестовый набор данных, состоящий из координат двух треугольников. По этим значениям надо вычислить площадь треугольников и выяснить какое из получившихся значений больше. Результат работы программы сравнить с результатом, полученным путем ручного расчета. Если результаты совпадут, то это будет означать, что программа работает правильно.
3 Описание программы
3.1 Общие сведения
Программа разработана в среде PascalABCNET, её текст приведен в приложении А.
3.2 Функциональное назначение
Программа предназначена для определения треугольника с большей площадью .
3.3 Описание логической структуры
Схема программы представлена на рисунке 1.
Решение задачи начинается с определения значений (ввод величин в память компьютера) x1, x2, x3, y1, y2, y3, a1, a2, a3, b1, b2, b3 (блок 2). Затем происходит расчёт площади треугольников №1 и №2 по приведенным формулам (блоки 3-4). После полученные значения сравниваются (блок 5) и выводиться номер треугольника чьё значение больше (блок 6).
![]() |
Рисунок 1 – Схема программы
4 Программа и методика испытаний
Для проверки правильности работы программы подготовлен тестовый набор данных, представленный в таблице 1.
Таблица 1
Координаты треугольника №1 | Координаты треугольника №2 |
x1=1;y1=6 | a1=2; b1=3 |
x2=9;y2=6 | a2=0; b2=4 |
x3=7;y3=9 | a3=-2; b3=1 |
Вручную вычислим площадь.
№1
((x1-x3)*(y2-y3)-(x2-x3)*(y1-y3))/2
((1 − 7) × (6 − 9) − (9 − 7) × (6 − 9))/2=12
№2
((a1-a3)*(b2-b3)-(a2-a3)*(b1-b3))/2
((0-2)*(1-3)-(-2-2)*(4-3))/2=4
№1>№2
Для проверки правильности работы программы необходимо запустить ее на выполнение и ввести исходные данные из таблицы 1. После этого нажать левой кнопкой мыши на кнопку «Ввести». В окне вывода появляется результат работы программы.
При работе программы с тестовыми данными получены результаты, приведенные в приложении Б на рисунках Б.1. Результаты приведенные в таблице 1 совпадают с результатами на рисунке Б.1. Таким образом, можно сделать вывод, что программа работает правильно
5 Описание применения
После запуска программы на экране появляется окно ввода.
(см. Приложение Б). Пользователь должен заполнить поле ввода данных исходными значениями и нажать левой кнопкой мыши на кнопку «Ввести». В окне ввода появляется результаты работы программы.
Вывод
В ходе выполнения лабораторной работы было сформулировано и утверждено техническое задание на разработку программы, выясняющей площадь какого из двух треугольников больше. Разработан алгоритм решения задачи, составлена и отлажена программа, оформлена документация на программу. Проведенные испытания показали, что программа работает правильно.
![]() |
ТЕКСТ ПРОГРАММЫ
Приложение А
(обязательное)
var
x1,x2,x3,y1,y2,y3:real;
a1,a2,a3,b1,b2,b3:real;
s1,s2:real;
Begin
write('Введите вершины 1 треуголника - ');
readln(x1,x2,x3,y1,y2,y3);
write('Введите вершины 2 треуголника - ');
readln(a1,a2,a3,b1,b2,b3);
s1:=abs((x1-x3)*(y2-y3)-(x2-x3)*(y1-y3))/2;
s2:=abs((a1-a3)*(b2-b3)-(a2-a3)*(b1-b3))/2;
if s1<s2 then writeln('Треугольник под №1 площадь имеет больше')
Else
writeln('Треугольник под №2 площадь имеет больше');
readln
end.
![]() |
РЕЗУЛЬТАТЫИСПЫТАНИЙ
Приложение Б
(обязательное)
![]() |
Рисунок Б.1