Вычислить площадь двух треугольников и сравнить их - Pascal ABC
Формулировка задачи:
Два треугольника заданы длинами сторон . Вычислить их площадь и сравнить их.
Решение задачи: «Вычислить площадь двух треугольников и сравнить их»
textual
Листинг программы
var //треугольники p1 : array[1..3] of real; p2 : array[1..3] of real; z1, z2, s1, s2 : real; //функция проверяет возможен ли треугольник с такими сторонами function isEx(a, b, c : real) : boolean; begin isEx := true; if (a + b <= c) or (a + c <= b) or (b + c <= a) then isEx := false end; procedure s(a, b, c : real; var res : real); var z : real; begin z := a + b + c; res := sqrt((z / 2) * ((z / 2) - a) * ((z / 2) - b) * ((z / 2) - c)) end; begin {ввод сторон треугольников} repeat write('введите стороны 1 треугольника: '); readln(p1[1], p1[2], p1[3]); write('введите стороны 2 треугольника: '); readln(p2[1], p2[2], p2[3]) until (p1[1] > 0) and (p1[2] > 0) and (p1[3] > 0) and (p2[1] > 0) and (p2[2] > 0) and (p2[3] > 0) and isEx(p1[1], p1[2], p1[3]) and isEx(p2[1], p2[2], p2[3]); {нахождение площади} s(p1[1], p1[2], p1[3], s1); s(p2[1], p2[2], p2[3], s2); writeln('площадь 1 треугольника: ', s1:6:3); writeln('площадь 2 треугольника: ', s2:6:3); if s1 > s2 then writeln('площадь 1 треугольника больше'); if s1 < s2 then writeln('площадь 2 треугольника больше'); if s1 = s2 then writeln('площади равны'); end.
Объяснение кода листинга программы
- Создаются две переменные типа массив для хранения сторон первого и второго треугольников.
- Создается функция isEx, которая проверяет, возможен ли треугольник с заданными сторонами.
- Создается процедура s, которая вычисляет площадь треугольника по формуле Герона.
- В цикле вводятся стороны первого и второго треугольников.
- Проверяется, что все стороны больше нуля и треугольники существуют.
- Вычисляются площади первого и второго треугольников.
- Сравниваются площади и выводится соответствующее сообщение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д