# 3 The L oop Control Structure

Size: px
Start display at page:

Transcription

1 3 The L oop Control Structure Loops The while Loop Tips and Traps More Operators The for Loop Nesting of Loops Multiple Initialisations in the for Loop The Odd Loop The break Statement The continue Statement The do-while Loop Summary Exercise The programs that we have developed so far used either a sequential or a decision control instruction. In the first one, the calculations were carried out in a fixed order, while in the second, an appropriate set of instructions were executed depending upon the outcome of the condition being tested (or a logical decision being taken). 1

2 These programs were of limited nature, because when executed, they always performed the same series of actions, in the same way, exactly once. Almost always, if something is worth doing, it s worth doing more than once. You can probably think of several examples of this from real life, such as eating a good dinner or going for a movie. Programming is the same; we frequently need to perform an action over and over, often with variations in the details each time. The mechanism, which meets this need, is the loop, and loops are the subject of this chapter. Loops The versatility of the computer lies in its ability to perform a set of instructions repeatedly. This involves repeating some portion of the program either a specified number of times or until a particular condition is being satisfied. This repetitive operation is done through a loop control instruction. There are three methods by way of which we can repeat a part of a program. They are: (a) Using a for statement (b) Using a while statement (c) Using a do-while statement Each of these methods is discussed in the following pages. The while Loop It is often the case in programming that you want to do something a fixed number of times. Perhaps you want to calculate gross salaries of ten different persons, or you want to convert temperatures from centigrade to fahrenheit for 15 different cities. 2

3 The while loop is ideally suited for such cases. Let us look at a simple example, which uses a while loop. The flowchart shown below would help you to understand the operation of the while loop. START count = 1 is count <= 3 Yes INPUT p, n, r No STOP si = p * n * r / 100 PRINT si count = count + 1 Figure 3.1 /* Calculation of simple interest for 3 sets of p, n and r */ int p, n, count ; float r, si ; count = 1 ; 3

4 while ( count <= 3 ) printf ( "\nenter values of p, n and r " ) ; scanf ( "%d % d %f", &p, &n, &r ) ; si = p * n * r / 100 ; printf ( "Simple interest = Rs. %f", si ) ; count = count + 1 ; And here are a few sample runs... Enter values of p, n and r Simple interest = Rs Enter values of p, n and r Simple interest = Rs Enter values of p, n and r Simple interest = Rs The program executes all statements after the while 3 times. The logic for calculating the simple interest is written within a pair of braces immediately after the while keyword. These statements form what is called the body of the while loop. The parentheses after the while contain a condition. So long as this condition remains true all statements within the body of the while loop keep getting executed repeatedly. To begin with the variable count is initialized to 1 and every time the simple interest logic is executed the value of count is incremented by one. The variable count is many a times called either a loop counter or an index variable. The operation of the while loop is illustrated in the following figure. 4

5 START initialise test False True body of loop STOP increment Figure 3.2 Tips and Traps The general form of while is as shown below: initialise loop counter ; while ( test loop counter using a condition ) do this ; and this ; increment loop counter ; Note the following points about while... The statements within the while loop would keep on getting executed till the condition being tested remains true. When the 5

6 condition becomes false, the control passes to the first statement that follows the body of the while loop. In place of the condition there can be any other valid expression. So long as the expression evaluates to a non-zero value the statements within the loop would get executed. The condition being tested may use relational or logical operators as shown in the following examples: while ( i <= 10 ) while ( i >= 10 && j <= 15 ) while ( j > 10 && ( b < 15 c < 20 ) ) The statements within the loop may be a single line or a block o f statements. In the first case the parentheses are optional. For example, while ( i <= 10 ) i = i + 1 ; is same as while ( i <= 10 i = i + 1 ; ) As a rule the while must test a condition that will eventually become false, otherwise the loop would be executed forever, indefinitely. int i = 1 ; while ( i <= 10 ) printf ( "%d\n", i ) ; 6

7 This is an indefinite loop, since i remains equal to 1 forever. The correct form would be as under: int i = 1 ; while ( i <= 10 ) printf ( "%d\n", i ) ; i = i + 1 ; Instead of incrementing a loop counter, we can even decrement it and still manage to get the body of the loop executed repeatedly. This is shown below: int i = 5 ; while ( i >= 1 ) printf ( "\nmake the computer literate!" ) ; i = i - 1 ; It is not necessary that a loop counter must only be an int. It can even be a float. float a = 10.0 ; while ( a <= 10.5 ) printf ( "\nraindrops on roses..." ) ; printf ( "...and whiskers on kittens" ) ; a = a ; 7

8 Even floating point loop counters can be decremented. Once again the increment and decrement could be by any value, not necessarily 1. What do you think would be the output of the following program? int i = 1 ; while ( i <= ) printf ( "%d\n", i ) ; i = i + 1 ; No, it doesn t print numbers from 1 to It s an indefinite loop. To begin with, it prints out numbers from 1 to After that value of i is incremented by 1, therefore it tries to become 32768, which falls outside the valid integer range, so it goes to other side and becomes which would certainly satisfy the condition in the while. This process goes on indefinitely. What will be the output of the following program? int i = 1 ; while ( i <= 10 ) ; printf ( "%d\n", i ) ; i = i + 1 ; 8

9 This is another indefinite loop, and it doesn t give any output at all. The reason is, we have carelessly given a ; after the while. This would make the loop work like this... while ( i <= 10 ) ; printf ( "%d\n", i ) ; i = i + 1 ; Since the value of i is not getting incremented the control would keep rotating within the loop, eternally. Note that enclosing printf( ) and i = i +1 within a pair of braces is not an error. In fact we can put a pair of braces around any individual statement or set of statements without affecting the execution of the program. More Operators There are variety of operators which are frequently used with while. To illustrate their usage let us consider a problem wherein numbers from 1 to 10 are to be printed on the screen. The program for performing this task can be written using while in the following different ways: (a) int i = 1 ; while ( i <= 10 ) printf ( "%d\n", i ) ; i = i + 1 ; 9

10 (b) int i = 1 ; while ( i <= 10 ) printf ( "%d\n", i ) ; i++ ; Note that the increment operator ++ increments the value of i by 1, every time the statement i++ gets executed. Similarly, to reduce the value of a variable by 1 a decrement operator -- is also available. However, never use n+++ to increment the value of n by 2, since C doesn t recognize the operator +++. (c) int i = 1 ; while ( i <= 10 ) printf ( "%d\n", i ) ; i += 1 ; Note that += is a compound assignment operator. It increments the value of i by 1. Similarly, j = j + 10 can also be written as j += 10. Other compound assignment operators are -=, *=, / = and %=. (d) int i = 0 ; while ( i++ < 10 ) 10

11 printf ( "%d\n", i ) ; In the statement while ( i++ < 10 ), firstly the comparison of value of i with 10 is performed, and then the incrementation of i takes place. Since the incrementation of i happens after its usage, here the ++ operator is called a post-incrementation operator. When the control reaches printf( ), i has already been incremented, hence i must be initialized to 0. (e) int i = 0 ; while ( ++i <= 10 ) printf ( "%d\n", i ) ; In the statement while ( ++i <= 10 ), firstly incrementation of i takes place, then the comparison of value of i with 10 is performed. Since the incrementation of i happens before its usage, here the ++ operator is called a pre-incrementation operator. The for Loop Perhaps one reason why few programmers use while is that they are too busy using the for, which is probably the most popular looping instruction. The for allows us to specify three things about a loop in a single line: (a) Setting a loop counter to an initial value. (b) Testing the loop counter to determine whether its value has reached the number of repetitions desired. (c) Increasing the value of loop counter each time the program segment within the loop has been executed. 11

12 The general form of for statement is as under: for ( initialise counter ; test counter ; increment counter ) do this ; and this ; and this ; Let us write down the simple interest program using for. Compare this program with the one, which we wrote using while. The flowchart is also given below for a better understanding. 12

13 START count = 1 count = count + 1 is count <= 3 Yes No INPUT p, n, r STOP si = p * n * r / 100 PRINT si Figure 3.3 /* Calculation of simple interest for 3 sets of p, n and r */ main ( ) int p, n, count ; float r, si ; for ( count = 1 ; count <= 3 ; count = count + 1 ) printf ( "Enter values of p, n, and r " ) ; scanf ( "%d %d %f", &p, &n, &r ) ; si = p * n * r / 100 ; printf ( "Simple Interest = Rs.%f\n", si ) ; 13

14 If this program is compared with the one written using while, it can be seen that the three steps initialization, testing and incrementation required for the loop construct have now been incorporated in the for statement. Let us now examine how the for statement gets executed: When the for statement is executed for the first time, the value of count is set to an initial value 1. Now the condition count <= 3 is tested. Since count is 1 the condition is satisfied and the body of the loop is executed for the first time. Upon reaching the closing brace of for, control is sent back to the for statement, where the value of count gets incremented by 1. Again the test is performed to check whether the new value of count exceeds 3. If the value of count is still within the range 1 to 3, the statements within the braces of for are executed again. The body of the for loop continues to get executed till count doesn t exceed the final value 3. When count reaches the value 4 the control exits from the loop and is transferred to the statement (if any) immediately after the body of for. The following figure would help in further clarifying the concept of execution of the for loop. 14

15 START initialise test False True body of loop STOP increment Figure 3.4 It is important to note that the initialization, testing and incrementation part of a for loop can be replaced by any valid expression. Thus the following for loops are perfectly ok. for ( i = 10 ; i ; i -- ) printf ( "%d", i ) ; for ( i < 4 ; j = 5 ; j = 0 ) printf ( "%d", i ) ; for ( i = 1; i <=10 ; printf ( "%d",i++ ) ; for ( scanf ( "%d", &i ) ; i <= 10 ; i++ ) printf ( "%d", i ) ; Let us now write down the program to print numbers from 1 to 10 in different ways. This time we would use a for loop instead of a while loop. 15

16 (a) int i ; for ( i = 1 ; i <= 10 ; i = i + 1 ) printf ( "%d\n", i ) ; Note that the initialisation, testing and incrementation of loop counter is done in the for statement itself. Instead of i = i + 1, the statements i++ or i += 1 can also be used. Since there is only one statement in the body of the for loop, the pair of braces have been dropped. As with the while, the default scope of for is the immediately next statement after for. (b) int i ; for ( i = 1 ; i <= 10 ; ) printf ( "%d\n", i ) ; i = i + 1 ; Here, the incrementation is done within the body of the for loop and not in the for statement. Note that inspite of this the semicolon after the condition is necessary. (c) int i = 1 ; for ( ; i <= 10 ; i = i + 1 ) printf ( "%d\n", i ) ; 16

17 Here the initialisation is done in the declaration statement itself, but still the semicolon before the condition is necessary. (d) int i = 1 ; for ( ; i <= 10 ; ) printf ( "%d\n", i ) ; i = i + 1 ; Here, neither the initialisation, nor the incrementation is done in the for statement, but still the two semicolons are necessary. (e) int i ; for ( i = 0 ; i++ < 10 ; ) printf ( "%d\n", i ) ; Here, the comparison as well as the incrementation is done through the same statement, i++ < 10. Since the ++ operator comes after i firstly comparison is done, followed by incrementation. Note that it is necessary to initialize i to 0. (f) int i ; for ( i = 0 ; ++i <= 10 ; ) printf ( "%d\n", i ) ; 17

18 Here, both, the comparison and the incrementation is done through the same statement, ++i <= 10. Since ++ precedes i firstly incrementation is done, followed by comparison. Note that it is necessary to initialize i to 0. Nesting of Loops The way if statements can be nested, similarly whiles and fors can also be nested. To understand how nested loops work, look at the program given below: /* Demonstration of nested loops */ int r, c, sum ; for ( r = 1 ; r <= 3 ; r++ ) /* outer loop */ for ( c = 1 ; c <= 2 ; c++ ) /* inner loop */ sum = r + c ; printf ( "r = %d c = %d sum = %d\n", r, c, sum ) ; When you run this program you will get the following output: r = 1 c = 1 sum = 2 r = 1 c = 2 sum = 3 r = 2 c = 1 sum = 3 r = 2 c = 2 sum = 4 r = 3 c = 1 sum = 4 r = 3 c = 2 sum = 5 Here, for each value of r the inner loop is cycled through twice, with the variable c taking values from 1 to 2. The inner loop 18

19 terminates when the value of c exceeds 2, and the outer loop terminates when the value of r exceeds 3. As you can see, the body of the outer for loop is indented, and the body of the inner for loop is further indented. These multiple indentations make the program easier to understand. Instead of using two statements, one to calculate sum and another to print it out, we can compact this into one single statement by saying: printf ( "r = %d c = %d sum = %d\n", r, c, r + c ) ; The way for loops have been nested here, similarly, two while loops can also be nested. Not only this, a for loop can occur within a while loop, or a while within a for. Multiple Initialisations in the for Loop The initialisation expression of the for loop can contain more than one statement separated by a comma. For example, for ( i = 1, j = 2 ; j <= 10 ; j++ ) Multiple statements can also be used in the incrementation expression of for loop; i.e., you can increment (or decrement) two or more variables at the same time. However, only one expression is allowed in the test expression. This expression may contain several conditions linked together using logical operators. Use of multiple statements in the initialisation expression also demonstrates why semicolons are used to separate the three expressions in the for loop. If commas had been used, they could not also have been used to separate multiple statements in the initialisation expression, without confusing the compiler. 19

20 The Odd Loop The loops that we have used so far executed the statements within them a finite number of times. However, in real life programming one comes across a situation when it is not known beforehand how many times the statements in the loop are to be executed. This situation can be programmed as shown below: /* Execution of a loop an unknown number of times */ char another ; int num ; do printf ( "Enter a number " ) ; scanf ( "%d", &num ) ; printf ( "square of %d is %d", num, num * num ) ; printf ( "\nwant to enter another number y/n " ) ; scanf ( " %c", &another ) ; while ( another == 'y' ) ; And here is the sample output... Enter a number 5 square of 5 is 25 Want to enter another number y/n y Enter a number 7 square of 7 is 49 Want to enter another number y/n n In this program the do-while loop would keep getting executed till the user continues to answer y. The moment he answers n, the loop terminates, since the condition ( another == 'y' ) fails. Note that this loop ensures that statements within it are executed at least once even if n is supplied first time itself. 20

21 Though it is simpler to program such a requirement using a dowhile loop, the same functionality if required, can also be accomplished using for and while loops as shown below: /* odd loop using a for loop */ char another = 'y' ; int num ; for ( ; another == 'y' ; ) printf ( "Enter a number " ) ; scanf ( "%d", &num ) ; printf ( "square of %d is %d", num, num * num ) ; printf ( "\nwant to enter another number y/n " ) ; scanf ( " %c", &another ) ; /* odd loop using a while loop */ char another = 'y' ; int num ; while ( another == 'y' ) printf ( "Enter a number " ) ; scanf ( "%d", &num ) ; printf ( "square of %d is %d", num, num * num ) ; printf ( "\nwant to enter another number y/n " ) ; scanf ( " %c", &another ) ; 21

22 The break Statement We often come across situations where we want to jump out of a loop instantly, without waiting to get back to the conditional test. The keyword break allows us to do this. When break is encountered inside any loop, control automatically passes to the first statement after the loop. A break is usually associated with an if. As an example, let s consider the following example. Example: Write a program to determine whether a number is prime or not. A prime number is one, which is divisible only by 1 or itself. All we have to do to test whether a number is prime or not, is to divide it successively by all numbers from 2 to one less than itself. If remainder of any of these divisions is zero, the number is not a prime. If no division yields a zero then the number is a prime number. Following program implements this logic. int num, i ; printf ( "Enter a number " ) ; scanf ( "%d", &num ) ; i = 2 ; while ( i <= num - 1 ) if ( num % i == 0 ) printf ( "Not a prime number" ) ; break ; i++ ; 22

23 if ( i == num ) printf ( "Prime number" ) ; In this program the moment num % i turns out to be zero, (i.e. num is exactly divisible by i) the message Not a prime number is printed and the control breaks out of the while loop. Why does the program require the if statement after the while loop at all? Well, there are two ways the control could have reached outside the while loop: (a) (b) It jumped out because the number proved to be not a prime. The loop came to an end because the value of i became equal to num. When the loop terminates in the second case, it means that there was no number between 2 to num - 1 that could exactly divide num. That is, num is indeed a prime. If this is true, the program should print out the message Prime number. The keyword break, breaks the control only from the while in which it is placed. Consider the following program, which illustrates this fact. int i = 1, j = 1 ; while ( i++ <= 100 ) while ( j++ <= 200 ) if ( j == 150 ) break ; else printf ( "%d %d\n", i, j ) ; 23

24 In this program when j equals 150, break takes the control outside the inner while only, since it is placed inside the inner while. The continue Statement In some programming situations we want to take the control to the beginning of the loop, bypassing the statements inside the loop, which have not yet been executed. The keyword continue allows us to do this. When continue is encountered inside any loop, control automatically passes to the beginning of the loop. A continue is usually associated with an if. As an example, let's consider the following program. int i, j ; for ( i = 1 ; i <= 2 ; i++ ) for ( j = 1 ; j <= 2 ; j++ ) if ( i == j ) continue ; printf ( "\n%d %d\n", i, j ) ; The output of the above program would be

25 Note that when the value of i equals that of j, the continue statement takes the control to the for loop (inner) bypassing rest of the statements pending execution in the for loop (inner). The do-while Loop The do-while loop looks like this: do this ; and this ; and this ; and this ; while ( this condition is true ) ; There is a minor difference between the working of while and dowhile loops. This difference is the place where the condition is tested. The while tests the condition before executing any of the statements within the while loop. As against this, the do-while tests the condition after having executed the statements within the loop. Figure 3.5 would clarify the execution of do-while loop still further. 25

26 START initialise body of loop increment True test STOP False Figure 3.5 This means that do-while would execute its statements at least once, even if the condition fails for the first time. The while, on the other hand will not execute its statements if the condition fails for the first time. This difference is brought about more clearly by the following program. while ( 4 < 1 ) printf ( "Hello there \n") ; 26

27 Here, since the condition fails the first time itself, the printf( ) will not get executed at all. Let's now write the same program using a do-while loop. do printf ( "Hello there \n") ; while ( 4 < 1 ) ; In this program the printf( ) would be executed once, since first the body of the loop is executed and then the condition is tested. There are some occasions when we want to execute a loop at least once no matter what. This is illustrated in the following example: break and continue are used with do-while just as they would be in a while or a for loop. A break takes you out of the do-while bypassing the conditional test. A continue sends you straight to the test at the end of the loop. 27

28 Summary (a) (b) (c) (d) (e) (f) Exercise The three type of loops available in C are for, while, and dowhile. A break statement takes the execution control out of the loop. A continue statement skips the execution of the statements after it and takes the control to the beginning of the loop. A do-while loop is used to ensure that the statements within the loop are executed at least once. The ++ operator increments the operand by 1, whereas, the -- operator decrements it by 1. The operators +=, -=, *=, /=, %= are compound assignment operators. They modify the value of the operand to the left of them. while Loop [A] What would be the output of the following programs: (a) int j ; while ( j <= 10 ) printf ( "\n%d", j ) ; j = j + 1 ; (b) int i = 1 ; while ( i <= 10 ) ; printf ( "\n%d", i ) ; 28

29 i++ ; (c) int j ; while ( j <= 10 ) printf ( "\n%d", j ) ; j = j + 1 ; (d) int x = 1 ; while ( x == 1 ) x = x - 1 ; printf ( "\n%d", x ) ; (e) int x = 1 ; while ( x == 1 ) x = x - 1 ; printf ( "\n%d", x ) ; (f) char x ; 29

30 while ( x = 0 ; x <= 255 ; x++ ) printf ( "\nascii value %d Character %c", x, x ) ; (g) int x = 4, y, z ; y = --x ; z = x-- ; printf ( "\n%d %d %d", x, y, z ) ; (h) int x = 4, y = 3, z ; z = x-- -y ; printf ( "\n%d %d %d", x, y, z ) ; (i) while ( 'a' < 'b' ) printf ( "\nmalyalam is a palindrome" ) ; (j) int i = 10 ; while ( i = 20 ) printf ( "\na computer buff!" ) ; (k) int i ; while ( i = 10 ) 30

31 printf ( "\n%d", i ) ; i = i + 1 ; (l) float x = 1.1 ; while ( x == 1.1 ) printf ( "\n%f", x ) ; x = x 0.1 ; (m) while ( '1' < '2' ) printf ( "\nin while loop" ) ; (n) char x ; for ( x = 0 ; x <= 255 ; x++ ) printf ( "\nascii value %d Character %c", x, x ) ; (o) int x = 4, y = 0, z ; while ( x >= 0 ) x-- ; y++ ; if ( x == y ) 31

32 continue ; else printf ( \n%d %d, x, y ) ; (p) int x = 4, y = 0, z ; while ( x >= 0 ) if ( x == y ) break ; else printf ( \n%d %d, x, y ) ; x-- ; y++ ; [B] Attempt the following: (a) (b) (c) (d) Write a program to calculate overtime pay of 10 employees. Overtime is paid at the rate of Rs per hour for every hour worked above 40 hours. Assume that employees do not work for fractional part of an hour. Write a program to find the factorial value of any number entered through the keyboard. Two numbers are entered through the keyboard. Write a program to find the value of one number raised to the power of another. Write a program to print all the ASCII values and their equivalent characters using a while loop. The ASCII values vary from 0 to

33 (e) (f) Write a program to print out all Armstrong numbers between 1 and 500. If sum of cubes of each digit of the number is equal to the number itself, then the number is called an Armstrong number. For example, 153 = ( 1 * 1 * 1 ) + ( 5 * 5 * 5 ) + ( 3 * 3 * 3 ) Write a program for a matchstick game being played between the computer and a user. Your program should ensure that the computer always wins. Rules for the game are as follows: There are 21 matchsticks. The computer asks the player to pick 1, 2, 3, or 4 matchsticks. After the person picks, the computer does its picking. Whoever is forced to pick up the last matchstick loses the game. (g) (h) Write a program to enter the numbers till the user wants and at the end it should display the count of positive, negative and zeros entered. Write a program to find the octal equivalent of the entered number. (i) Write a program to find the range of a set of numbers. Range is the difference between the smallest and biggest number in the list. for, break, continue, do-while [C] What would be the output of the following programs: (a) int i = 0 ; for ( ; i ; ) 33

34 printf ( "\nhere is some mail for you" ) ; (b) int i ; for ( i = 1 ; i <= 5 ; printf ( "\n%d", i ) ) ; i++ ; (c) int i = 1, j = 1 ; for ( ; ; ) if ( i > 5 ) break ; else j += i ; printf ( "\n%d", j ) ; i += j ; (d) int i ; for ( i = 1 ; i <= 5 ; printf ( "\n%c", 65 ) ) ; i++ ; [D] Answer the following: (a) The three parts of the loop expression in the for loop are: the i expression the t expression the i expression 34

35 (b) An expression contains relational operators, assignment operators, and arithmetic operators. In the absence of parentheses, they will be evaluated in which of the following order: 1. assignment, relational, arithmetic 2. arithmetic, relational, assignment 3. relational, arithmetic, assignment 4. assignment, arithmetic, relational (c) The break statement is used to exit from: 1. an if statement 2. a for loop 3. a program 4. the function (d) A do-while loop is useful when we want that the statements within the loop must be executed: 1. Only once 2. At least once 3. More than once 4. None of the above (e) In what sequence the initialization, testing and execution of body is done in a do-while loop 1. Initialization, execution of body, testing 2. Execution of body, initialization, testing 3. Initialization, testing, execution of body 4. None of the above (f) Which of the following is not an infinite loop. 1. int i = 1 ; while ( 1 ) i++ ; 2. for ( ; ; ) ; 35

36 3. int True = 0, false ; while ( True ) False = 1 ; 4. int y, x = 0 ; do y = x ; while ( x == 0 ) ; (g) Which of the following statement is used to take the control to the beginning of the loop? 1. exit 2. break 3. continue 4. None of the above [E] Attempt the following: (a) Write a program to print all prime numbers from 1 to 300. (Hint: Use nested loops, break and continue) (b) Write a program to fill the entire screen with a smiling face. The smiling face has an ASCII value 1. (c) Write a program to add first seven terms of the following series using a for loop: 1 1! 2 2! 3 3! (d) Write a program to generate all combinations of 1, 2 and 3 using for loop. (e) According to a study, the approximate level of intelligence of a person can be calculated using the following formula: i = 2 + ( y x ) 36

37 (f) Write a program, which will produce a table of values of i, y and x, where y varies from 1 to 6, and, for each value of y, x varies from 5.5 to 12.5 in steps of 0.5. Write a program to produce the following output: A B C D E F G F E D C B A A B C D E F F E D C B A A B C D E E D C B A A B C D D C B A A B C C B A A B B A A A (g) Write a program to fill the entire screen with diamond and heart alternatively. The ASCII value for heart is 3 and that of diamond is 4. (h) Write a program to print the multiplication table of the number entered by the user. The table should get displayed in the following form. 29 * 1 = * 2 = 58 (i) Write a program to produce the following output:

38 (j) Write a program to produce the following output: (k) A machine is purchased which will produce earning of Rs per year while it lasts. The machine costs Rs and will have a salvage of Rs when it is condemned. If 12 percent per annum can be earned on alternate investments what would be the minimum life of the machine to make it a more attractive investment compared to alternative investment? (l) When interest compounds q times per year at an annual rate of r % for n years, the principle p compounds to an amount a as per the following formula a = p ( 1 + r / q ) nq Write a program to read 10 sets of p, r, n & q and calculate the corresponding as. (m) The natural logarithm can be approximated by the following series. x 1 + x 1 x x x x x x If x is input through the keyboard, write a program to calculate the sum of first seven terms of this series. 38

### Introduction. C provides two styles of flow control:

Introduction C provides two styles of flow control: Branching Looping Branching is deciding what actions to take and looping is deciding how many times to take a certain action. Branching constructs: if

### There are algorithms, however, that need to execute statements in some other kind of ordering depending on certain conditions.

Introduction In the programs that we have dealt with so far, all statements inside the main function were executed in sequence as they appeared, one after the other. This type of sequencing is adequate

### Programming for Engineers Iteration

Programming for Engineers Iteration ICEN 200 Spring 2018 Prof. Dola Saha 1 Data type conversions Grade average example,-./0 class average = 23450-67 893/0298 Grade and number of students can be integers

### REPETITION CONTROL STRUCTURE LOGO

CSC 128: FUNDAMENTALS OF COMPUTER PROBLEM SOLVING REPETITION CONTROL STRUCTURE 1 Contents 1 Introduction 2 for loop 3 while loop 4 do while loop 2 Introduction It is used when a statement or a block of

### Chapter 6. Loops. Iteration Statements. C s iteration statements are used to set up loops.

Chapter 6 Loops 1 Iteration Statements C s iteration statements are used to set up loops. A loop is a statement whose job is to repeatedly execute some other statement (the loop body). In C, every loop

### UNIVERSITY OF ENGINEERING & MANAGEMENT, KOLKATA C ASSIGNMENTS

UNIVERSITY OF ENGINEERING & MANAGEMENT, KOLKATA C ASSIGNMENTS All programs need to be submitted on 7th Oct 206 by writing in hand written format in A4 sheet. Flowcharts, algorithms, source codes and outputs

All copyrights reserved - KV NAD, Aluva Dinesh Kumar Ram PGT(CS) KV NAD Aluva Overview Looping Introduction While loops Syntax Examples Points to Observe Infinite Loops Examples using while loops do..

### Chapter 4. Flow of Control

Chapter 4. Flow of Control Byoung-Tak Zhang TA: Hanock Kwak Biointelligence Laboratory School of Computer Science and Engineering Seoul National Univertisy http://bi.snu.ac.kr Sequential flow of control

### Lecture 6. Statements

Lecture 6 Statements 1 Statements This chapter introduces the various forms of C++ statements for composing programs You will learn about Expressions Composed instructions Decision instructions Loop instructions

### Programming for Electrical and Computer Engineers. Loops

Programming for Electrical and Computer Engineers Loops Dr. D. J. Jackson Lecture 6-1 Iteration Statements C s iteration statements are used to set up loops. A loop is a statement whose job is to repeatedly

### BCA-105 C Language What is C? History of C

C Language What is C? C is a programming language developed at AT & T s Bell Laboratories of USA in 1972. It was designed and written by a man named Dennis Ritchie. C seems so popular is because it is

### Flow Control. CSC215 Lecture

Flow Control CSC215 Lecture Outline Blocks and compound statements Conditional statements if - statement if-else - statement switch - statement? : opertator Nested conditional statements Repetitive statements

### n Group of statements that are executed repeatedly while some condition remains true

Looping 1 Loops n Group of statements that are executed repeatedly while some condition remains true n Each execution of the group of statements is called an iteration of the loop 2 Example counter 1,

### Subject: PIC Chapter 2.

02 Decision making 2.1 Decision making and branching if statement (if, if-, -if ladder, nested if-) Switch case statement, break statement. (14M) 2.2 Decision making and looping while, do, do-while statements

### Other Loop Options EXAMPLE

C++ 14 By EXAMPLE Other Loop Options Now that you have mastered the looping constructs, you should learn some loop-related statements. This chapter teaches the concepts of timing loops, which enable you

### Loops / Repetition Statements

Loops / Repetition Statements Repetition statements allow us to execute a statement multiple times Often they are referred to as loops C has three kinds of repetition statements: the while loop the for

Assoc. Prof. Dr. Marenglen Biba (C) 2010 Pearson Education, Inc. All for repetition statement do while repetition statement switch multiple-selection statement break statement continue statement Logical

### C++ Programming: From Problem Analysis to Program Design, Third Edition

C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 5: Control Structures II (Repetition) Why Is Repetition Needed? Repetition allows you to efficiently use variables Can input,

### Chapter 3 Structured Program Development

1 Chapter 3 Structured Program Development Copyright 2007 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 3 - Structured Program Development Outline 3.1 Introduction

### Repetition, Looping. While Loop

Repetition, Looping Last time we looked at how to use if-then statements to control the flow of a program. In this section we will look at different ways to repeat blocks of statements. Such repetitions

### COP 2000 Introduction to Computer Programming Mid-Term Exam Review

he exam format will be different from the online quizzes. It will be written on the test paper with questions similar to those shown on the following pages. he exam will be closed book, but students can

### Chapter 5 : Repetition (pp )

Page 1 of 41 Printer Friendly Version User Name: Stephen Castleberry email Id: scastleberry@rivercityscience.org Book: A First Book of C++ 2007 Cengage Learning Inc. All rights reserved. No part of this

### Dept. of CSE, IIT KGP

Control Flow: Looping CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Types of Repeated Execution Loop: Group of

### Control Flow. COMS W1007 Introduction to Computer Science. Christopher Conway 3 June 2003

Control Flow COMS W1007 Introduction to Computer Science Christopher Conway 3 June 2003 Overflow from Last Time: Why Types? Assembly code is typeless. You can take any 32 bits in memory, say this is an

### (Refer Slide Time: 00:26)

Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute Technology, Madras Module 07 Lecture 07 Contents Repetitive statements

### School of Computer Science CPS109 Course Notes 6 Alexander Ferworn Updated Fall 15. CPS109 Course Notes 6. Alexander Ferworn

CPS109 Course Notes 6 Alexander Ferworn Unrelated Facts Worth Remembering Use metaphors to understand issues and explain them to others. Look up what metaphor means. Table of Contents Contents 1 ITERATION...

### MODULE 2: Branching and Looping

MODULE 2: Branching and Looping I. Statements in C are of following types: 1. Simple statements: Statements that ends with semicolon 2. Compound statements: are also called as block. Statements written

### Repetition, Looping CS101

Repetition, Looping CS101 Last time we looked at how to use if-then statements to control the flow of a program. In this section we will look at different ways to repeat blocks of statements. Such repetitions

### CS112 Lecture: Repetition Statements

CS112 Lecture: Repetition Statements Objectives: Last revised 2/18/05 1. To explain the general form of the java while loop 2. To introduce and motivate the java do.. while loop 3. To explain the general

### Chapter 5. Repetition. Contents. Introduction. Three Types of Program Control. Two Types of Repetition. Three Syntax Structures for Looping in C++

Repetition Contents 1 Repetition 1.1 Introduction 1.2 Three Types of Program Control Chapter 5 Introduction 1.3 Two Types of Repetition 1.4 Three Structures for Looping in C++ 1.5 The while Control Structure

### Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 18 Switch Statement (Contd.) And Introduction to

### Data Types and the while Statement

Session 2 Student Name Other Identification Data Types and the while Statement The goals of this laboratory session are to: 1. Introduce three of the primitive data types in C++. 2. Discuss some of the

### C++ Programming Lecture 7 Control Structure I (Repetition) Part I

C++ Programming Lecture 7 Control Structure I (Repetition) Part I By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department while Repetition Structure I Repetition structure Programmer

### Module 4: Decision-making and forming loops

1 Module 4: Decision-making and forming loops 1. Introduction 2. Decision making 2.1. Simple if statement 2.2. The if else Statement 2.3. Nested if Statement 3. The switch case 4. Forming loops 4.1. The

### CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING Chapter 4: Repetition Control Structure

Learning Objectives At the end of this chapter, student should be able to: Understand the requirement of a loop Understand the Loop Control Variable () Use increment (++) and decrement ( ) operators Program

### Unit 3 Decision making, Looping and Arrays

Unit 3 Decision making, Looping and Arrays Decision Making During programming, we have a number of situations where we may have to change the order of execution of statements based on certain conditions.

### Computer Programming. Basic Control Flow - Loops. Adapted from C++ for Everyone and Big C++ by Cay Horstmann, John Wiley & Sons

Computer Programming Basic Control Flow - Loops Adapted from C++ for Everyone and Big C++ by Cay Horstmann, John Wiley & Sons Objectives To learn about the three types of loops: while for do To avoid infinite

### Islamic University of Gaza Computer Engineering Dept. C++ Programming. For Industrial And Electrical Engineering By Instructor: Ruba A.

Islamic University of Gaza Computer Engineering Dept. C++ Programming For Industrial And Electrical Engineering By Instructor: Ruba A. Salamh Chapter Four: Loops 2 Chapter Goals To implement while, for

### Relational Operators EXAMPLE. C++ By

C++ By 9 EXAMPLE Relational Operators Sometimes you won t want every statement in your C++ program to execute every time the program runs. So far, every program in this book has executed from the top and

### \n is used in a string to indicate the newline character. An expression produces data. The simplest expression

Chapter 1 Summary Comments are indicated by a hash sign # (also known as the pound or number sign). Text to the right of the hash sign is ignored. (But, hash loses its special meaning if it is part of

### INTRODUCTION TO C++ PROGRAM CONTROL. Dept. of Electronic Engineering, NCHU. Original slides are from

INTRODUCTION TO C++ PROGRAM CONTROL Original slides are from http://sites.google.com/site/progntut/ Dept. of Electronic Engineering, NCHU Outline 2 Repetition Statement for while do.. while break and continue

### Statements. Control Flow Statements. Relational Operators. Logical Expressions. Relational Operators. Relational Operators 1/30/14

Statements Control Flow Statements Based on slides from K. N. King Bryn Mawr College CS246 Programming Paradigm So far, we ve used return statements and expression statements. Most of C s remaining statements

### Chapter Goals. Contents LOOPS

CHAPTER 4 LOOPS Slides by Donald W. Smith TechNeTrain.com Final Draft Oct 30, 2011 Chapter Goals To implement while, for, and do loops To hand-trace the execution of a program To become familiar with common

### DHA Suffa University CS 103 Object Oriented Programming Fall 2015 Lab #01: Introduction to C++

DHA Suffa University CS 103 Object Oriented Programming Fall 2015 Lab #01: Introduction to C++ Objective: To Learn Basic input, output, and procedural part of C++. C++ Object-orientated programming language

### 5.1. Chapter 5: The Increment and Decrement Operators. The Increment and Decrement Operators. The Increment and Decrement Operators

Chapter 5: 5.1 Looping The Increment and Decrement Operators The Increment and Decrement Operators The Increment and Decrement Operators ++ is the increment operator. It adds one to a variable. val++;

C How to Program, 6/e Before writing a program to solve a particular problem, it s essential to have a thorough understanding of the problem and a carefully planned approach to solving the problem. The

### Unit 3. Operators. School of Science and Technology INTRODUCTION

INTRODUCTION Operators Unit 3 In the previous units (unit 1 and 2) you have learned about the basics of computer programming, different data types, constants, keywords and basic structure of a C program.

### CS112 Lecture: Loops

CS112 Lecture: Loops Objectives: Last revised 3/11/08 1. To introduce some while loop patterns 2. To introduce and motivate the java do.. while loop 3. To review the general form of the java for loop.

### Problem Solving and 'C' Programming

Problem Solving and 'C' Programming Targeted at: Entry Level Trainees Session 05: Selection and Control Structures 2007, Cognizant Technology Solutions. All Rights Reserved. The information contained herein

### Loops / Repetition Statements. There are three loop constructs in C. Example 2: Grade of several students. Example 1: Fixing Bad Keyboard Input

Loops / Repetition Statements Repetition s allow us to execute a multiple times Often they are referred to as loops C has three kinds of repetition s: the while loop the for loop the do loop The programmer

### Unit 7. Functions. Need of User Defined Functions

Unit 7 Functions Functions are the building blocks where every program activity occurs. They are self contained program segments that carry out some specific, well defined task. Every C program must have

### Chapter 2: Functions and Control Structures

Chapter 2: Functions and Control Structures TRUE/FALSE 1. A function definition contains the lines of code that make up a function. T PTS: 1 REF: 75 2. Functions are placed within parentheses that follow

### [Page 177 (continued)] a. if ( age >= 65 ); cout << "Age is greater than or equal to 65" << endl; else cout << "Age is less than 65 << endl";

Page 1 of 10 [Page 177 (continued)] Exercises 4.11 Identify and correct the error(s) in each of the following: a. if ( age >= 65 ); cout

### Structured Program Development

Structured Program Development Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan Outline Introduction The selection statement if if.else switch The

### Subject: Computer Science

Subject: Computer Science Topic: Data Types, Variables & Operators 1 Write a program to print HELLO WORLD on screen. 2 Write a program to display output using a single cout statement. 3 Write a program

### Full file at C How to Program, 6/e Multiple Choice Test Bank

2.1 Introduction 2.2 A Simple Program: Printing a Line of Text 2.1 Lines beginning with let the computer know that the rest of the line is a comment. (a) /* (b) ** (c) REM (d)

### ADARSH VIDYA KENDRA NAGERCOIL COMPUTER SCIENCE. Grade: IX C++ PROGRAMMING. Department of Computer Science 1

NAGERCOIL COMPUTER SCIENCE Grade: IX C++ PROGRAMMING 1 C++ 1. Object Oriented Programming OOP is Object Oriented Programming. It was developed to overcome the flaws of the procedural approach to programming.

### Control Statements: Part 1

4 Let s all move one place on. Lewis Carroll Control Statements: Part 1 The wheel is come full circle. William Shakespeare How many apples fell on Newton s head before he took the hint! Robert Frost All

### Module 10A Lecture - 20 What is a function? Why use functions Example: power (base, n)

Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Module 10A Lecture - 20 What is a function?

### Chapter 5: Control Structures

Chapter 5: Control Structures In this chapter you will learn about: Sequential structure Selection structure if if else switch Repetition Structure while do while for Continue and break statements S1 2017/18

### Structured Programming. Dr. Mohamed Khedr Lecture 9

Structured Programming Dr. Mohamed Khedr http://webmail.aast.edu/~khedr 1 Two Types of Loops count controlled loops repeat a specified number of times event-controlled loops some condition within the loop

### Repetition Structures

Repetition Structures Chapter 5 Fall 2016, CSUS Introduction to Repetition Structures Chapter 5.1 1 Introduction to Repetition Structures A repetition structure causes a statement or set of statements

### Fundamentals of Computer Programming Using C

CHARUTAR VIDYA MANDAL S SEMCOM Vallabh Vidyanagar Faculty Name: Ami D. Trivedi Class: FYBCA Subject: US01CBCA01 (Fundamentals of Computer Programming Using C) *UNIT 3 (Structured Programming, Library Functions

### Overview of C, Part 2. CSE 130: Introduction to Programming in C Stony Brook University

Overview of C, Part 2 CSE 130: Introduction to Programming in C Stony Brook University Integer Arithmetic in C Addition, subtraction, and multiplication work as you would expect Division (/) returns the

### 5. Control Statements

5. Control Statements This section of the course will introduce you to the major control statements in C++. These control statements are used to specify the branching in an algorithm/recipe. Control statements

### Repe\$\$on CSC 121 Fall 2015 Howard Rosenthal

Repe\$\$on CSC 121 Fall 2015 Howard Rosenthal Lesson Goals Learn the following three repetition methods, their similarities and differences, and how to avoid common errors when using them: while do-while

### Information Science 1

Information Science 1 Fundamental Programming Constructs (1) Week 11 College of Information Science and Engineering Ritsumeikan University Topics covered l Terms and concepts from Week 10 l Flow of control

### Loops and Files. Chapter 04 MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz

Loops and Files Chapter 04 MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz Chapter Topics o The Increment and Decrement Operators o The while Loop o Shorthand Assignment Operators o The do-while

### Decision Making -Branching. Class Incharge: S. Sasirekha

Decision Making -Branching Class Incharge: S. Sasirekha Branching The C language programs presented until now follows a sequential form of execution of statements. Many times it is required to alter the

### LOOPS. Repetition using the while statement

1 LOOPS Loops are an extremely useful feature in any programming language. They allow you to direct the computer to execute certain statements more than once. In Python, there are two kinds of loops: while

### Loops / Repetition Statements

Loops / Repetition Statements Repetition statements allow us to execute a statement multiple times Often they are referred to as loops C has three kinds of repetition statements: the while loop the for

### c) Comments do not cause any machine language object code to be generated. d) Lengthy comments can cause poor execution-time performance.

2.1 Introduction (No questions.) 2.2 A Simple Program: Printing a Line of Text 2.1 Which of the following must every C program have? (a) main (b) #include (c) /* (d) 2.2 Every statement in C

### 8. Control statements

8. Control statements A simple C++ statement is each of the individual instructions of a program, like the variable declarations and expressions seen in previous sections. They always end with a semicolon

### Chapter 3. More Flow of Control. Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Chapter 3 More Flow of Control Overview 3.1 Using Boolean Expressions 3.2 Multiway Branches 3.3 More about C++ Loop Statements 3.4 Designing Loops Slide 3-3 Flow Of Control Flow of control refers to the

### Control structures in C. Going beyond sequential

Control structures in C Going beyond sequential Flow of control in a program Start (main) Program starts with the first statement in main Instructions proceed sequentially: One at a time Top to bottom

### Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan

Lecture 08-1 Programming in C++ PART 1 By Assistant Professor Dr. Ali Kattan 1 The Conditional Operator The conditional operator is similar to the if..else statement but has a shorter format. This is useful

### C++ Programming: From Problem Analysis to Program Design, Fourth Edition. Chapter 5: Control Structures II (Repetition)

C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 5: Control Structures II (Repetition) Objectives In this chapter, you will: Learn about repetition (looping) control structures

### Introduction to C Programming

1 2 Introduction to C Programming 2.6 Decision Making: Equality and Relational Operators 2 Executable statements Perform actions (calculations, input/output of data) Perform decisions - May want to print

### Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types

### Program Development. Java Program Statements. Design. Requirements. Testing. Implementation

Program Development Java Program Statements Selim Aksoy Bilkent University Department of Computer Engineering saksoy@cs.bilkent.edu.tr The creation of software involves four basic activities: establishing

### Problem Solving With Loops

To appreciate the value of loops, take a look at the following example. This program will calculate the average of 10 numbers input by the user. Without a loop, the three lines of code that prompt the

### L o o p s. for(initializing expression; control expression; step expression) { one or more statements }

L o o p s Objective #1: Explain the importance of loops in programs. In order to write a non trivial computer program, you almost always need to use one or more loops. Loops allow your program to repeat

### CS1100 Introduction to Programming

Decisions with Variables CS1100 Introduction to Programming Selection Statements Madhu Mutyam Department of Computer Science and Engineering Indian Institute of Technology Madras Course Material SD, SB,

### Lecture 05 I/O statements Printf, Scanf Simple statements, Compound statements

Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 05 I/O statements Printf, Scanf Simple

### PROGRAMMING IN C AND C++:

PROGRAMMING IN C AND C++: Week 1 1. Introductions 2. Using Dos commands, make a directory: C:\users\YearOfJoining\Sectionx\USERNAME\CS101 3. Getting started with Visual C++. 4. Write a program to print

ARITHMETIC OPERATORS if AND if/else AND while LOOP Order of Operation (Precedence Part 1) Copyright 2014 Dan McElroy Add Subtract Multiply Divide + Add - Subtract * Multiply / Divide = gives the quotient

### Lab 2: Structured Program Development in C

Lab 2: Structured Program Development in C (Part A: Your first C programs - integers, arithmetic, decision making, Part B: basic problem-solving techniques, formulating algorithms) Learning Objectives

### Computers Programming Course 7. Iulian Năstac

Computers Programming Course 7 Iulian Năstac Recap from previous course Operators in C Programming languages typically support a set of operators, which differ in the calling of syntax and/or the argument

### Unit 5. Decision Making and Looping. School of Science and Technology INTRODUCTION

INTRODUCTION Decision Making and Looping Unit 5 In the previous lessons we have learned about the programming structure, decision making procedure, how to write statements, as well as different types of

### Condition-Controlled Loop. Condition-Controlled Loop. If Statement. Various Forms. Conditional-Controlled Loop. Loop Caution.

Repetition Structures Introduction to Repetition Structures Chapter 5 Spring 2016, CSUS Chapter 5.1 Introduction to Repetition Structures The Problems with Duplicate Code A repetition structure causes

### Loops! Loops! Loops! Lecture 5 COP 3014 Fall September 25, 2017

Loops! Loops! Loops! Lecture 5 COP 3014 Fall 2017 September 25, 2017 Repetition Statements Repetition statements are called loops, and are used to repeat the same code mulitple times in succession. The

### STUDENT LESSON A12 Iterations

STUDENT LESSON A12 Iterations Java Curriculum for AP Computer Science, Student Lesson A12 1 STUDENT LESSON A12 Iterations INTRODUCTION: Solving problems on a computer very often requires a repetition of

### IT 1033: Fundamentals of Programming Loops

IT 1033: Fundamentals of Programming Loops Budditha Hettige Department of Computer Science Repetitions: Loops A loop is a sequence of instruction s that is continually repeated until a certain condition

### A Look Back at Arithmetic Operators: the Increment and Decrement

A Look Back at Arithmetic Operators: the Increment and Decrement Spring Semester 2016 Programming and Data Structure 27 Increment (++) and Decrement (--) Both of these are unary operators; they operate

### Full file at

Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class

### Information Science 1

Topics covered Information Science 1 Fundamental Programming Constructs (1) Week 11 Terms and concepts from Week 10 Flow of control and conditional statements Selection structures if statement switch statement

### Lecture 2. Examples of Software. Programming and Data Structure. Programming Languages. Operating Systems. Sudeshna Sarkar

Examples of Software Programming and Data Structure Lecture 2 Sudeshna Sarkar Read an integer and determine if it is a prime number. A Palindrome recognizer Read in airline route information as a matrix

### STUDENT OUTLINE. Lesson 8: Structured Programming, Control Structures, if-else Statements, Pseudocode

STUDENT OUTLINE Lesson 8: Structured Programming, Control Structures, if- Statements, Pseudocode INTRODUCTION: This lesson is the first of four covering the standard control structures of a high-level