Запись и вычисление логических выражений

Задание. Для логической формулы установить, при каких значениях переменных она истинна и при каких она ложна. По условию переменные p, q, t — логического типа, x, y, z, v — числовые. Проверьте ваш ответ, выполнив составленную вами программу вычисления формулы для каждого из ваших тестов (наборов значений).

Программу реализации записать по следующей схеме:

ВВОД ПАРАМЕТРОВ, НЕОБХОДИМЫХ В ФОРМУЛЕ

// p, q, t — логического типа

// x, y, z, v — числовые

ЕСЛИ <ФОРМУЛА>

ТО ВЫВОД TRUE

ИНАЧЕ ВЫВОД FALSE

Пример выполнения для пункта № 0 перечня формул.

Вспомним сначала таблицы значений функций и их приоритет:

A Ø a   a b a Ù b a Ú b   Приоритет операций
False true   false false false false   Ø
True false   false true false true   Ù
      True false false true   Ú
      True true true true      

Пусть p =true, q = false, t = false , x =5.2, y =10, z =3.

(x < y) Ù (z < y) Ù p Ú (y < 1) Ù (q Ú Ø t) = [ (x < y) Ù (z < y) Ù p ] Ú [ (y < 1) Ù (q Ú Ø t) ] =

[ (5.2< 10) Ù (3 < 10) Ù true] Ú [ (10 < 1) Ù (false Ú Ø true) ] =

[ (true) Ù (true) Ù true ] Ú [ (false) Ù (false Ú false) ] = [ true ] Ú [ (false) Ù (false) ] =

=[ true ] Ú [ false ] = true Ú false = true

Для выполнения тестов на компьютере заменяем формулу логическим выражением, записывая его в операторе ЕСЛИ после задания переменных:

if( x<y && z<y && p ||

y<1 && (q ||

!t )

) {

Printf(“True!”);

}

Else Printf(“False!”);

Переходя к очередному тесту, заменяем значения переменных.

Перечень логических формул:

0. (x < y) Ù (z < y) Ù p Ú (y < 1) Ù (q Ú Ø t); 1. (p Ù q Ú t) Ú (x ¹ 0) Ù (y – x < 0) Ú p Ú Ø (q Ú t); 2. (x + y – z/2 < x y) Ú p Ù q Ú t ÙØ p Ú (x – y > 0); 3. (x + y > z) Ù (Ø p Ù t) Ú q Ú (x + y – 2z < 0); 4. (x < 0) Ú (Ø p Ù q) Ú (Ø p ÙØ q) Ù(x y > 0); 5. (q Ú t) Ú Ø t ÙØ (y/z > 0) Ú (y + z > x) Ù (q Ù t); 6. (3x + 1 ³ 8) Ù (x + 2y < 5) Ú (x ¹ y) Ù(p Ú Ø q); 7. (x = y) Ú (y £ 1) Ù (p Ú q) Ù (x/2 + y < 1); 8. Ø (x + y = 1) Ú (x – y < 0) ÚØ (p Ú t) Ú (Ø p Ù t); 9. (x > y + 2) ÙØ (p Ú t) Ù (p Ú q) Ú (x + 2y > 5); 10. (p Ú q) Ú (2x – 1 < y) Ú (Ø p Ú q) Ù (x – y < 0); 11. (Ø p ÙØ q) Ú (x > y) Ù (p Ú q) Ù (x y = 0); 12. Ø (x ¹ y) Ú (y ³ 1) Ú (p Ù q Ú t) Ù (y + 2 > x); 13. (x + y ¹ 0) ÙØ (y > 0) Ú (p Ú q Ù t) Ú Ø t Ú q; 14. Ø t Ù q Ú (x + 1 ¹ y) ÙØ (t Ú q) Ú (x + y £ 0); 15. p Ú Ø q Ú (x ¹ 1) Ù (t Ú p Ù q) Ù (y ¹ 0);   16. q ÙØ (x y z = 96) Ú Ø q Ù (x < z) Ù (x/z ¹ 2) Ú (x + y > z – 5); 17. (z/(x + y) < 1) Ù Ø (y = x) Ú p Ù ((y > x + 1) Ú (z/x = 1)); 18. (z = 3x) Ù (y > x + 1) Ù Ø q Ú (x + y ¹ 7) Ú (x/y < 3); 19. q Ù (x = y) Ù (y ¹ x z) Ù Ø t Ú (z/2 < x + y) Ù p; 20. q Ù ((z = y) Ú Ø (x = 2)) Ú (x + z < y) Ù (z/y £ x + 2) ÙØ q; 21. p Ù (x £ 3) Ú (2y = 8) Ù Ø q Ù (x/2 > 1) Ú (x y > 98); 22. (x > y) Ú Ø (z > x) Ú p Ù Ø t Ù (z/x > 3) Ù Ø (z + x = 1); 23. (x y < z + 5) Ú (x > y) ÙØ q Ù (x ¹ y +1); 24. (x/(y +1) < 1) Ú (p Ú q) Ù Ø t Ú (x + y < 0); 25. Ø q Ù (z > x) Ú (y + 3 ³ 5) Ù (x z > 0) Ú Ø (z ¹ y –1); 26. Ø (x = y) Ú (z ¹ 0) Ù (x + 0,5 £ 2) Ú Ø (x – y > 2); 27. (x < z) Ù p Ú Ø (x + 2 > y + z) Ù q Ù (x/z > y) Ú (x y = 3); 28. (x < y) Ù Ø (x/z = 2)Ú Ø q Ù (z £ x + y) Ù (z ¹ x/2) Ù q; 29. Ø (x + y =24) Ú (x – y = 12) Ù (x > 5) Ù q Ú (z < 4) Ù Ø t; 30. (y ¹ z)) Ú Ø (x > y) Ù (y > z) Ú p Ù ((y ¹ x) Ù (x – y = z x).  

Наши рекомендации