Задание: Определить, что выведет программа при различных значениях s и t.
Рассмотрим программу на языке Бейсик (BASIC):
DIM s, t AS INTEGER
INPUT S
INPUT t
IF NOT s > -4 OR t < 3 THEN
PRINT 'YES'
ELSE
PRINT 'NO'
ENDIF
Эта программа считывает два целых числа s и t, а затем проверяет условие:
NOT s > -4 OR t < 3
Это условие можно переписать как:
NOT (s > -4) OR (t < 3)
Или:
(s <= -4) OR (t < 3)
Если это условие истинно, то программа выводит 'YES', иначе выводит 'NO'.
Аналогично, программа на языке Паскаль:
var s, t: integer;
begin
readln(s);
readln(t);
if not (s > -4) or (t < 3)
then writeln('YES')
else writeln('NO')
end
Делает то же самое.
Разберем условие (s <= -4) OR (t < 3):
Пример:
(-5 <= -4) OR (2 < 3) истинно, и программа выведет 'YES'.(-3 <= -4) OR (4 < 3) ложно, и программа выведет 'NO'.(-5 <= -4) OR (4 < 3) истинно, и программа выведет 'YES'.(-3 <= -4) OR (2 < 3) истинно, и программа выведет 'YES'.Ответ: Программа выводит 'YES', если s ≤ -4 или t < 3, и выводит 'NO' иначе.