Введите три числа.Если они могут быть длинами сторон равнобедренного треугольника.Вычислите длины его высот.В - Pascal ABC
Формулировка задачи:
Введите три числа.Если они могут быть длинами сторон равнобедренного треугольника.Вычислите длины его высот.Выведите длину основания и длины высот в порядке возрастания.
Решение задачи: «Введите три числа.Если они могут быть длинами сторон равнобедренного треугольника.Вычислите длины его высот.В»
textual
Листинг программы
program treug;
uses crt;
var a,b,c,ha,hb,hc,osn,s,p:real;
begin
Writeln('Vvedi 3 chisla');
readln(a,b,c);
p:=(a+b+c);
s:=sqrt(p*(p-a)*(p-b)*(p-c));
ha:=2*s/a;
hb:=2*s/b;
hc:=2*s/c;
if a=b then begin osn:=c;
writeln(' ha= ',ha:4:1,' hb= ',hb:4:1,' hc= ',hc:4:1,' osnov= ',osn:4:1);end;
if a=c then begin
osn:=b;
writeln(' ha= ',ha:4:1,' hb= ',hb:4:1,' hc= ',hc:4:1,' osnov= ',osn:4:1);end;
if b=c then begin
osn:=a;
writeln(' ha= ',ha:4:1,' hb= ',hb:4:1,' hc= ',hc:4:1,' osnov= ',osn:4:1);end;
readln;
readln
end.
Объяснение кода листинга программы
Этот код написан на языке Pascal ABC и выполняет следующие действия:
- Выводит сообщение
Введите три числа. - Считывает три числа с помощью функции readln.
- Вычисляет сумму трех чисел, хранящуюся в переменной p.
- Вычисляет длину стороны треугольника, используя формулу sqrt(p(p-a)(p-b)*(p-c)), где a, b и c - введенные пользователем числа. Результат сохраняется в переменной s.
- Вычисляет длины высот треугольника, используя формулу ha=2s/a, hb=2s/b и hc=2*s/c.
- Проверяет, являются ли все три числа равными. Если да, то выводит длины высот для этого случая.
- Завершает программу, вызывая функцию readln дважды, чтобы пропустить строку перед выходом.