<< Chapter < Page Chapter >> Page >

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 .

Image c. a truth table for the logic in the program named logical01.

Missing image.
Image C. A truth table for the logic 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 .

Image d. program output for row 1 in image c.

Missing image.
Image D. Program output for row 1 in Image C.

Image e. program output for row 2 in image c.

Missing image.
Image E. Program output for row 2 in Image C.

Image f. program output for row 3 in image c.

Missing image.
Image F. Program output for row 3 in Image C.

Discussion and sample code

Image G shows a full size screen shot of the programming panel from Image A

Image g. programming panel for the program named logical01.

Missing image.
Image G. Programming panel for the program named Logical01.

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.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Teaching beginners to code. OpenStax CNX. May 27, 2013 Download for free at http://cnx.org/content/col11498/1.20
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Teaching beginners to code' conversation and receive update notifications?

Ask