If either A or B are true, then the expression (A or B) evaluates to true. Otherwise, it evaluates to false. Correspondingly, if (A or B) is true, then not(A or B) is false. Otherwise it is true.
A practical example
Image C is a truth table that shows some of the possible results produced by the logic used in the program named Logical01 .
Evaluation against trial values
On any given row in Image C , the four columns labeled A , B , C , and D show trial values that can be assigned to the corresponding variables having the same names in the program. Each of the rightmost threecolumns on that row shows the result of evaluating the relational-logical expression at the top of the column.
Let's walk through this
Let's walk across the row labeled 2 . Although the value of C is algebraically less than the value of D , the value of A is not less than the value of B because the two have equal values. As a result, the expression ((A Lt B)and(C Lt D)) evaluates to false.
Note that for publishing reasons that are two complicated to explain here, it is sometimes necessary for me to substitute the letters "Lt" in thetext for the left angle bracket.
Both operands of an and operator must be true for the entire expression to be true. Correspondingly, the complement of that value shown in the next column is true.
Even though the value of A is not less than the value of B for row 2, the value of C is less than the value of D . Therefore, the value of ((A Lt B)or(C Lt D)) is true. Only one operand of an inclusive or operator must be true for the entire expression to be true.
Can become very complex
Although not illustrated here, extremely complex logical expressions can be constructed by using parentheses for grouping terms and applying a combinationof and operators, or operators, and not operators.
Program output
Image D , Image E , and Image F show screen shots of the Stage in Image A for different combinations of values for the slider variables A , B , C , and D . The values for the four variables in each of the three images correspond to the values assigned to the correspondingcolumns in Image C .
Compare the output values in each image with the values shown in the corresponding columns in Image C .
Discussion and sample code
Image G shows a full size screen shot of the programming panel from Image A
The top script in Image G initializes all of the variables to 0 when the user clicks the green flag. You already knowabout code like that from what you learned in earlier modules.
Note that the not operator in the third script is a unary operator because it has only one operand. It alsouses the prefix format because it appears to the left of its operand. If you can't see that in Image G , open the green Operators toolbox and take a look at the block for the not operator. It is more obvious there.