Perform the test and exit on false
The first thing that happens following entry is that a condition is tested for true or false.
If the test returns false, control simply exits the structure without taking any action at all.
Perform some actions and repeat the test on true
If the test returns true:
- One or more actions are performed in sequence.
- The condition is tested again and the process is repeated.
During each iteration , if the test returns false, control exits the structure. If the test returns true, the entire process is repeated.
Each action element may be another structure
Each of the action elements may be implemented by another sequence, selection, or loop structure.
Eventually all of the actions will be completed and the condition will be tested again.
Need to avoid infinite loops
Generally speaking, unless something is done in one of the actions to cause the test to eventually return false, control will never exit the loop.
In this case, the program will be caught in what is commonly called an infinite loop.
Other possible structures
In some programming languages, there are structures other than sequence, selection, and loop that structured-programming experts are willing toaccept for convenience including:
- The switch-case structure.
- The do-until structure.
- The for loop
- The for-each loop
While sometimes more convenient than the three main structures, these structures are not required for the solution of programming logic problems.
Preview
In this module, I will present and explain the simplest example of a selection structure that I was able to write in Scratch without using variablesand without using relational or logical operators. (I will explain operators, including relational and logical operators in future modules.)
Programming interface for the program named IfSimple01
The program places a basketball and two beachballs on the Stage as shown in Image 4 .
Image 4. scratch 2.0 programming interface for the program named ifsimple01.
Click the green flag or the basketball
When the user clicks the green flag in the upper right corner of the stage, the three balls are placed in a horizontal line with the basketball in the center.
Scratch code, which can be paraphrased as shown in Image 5 , is executed each time the user clicks the basketball with the mouse.
Image 5. a paraphrased version of the scratch code.
when Basketball is clicked{
move basketball forward by 90 stepsif(Basketball is touching RightBeachball){
turn Basketball by 180 degrees}//end ifif(Basketball is touching LeftBeachball){
turn Basketball by 180degrees
}//end if}
In other words, if you repetitively click the basketball with the mouse, it will move back and forth from left to right bouncing off of the two beachballs.The basketball will keep bouncing back and forth between the two beachballs for as long as you continue clicking on the basketball.
Discussion and sample code
Let's walk through the steps required to develop this program. I will deal first with the code that defines the behavior of the program when the userclicks the green flag in the upper right corner of the stage in Image 4 .