Looping |
Top Previous Next |
Why loops are used in programming One of the main reasons for using computers is to save the tedium of many repetitive tasks. One of the main uses of loops in programs is to carrry out such repetitive tasks. A loop will execute one or more lines of code (statements) as many times as you want. This is the most common loop type. For loops are executed a fixed number of times, determined by a count. They terminate when the count is exhausted. The count (loop) is held in a variable that can be used in the loop. The count can proceed upwards or downwards, but always does so by a value of 1 unit. This count variable can be a number or even an enumeration. Here is a simple example counting up using numeric values in SmartMS:
OBS: The ShowMessageFmt routine is useful for displaying information in Delphi. In SmartMS you should use ShowMessage + Format. Result is: Count is now 1 Count is now 2 Count is now 3 Count is now 4 Count is now 5 ---------------
Enumerations (see Enumeration and sets to explore) are very readable ways of assigning values to variables by name. They can also be used to control For loops:
Result is: hours[Monday] = 0 hours[Tuesday] = 1 hours[Wednesday]= 1 hours[Thursday] = 1 hours[Friday] = 0 --------------------
We can also use single letters as the count type, because they are also ordinal types:
Character for loop using Delphi Delphi example: count G until A
Result is: Letter = G Letter = F Letter = E Letter = D Letter = C Letter = B Letter = A -----------
The For statements in the examples above have all executed one statement. If you want to execute more than one, you must enclose these in a Begin and End pair.
The Repeat loop type is used for loops where we do not know in advance how many times we will execute. For example, when we keep asking a user for a value until one is provided, or the user aborts. Here, we are more concerned with the loop termination condition.
Result will be: 10 (upon exit1, i will be 10, since 100 > 99). Here we exit1 the repeat loop when a Boolean variable is true. Notice that we use a shorthand - just specifying the variable as the condition is sufficient since the variable value is either true or false.
COMPOUND CONDITIONS with SmartMS
Result will be: 7 (since sqrt(7) > 2.5) Notice that compound statements require separating brackets. Notice also that Repeat statements can accomodate multiple statements without the need for a begin/end pair. The repeat and until clauses form a natural pairing.
While loops are very similar to Repeat loops except that they have the exit condition at the start. This means that we use them when we wish to avoid loop execution altogether if the condition for exit is satisfied at the start.
and the result will be 7 (since sqrt(7) > 2.5)
Notice that our original Repeat Until condition used OR as the compound condition joiner - we continued until either condition was met. With our While condition, we use AND as the joiner - we continue whilst neither condition is met. Have a closer look to see why we do this. The difference is that we repeat an action until something or something else happens. Whereas we keep doing an action while neither something nor something else have happened.
|