public void main ( ) {
Boolean testResult = true ; Number userInputValue = 1 ; |
|
// Copyright 2007, R.G.Baldwin |
doInOrder { |
|
// Illustrates use of relational and logical operators. |
// This is a different formulation of the solution to |
// the same problem as in the program named Alice0170a. |
// This alternate solution is based on deMorgan's theorem. |
// Program loops for as long as user keeps entering |
// integers outside the range of 1 to 3 inclusive. |
} |
// Perform a priming read and compute test result. |
doInOrder { |
|
userInputValue .set( value , ( NumberDialog( question = Enter an integer between 1 and 3 inclusive. ) ) ); duration = 0 seconds |
testResult .set( value , ( ! ( ( ( userInputValue >= 1 ) && ( userInputValue <= 3 ) ) ) ) ); duration = 0 seconds |
} |
// Execute a "while" loop. |
while ( testResult ) { |
|
// Execute this code when testResult is true. |
penguin .say( Out of range. Try again. ); duration = 2 seconds |
// Get new input and update value of testResult. |
doInOrder { |
|
userInputValue .set( value , ( NumberDialog( question = Enter an integer between 1 and 3 inclusive. ) ) ); duration = 0 seconds |
testResult .set( value , ( ! ( ( ( userInputValue >= 1 ) && ( userInputValue <= 3 ) ) ) ) ); duration = 0 seconds |
} |
} |
// Execute this code when testResult is false. |
doTogether { |
|
// Penguin speaks, turns, and walks away. |
penguin .say( Thanks, I'm outa here. ); duration = 20 seconds |
penguin .turn( RIGHT , .375 revolutions ); |
penguin.walking ( x = 100 ); |
} |
} |