Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Programming Fundamentals/Nested Loops

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

Overview Nested for loops places one for loop inside another for loop. The inner loop is repeated for each iteration of the outer loop. Discussion Nested Control Structures We are going to first introduce the concept of nested control structures. Nesting is a concept that places one item inside of another. Consider: if expression true action else false action This is the basic form of the if then else control structure. Now consider: if age is less than 18 you can't vote if age is less than 16 you can't drive else you can drive else you can vote if age is less than 21 you can't drink else you can drink As you can see we simply included as part of the “true action” a statement and another if then else control structure. We did the same (nested another if then else) for the “false action”. In our example, we nested if then else control structures. Nesting could have an if then else within a while loop. Thus, the concept of nesting allows the mixing of the different categories of control structures. Many complex logic problems require using nested control structures. By nesting control structures (or placing one inside another) we can accomplish almost any complex logic problem. An Example – Nested for loops Here is an example of a 10 by 10 multiplication table: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ------------------------------------------------------------- 1 ! 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 2 ! 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 | 3 ! 3 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | 4 ! 4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 | 40 | 5 ! 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 6 ! 6 | 12 | 18 | 24 | 30 | 36 | 42 | 48 | 54 | 60 | 7 ! 7 | 14 | 21 | 28 | 35 | 42 | 49 | 56 | 63 | 70 | 8 ! 8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 | 72 | 80 | 9 ! 9 | 18 | 27 | 36 | 45 | 54 | 63 | 72 | 81 | 90 | 10 ! 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | We might also see that the answers could be designed as a collection of cells (each cell being exactly six spaces wide). The pseudocode to produce part of the table is: For row = 1, row <= 3, row += 1 For column = 1, column <= 3, column += 1 Output row * column Output "\t" Output "\n" An Example - Nested Do While For Loops Please input what number you want to multiply 3 What number do you want constant 2 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 Would you like another set? Type yes no Ok bye Here is a pseudo code for the example above Function Main Declare Integer answer Declare Integer multiply Declare Integer constant Declare String choice Loop Output "Please input what number you want to multiply" Input multiply Output "What number do you want constant" Input constant Declare Integer i Assign i = 0 For i = 1 to multiply Assign answer = i * constant Output constant & " x " & i & " = " & answer End Output "Would you like another set? Type yes" Input choice Do choice == "Yes" Output "Ok bye" End Key Terms complex logic Often solved with nested control structures. References cnx.org: Programming Fundamentals – A Modular Structured Approach using C++