Нам нужно найти наибольшее число x, при котором данное выражение ложно. Когда оно вообще ложно?
В данном логическом выражении используется дизъюнкция (ИЛИ), которая ложна только в одном случае - это когда оба выражения ложны. Когда же выражения ложны? Рассмотрим же их. В обоих выражениях фигурирует отрицание. То есть, выражение в скобках должны быть истинным. Объясняю:
НЕ (истина) = ложь
А это значит, что условие (x < 10) и (число чётное) должны выполняться. Нам нужно найти наибольшее чётное число. Это не может быть 10, поскольку знак неравенства строгий, следовательно, ближайшее наибольшее чётное число - это 8.
ответ
8
Задание 2
Для данного выражения требуется выполнение следующих условий:
НЕ (x < 7) должно быть ложным, то есть (x < 7) должно быть истинным(x < 6) должно быть ложным
Второе выражение мы можем преобразовать так:
(x ≥ 6). Почему 6 включительно? Потому что, подставив шестёрку в исходное выражение получим: 6 < 6 - ложь. Итого наше выражение имеет вид:
НЕ (x < 7) или (x ≥ 6). Нужно найти наибольшее число, при котором выражение ложно. Это число: 6.
ответ
6
Задание 3
Такое же, как и 2
Задание 4
Решается абсолютно также, как и 2. Дизъюнкция - значит в обеих частях выражения должна быть ложь. Когда ложь получается в двух выражениях? Рассмотрим эти случаи:
НЕ (x < 6) ложно тогда, когда (x < 6) истинно(x < 5) ложно тогда, когда (x ≥ 5)
Решение, что называется, "в лоб" (далеко, очень далеко, не самое лучшее): var s,k1,k5,k10,k50,k100,k500,k1000,k10000:integer; begin write('s = '); readln(s); k1:=0; k5:=0; k10:=0; k50:=0; k100:=0; k500:=0; k1000:=0; k10000:=0; while s>=10000 do begin s:=s-10000; k10000:=k10000+1; end; while s>=1000 do begin s:=s-1000; k1000:=k1000+1; end; while s>=500 do begin s:=s-500; k500:=k500+1; end; while s>=100 do begin s:=s-100; k100:=k100+1; end; while s>=50 do begin s:=s-50; k50:=k50+1; end; while s>=10 do begin s:=s-10; k10:=k10+1; end; while s>=5 do begin s:=s-5; k5:=k5+1; end; while s>=1 do begin s:=s-1; k1:=k1+1; end; writeln('k10000=',k10000,' k1000=',k1000,' k500=',k500,' k100=',k100,' k50=',k50,' k10=',k10,' k5=',k5,' k1=',k1); writeln(' Всего купюр = ',k1+k5+k10+k50+k100+k500+k1000+k10000); end.
Пример: s = 27879 k10000=2 k1000=7 k500=1 k100=3 k50=1 k10=2 k5=1 k1=4 Всего купюр = 21
Нам нужно найти наибольшее число x, при котором данное выражение ложно. Когда оно вообще ложно?
В данном логическом выражении используется дизъюнкция (ИЛИ), которая ложна только в одном случае - это когда оба выражения ложны. Когда же выражения ложны? Рассмотрим же их. В обоих выражениях фигурирует отрицание. То есть, выражение в скобках должны быть истинным. Объясняю:
НЕ (истина) = ложь
А это значит, что условие (x < 10) и (число чётное) должны выполняться. Нам нужно найти наибольшее чётное число. Это не может быть 10, поскольку знак неравенства строгий, следовательно, ближайшее наибольшее чётное число - это 8.
ответ8
Задание 2Для данного выражения требуется выполнение следующих условий:
НЕ (x < 7) должно быть ложным, то есть (x < 7) должно быть истинным(x < 6) должно быть ложнымВторое выражение мы можем преобразовать так:
(x ≥ 6). Почему 6 включительно? Потому что, подставив шестёрку в исходное выражение получим: 6 < 6 - ложь. Итого наше выражение имеет вид:
НЕ (x < 7) или (x ≥ 6). Нужно найти наибольшее число, при котором выражение ложно. Это число: 6.
ответ6
Задание 3Такое же, как и 2
Задание 4Решается абсолютно также, как и 2. Дизъюнкция - значит в обеих частях выражения должна быть ложь. Когда ложь получается в двух выражениях? Рассмотрим эти случаи:
НЕ (x < 6) ложно тогда, когда (x < 6) истинно(x < 5) ложно тогда, когда (x ≥ 5)Итого:
НЕ (x < 6) ИЛИ (x ≥ 5)
ответ5
var s,k1,k5,k10,k50,k100,k500,k1000,k10000:integer;
begin
write('s = '); readln(s);
k1:=0; k5:=0; k10:=0; k50:=0;
k100:=0; k500:=0; k1000:=0; k10000:=0;
while s>=10000 do begin s:=s-10000; k10000:=k10000+1; end;
while s>=1000 do begin s:=s-1000; k1000:=k1000+1; end;
while s>=500 do begin s:=s-500; k500:=k500+1; end;
while s>=100 do begin s:=s-100; k100:=k100+1; end;
while s>=50 do begin s:=s-50; k50:=k50+1; end;
while s>=10 do begin s:=s-10; k10:=k10+1; end;
while s>=5 do begin s:=s-5; k5:=k5+1; end;
while s>=1 do begin s:=s-1; k1:=k1+1; end;
writeln('k10000=',k10000,' k1000=',k1000,' k500=',k500,' k100=',k100,' k50=',k50,' k10=',k10,' k5=',k5,' k1=',k1);
writeln(' Всего купюр = ',k1+k5+k10+k50+k100+k500+k1000+k10000);
end.
Пример:
s = 27879
k10000=2 k1000=7 k500=1 k100=3 k50=1 k10=2 k5=1 k1=4
Всего купюр = 21