{Проверка на существование треугольника} 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('Треугольник нельзя построить');
Объяснение:
V - это знак "ИЛИ"
& - знак "И"
Действия тут выполняются как в математике:
Сначала умножение (знак &), потом сложение (знак V)
Ну или сначала в скобках действия выполняются.
Для этого есть специальная таблица:
0 v 0 = 0
0 v 1 = 1
1 v 0 = 1
1 v 1 = 1
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
2)
(((1 v 0) v 1) v 1)
1 v 0 = 1
1 v 1 = 1
1 v 1 = 1
ответ: 1
7)
((0 & 0) v 0) & (1 v 1)
0 & 0 = 0
0 v 0 = 0
1 v 1 = 1
0 & 1 = 0
ответ: 0
9)
((1 & A) v (B & 0)) v 1
Начнём со второй скобки:
B & 0 = 0 в любом случае. Остаётся:
((1 & A) v 0)) v 1
Если A = 1, то:
1 & 1 = 1
1 v 0 = 1
1 v 1 = 1
Если A = 0, то:
1 & 0 = 0
0 v 0 = 0
0 v 1 = 1
ответ: 1 в любом случае, даже можно было не решать, так как в конце стоит " v 1 " - это значит, что в любом случае ответ будет 1
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.