// PascalABC.NET 3.0, сборка 1076 var a,b,c,p,s:real; begin Writeln('Введите через пробел стороны треугольника: '); Read(a,b,c); if (a+b>c) and (a+c>b) and (b+c>a) then begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln('Площадь треугольника равна ',s) end else Writeln('Невозможно построить треугольник') end.
Тестовые решения: Введите через пробел стороны треугольника: 10 15 13.6 Площадь треугольника равна 66.3272183948641
Введите через пробел стороны треугольника: 5 8 20.4 Невозможно построить треугольник
var
a,b,c,p,s:real;
begin
Writeln('Введите через пробел стороны треугольника: ');
Read(a,b,c);
if (a+b>c) and (a+c>b) and (b+c>a) then begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln('Площадь треугольника равна ',s)
end
else Writeln('Невозможно построить треугольник')
end.
Тестовые решения:
Введите через пробел стороны треугольника:
10 15 13.6
Площадь треугольника равна 66.3272183948641
Введите через пробел стороны треугольника:
5 8 20.4
Невозможно построить треугольник
Объяснение:
1. Пронумеруем разряды:
3-й разряд - 4;
2-й разряд - 1;
1-й разряд - 5;
0-й разряд - 3.
4153₈=4·8³+1·8²+5·8¹+3·8⁰
2. 4153₈=4·8³+1·8²+5·8¹+3·8⁰=2048+16+40+3=2155₁₀
3. 125/8=15 (5)
15/8=1 (7)
(1)
125₁₀=175₈
4. Пронумеруем разряды:
2-й разряд - A;
1-й разряд - 6;
0-й разряд - E;
A6E₁₆=(10)(6)(14)=10·16²+6·16¹+14·16⁰
5. A6E₁₆=10·16²+6·16¹+14·16⁰=2560+96+14=2670₁₀
6. 350/16=21 (14=E)
21/16=1 (5)
(1)
350₁₀=15E₁₆
7. 247/2=123 (1)
123/2=61 (1)
61/2=30 (1)
30/2=15 (0)
15/2=7 (1)
7/2=3 (1)
3/2=1 (1)
(1)
247₁₀=11110111₂
247/8=30 (7)
30/8=3 (6)
(3)
247₁₀=367₈
247/16=7 (15=F)
(7)
247₁₀=7F₁₆
Получившиеся числа между собой равны, так как имеют одинаковое число в десятичной системе счисления.