Lecture "Programming languages", exercise 1
Opened this issue ยท 18 comments
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