{Проверка на существование треугольника} if ((a+b)>c) and ((a+c)>b) and ((b+c)>a) then Begin if ((a=b)or (b=c) or (a=c)) then Writeln('Треугольник равнобедренный');
if ((a=b) and (b=c)) then Writeln('Треугольник равносторонний') else Writeln('Треугольник разносторонний');
if ((a*a+b*b = c*c) or (a*a+c*c = b*b) or (b*b+c*c = a*a)) then Writeln('Треугольник прямоугольный'); end else Writeln('Треугольник нельзя построить');
10(10) =2^3+2^1=1010(2) 15(10) = 2^3+2^2+2^1+2^0=8+4+2+1=1111(2) 1010(2) в обратном коде - изменяете 0 на 1, 1 на 0 -> 11110101(2) - обратный код дополнительный код - это к обратному добавить 1 -> 11110110(2) - дополнительный код отрицательные числа хранятся в дополнительном коде 15(10) = 1111(2), обратный код к 1111(2) будет 11110000(2), дополнительный - 11110001(2) -15(10) = 11110001(2), дополнительный код к -15(10) будет само число 15 обратный к -15(2) -> 00001110(2) , добавляем 1 -> 00001110(2) +1 = 00001111(2) = 15(10)
uses crt;
Var a,b,c:integer;
Begin
Write('Введите 1-ю сторону: '); Readln(a);
Write('Введите 2-ю сторону: '); Readln(b);
Write('Введите 3-ю сторону: '); Readln(c);
{Проверка на существование треугольника}
if ((a+b)>c) and ((a+c)>b) and ((b+c)>a) then
Begin
if ((a=b)or (b=c) or (a=c)) then
Writeln('Треугольник равнобедренный');
if ((a=b) and (b=c)) then
Writeln('Треугольник равносторонний')
else Writeln('Треугольник разносторонний');
if ((a*a+b*b = c*c) or (a*a+c*c = b*b) or (b*b+c*c = a*a)) then
Writeln('Треугольник прямоугольный');
end
else Writeln('Треугольник нельзя построить');
Readln();
END.