Выяснить, можно ли построить треугольники с заданными сторонами - Pascal ABC
Формулировка задачи:
Даны длины отрезков a,b,c,d,e. Выяснить, можно ли построить треугольники со сторонами {a,b,c}, {b,c,d}, {c,d,e}? Если да, то найдите площадь соответствующего треугольника. Проверку на возможность составления треугольника и вычисление площади оформите в виде подпрограммы.
прошу помощи ребят.
Решение задачи: «Выяснить, можно ли построить треугольники с заданными сторонами»
textual
Листинг программы
uses crt; var a,b,c,d,e: real; procedure Square (name: string; x,y,z: real); var sq: real; begin if ((y+z-x)<=0) or ((x+z-y)<=0) or ((x+y-z)<=0) then writeln('Âû÷èñëåГ*ГЁГҐ ïëîùГ*äè òðåóãîëüГ*ГЁГЄГ* ',name,' Г*åâîçìîæГ*Г®') else begin sq:=0.25*(sqrt((x+y+z)*(y+z-x)*(x+z-y)*(x+y-z))); writeln('ÏëîùГ*äü òðåóãîëüГ*ГЁГЄГ* ',name,' = ',sq:0:2); end; end; begin writeln ('Ââåäèòå äëèГ*Г» îòðåçêîâ '); readln (a,b,c,d,e); Square ('ABC',a,b,c); Square ('BCD',b,c,d); Square ('CDE',c,d,e); readkey end.
Объяснение кода листинга программы
- Объявлены пять переменных типа real: a, b, c, d, e.
- Определена процедура Square с тремя параметрами: name (строка), x, y, z (все три - real).
- В процедуре проверяется условие: если выражение (y+z-x), (x+z-y), (x+y-z) меньше или равно нулю, то выводится сообщение с именем треугольника и пометкой
Г*åâîçìîæГ*Г®
. - Если условие не выполняется, то вычисляется значение переменной sq как квадратный корень из выражения (x+y+z)(y+z-x)(x+z-y)*(x+y-z))/0.25.
- Выводится сообщение с именем треугольника и значением переменной sq.
- В основной части программы выводится приглашение для ввода значений a, b, c, d, e.
- Затем вызывается процедура Square с аргументами 'ABC', a, b, c.
- Аналогично вызываются процедуры Square с аргументами 'BCD', b, c, d и 'CDE', c, d, e.
- В конце программы ожидается нажатие клавиши.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д