While (a < -1) and (a > -1) do
Тело этого цикла никогда не будет выполнено даже один раз.
Условие требует, чтобы значение a было ОДНОВРЕМЕННО меньше -1 И БОЛЬШЕ -1.
<span>100111 / 11 = 1101....</span>
1. Строим таблицу истинности и выделяем в ней строки, где функция принимает нулевое значение (см. вложение)
2. В каждой выделенной строке записываем дизъюнкцию из инвертированных значений аргументов, а затем все дизъюнкции объединяем в конъюнкцию.
f(X,Y,Z) = f(0,0,0) = 0 и получаем дизъюнкцию X∨Y∨Z
f(0,1,0) запишется как X∨¬Y∨Z
f(1,0,0) запишется как ¬X∨Y∨Z
f(1,0,1) запишется как ¬X∨Y∨¬Z
Объединяем:
(X∨Y∨Z) ∧ (X∨¬Y∨Z) ∧ (¬X∨Y∨Z) ∧ (¬X∨Y∨¬Z)