46.34K
Категория: ПрограммированиеПрограммирование

Истинность логического выражения. Задание 15

1.

Истинность логического
выражения
Задание 15

2.

Пример 1
При каком наибольшем целом A найдутся такие целые
неотрицательные x и y, что выражение (3x+y>48)∨(x>y)∨(4x+y<A)
будет ложным?
def f(x,y):
return(3*x+y>48) or (x>y) or (4*x+y<a)
for a in range(100):
if any(f(x,y)==0 for x in range(100) for y
in range(100)):
print(a)

3.

Пример 2
Элементами множеств А, P и Q являются натуральные числа,
причём P = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20} и Q = { 3, 6, 9, 12, 15, 18,
21, 24, 27, 30 }. Известно, что выражение
((x ∈ A) → (x ∈ P)) ∧ (¬(x ∈ Q) → ¬(x ∈ A))
истинно (т. е. принимает значение 1) при любом значении
переменной х. Определите наибольшее возможное количество
элементов множества A.

4.

Пример решения:
A = 1
for x in range(-10000,10000):
P = x in {2, 4, 6, 8, 10, 12, 16, 18, 20}
Q = x in {3, 6, 9, 12, 15, 18, 21, 24, 27,
30}
f = ((A)<=(P)) and ((not Q)<=(not A))
if f:
print(x)

5.

Пример 3
На числовой прямой даны два отрезка: D = [7; 68] и C = [29; 100].
Укажите наименьшую возможную длину такого отрезка A, для
которого логическое выражение
(x∈D)→((¬(x∈C)∧¬(x∈A))→¬(x∈D))
истинно (т.е. принимает значение 1) при любом значении
переменной х.

6.

Пример решения:
for x in [0.25*k for k in range(40000)]:
a = 0
d = 7 <= x <= 68
c = 29 <= x <= 100
f = d <= (((not c) and (not a)) <= (not d))
if not f:
print(x)

7.

Пример 4
Обозначим через m & n поразрядную конъюнкцию
неотрицательных целых чисел n и m. Так, например, 14 & 5 = 11102
& 01012 = 01002 = 4.
Для какого наибольшего целого положительного числа А
выражение (x&А=0)∨¬(x&37=0)∨¬(x&12=0) тождественно истинно,
то есть принимает значение 1 при любых целых положительных х?

8.

Пример решения:
def f(x):
return
(x&a==0)or(not(x&37==0))or(not(x&12==0))
for a in range(100000):
if all(f(x) for x in range(100000)):
print(a)
English     Русский Правила