Цитата:
Сообщение от Programmer8
Найти, чему будет равно значение логических операций при следующем наборе исходных данных: x=10, y=0, z=-100, v=true.
(x<100) and (z>13) or (y<10)
((not v) or (x+2)<35) or (z>0)
|
А чего тут голову ломать, пускай машина думает, она железная.
Стало быть, пишем программу:
Код:
Var
x,y,z:Integer;
v:boolean;
Begin
x:=10;
y:=0;
z:=-100;
v:=true;
Writeln(' (x<100) and (z>13) or (y<10): ',(x<100) and (z>13) or (y<10));
Writeln('((not v) or ((x+2)<35)) or (z>0): ',((not v) or ((x+2)<35)) or (z>0));
readln
End.
Получаем результат:
Но можно, конечно, и так, без машины:
1.
(x<100) (И)
(z>13) (Л)
(x<100) and (z>13) (Л)
(y<10) (И)
(x<100) and (z>13) or (y<10) = Л or И = И
2.
(not v) (Л)
(x+2)<35 (И)
((not v) or ((x+2)<35)) = Л or И = И
(z>0) (Л)
((not v) or ((x+2)<35)) or (z>0) = И or Л = И