This page is optimized for mobile devices, if you would prefer the desktop version just click here

1.6 Scr0360: logical operators in scratch 2.0  (Page 4/7)

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.

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.

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

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

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

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

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.

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.
<< Chapter < Page Page > Chapter >>

Read also:

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.
Jobilize.com uses cookies to ensure that you get the best experience. By continuing to use Jobilize.com web-site, you agree to the Terms of Use and Privacy Policy.