с - гипотенуза, а и b - катеты, тогда по теореме Пифагора: с² = а² + b², откуда с = √(а² + b²).
Р = а + b + c, S = 1/2 · ab.
program praym_treug;
var a,b,c,s,p:real;
begin
write('Введите катеты: '); readln(a,b);
c:=sqrt(a*a+b*b);
p:=a+b+c;
s:=1/2*a*b;
write('Гипотенуза = ',c:5:2,' Периметр = ',p:5:2,' Площадь = ',s:5:2);
end.
:5:2 - форматный вывод, т.е. ограничение на количество цифр в ответе. Для чисел типа real это важно, т.к. обычно в ответе после запятой много цифр (в случае форматного вывода останется только 2 - в нашем случае)
Берем третьи байты и переводим в двоичную систему счисления:добавим в начале нулей, чтобы получилось 8 цифр. ← ← найдем маску. запишем с столбик. если элементы одинаковые, ставим соответствующее число, если элементы разные, ставим крестик: 00000101 00011101 000xx101 ← маска т.к. по правилу в маске, сначала идут единицы, переместим их в начало: 11xx0000 если бы по условию, надо было бы найти наименьшее возможное значение, то мы бы заменяли крестики(х) на нули. т.к. по условию необходимо наибольшее возможное значение, подставляем вместо крестиков(x), единицу и переведем в десятичную систему счисления:
с - гипотенуза, а и b - катеты, тогда по теореме Пифагора: с² = а² + b², откуда с = √(а² + b²).
Р = а + b + c, S = 1/2 · ab.
program praym_treug;
var a,b,c,s,p:real;
begin
write('Введите катеты: '); readln(a,b);
c:=sqrt(a*a+b*b);
p:=a+b+c;
s:=1/2*a*b;
write('Гипотенуза = ',c:5:2,' Периметр = ',p:5:2,' Площадь = ',s:5:2);
end.
:5:2 - форматный вывод, т.е. ограничение на количество цифр в ответе. Для чисел типа real это важно, т.к. обычно в ответе после запятой много цифр (в случае форматного вывода останется только 2 - в нашем случае)