function check_is(a, b, c: integer): boolean; begin if a >= b + c then check_is := false else if b >= a + c then check_is := false else if c >= a + b then check_is := false else check_is := true; end; procedure check_how(a, b, c: integer);begin if ((a = b) and (b = c) and (a = c)) then writeln('равносторонний') else if ((a = b) or (b = c) or (a = c)) then writeln('равнобедренный') else writeln('разносторонний'); end;
begin writeln('Введите стороны треугольника'); read(a, b, c); if check_is(a, b, c) then check_how(a, b, c) else writeln('Нет такого треугольника!'); end.
1) Построим таблицу истинности
F = ¬B
B F
0 1
1 0
0 1
1 0
Таблица не соответствует с той, которая в условии. Значит, этот вариант нам не подходит
2) F = B. Этот вариант нам подходит, потому что значение F и B совпадают. Но проверим и остальные варианты
3) Не подходит, т.к. по условию сказано, что переменные связаны
4) Посмотрим таблицу истинности F = A∧B
A B F
0 0 0
Мы уже видим, что наши таблицы не совпадают, поэтому дальше этот вариант можно и ре рассматривать.
ответ: 2
Подробнее - на -
Объяснение:
i, a, b, c: integer;
function check_is(a, b, c: integer):
boolean;
begin
if a >= b + c then check_is := false
else if b >= a + c then
check_is := false else
if c >= a + b then check_is := false else
check_is := true;
end;
procedure check_how(a, b, c: integer);begin
if ((a = b) and (b = c) and (a = c)) then writeln('равносторонний') else
if ((a = b) or (b = c) or (a = c)) then writeln('равнобедренный') else writeln('разносторонний');
end;
begin
writeln('Введите стороны треугольника');
read(a, b, c);
if check_is(a, b, c) then check_how(a, b, c) else writeln('Нет такого треугольника!');
end.