2018-2019
2018-2019 copied to clipboard
Lecture "Programming languages", exercise 1
What is the boolean value of not (not True or False and True) or False
?
not (not True or False and True) or False not (False or False) or False not False or False True or False True
Not true or false and true= false and true= false
Not (false)= true
True or false= true
not (not True or False and True) or False not (False or Flase and True) or False not (False and True) or False not (False) or False True or False = True
Rules to keep in mind:
Order of operations (without counting brackets):
- not
- and
- or
False and True = False True and False = False False or True = True True or False = True
Then:
not (not True or False and True) or False since not True = False --> not (False or False and True) or False since False and True = False -> not (False or False) or False since False or False = False --> not (False) or False since not False = True --> True or False since True or False = True --> True
True!
not (not True or False and True) or False?--> not (False or False and True) or False--> not (False or False) or False--> not False or False--> True or False = True
True
not (not True or False and True) or False not (False or False and True) or False not (False or False) or False not False or False True or False True
not (not True or False and True) or False not (False or False and True) or False not (False or False) or False not False or False True or False True
In round brackets the rules are:
- and is the first operation, the result is the first value of the operation or
No brackets: First - not operation Second - and operation Third - remaining or operations
Therefore, the boolean value of not (not True or False and True) or False
is:
not (not True or False) or False
not (False) or False
True or False
True
not (not true or false and true) or false not (false or false and true ) or false not (flase or false) or false not (false) or false true or false true
not (not true or false and true) or false
- I phase: (do the "not" inside brackets) not (false or false and true) or false
- II phase: (do the And inside brackets) not (false or false) or flase
- III phase: (do the or inside brackets)
- not false or false
- IV phase: (do "not")
- true or false
- V (do final "or"): True
- not (not True or False and True) or False
- not (False or False and True) or False
- not (False or False) or False
- True or False
- True
First of all we need to execute operations in round branches and, in particular, not True
. Then we resolve the and
operator. Then the not False
and, finally, the or
operator.
What is the boolean value of not (not True or False and True) or False?
not (not True or False and True) or False not (False or False) or False not False or False True or False True
{not[(not true) or (false and true)]} or false {not[false or (false and true)]} or false {not[false or false]} or false {not false} or false true or false true
TRUE
not (not True or False and True) or False not (False or False and True) or False not (False or False) or False not (False) or False True or False => True
not (not true or false and true) or false not (false or false and true) or false not (false or false) or false not (false) or false not false or false true or false true
Hi all,
Thanks for all the answers! Some comments: it is important, in these cases, to clarify in which order the passages have been executed, in particular for the part not True or False and True
. In this case the paggages should be (between "**" the operation that is considered every time):
**not** True or False and True -->
False or False **and** True -->
False **or** False -->
False
While using another way for executing the operation can result in the same final outputs, it is important to use the right order. For instance, the following approach (exchanging the way the boolean operators are commonly considered) is wrong even if the final result is correct:
not True **or** False and True -->
not True **and** True -->
**not** True -->
False