chapter 5: control structures: iteration visual basic.net programming: from problem analysis to...
TRANSCRIPT
![Page 1: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/1.jpg)
Chapter 5: Control Structures: Iteration
Visual Basic .NET Programming:
From Problem Analysis to Program Design
![Page 2: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/2.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 2
Objectives
• Explore the iteration structure
• Implement iteration using the Do While and Do Until statements
• Implement iteration using the For Next statement
• Create nested structures
![Page 3: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/3.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 3
Exploring the Iteration Structure
• Iteration structure
– Execute one or more statements repeatedly
– Often called a loop
– Write a set of statements
• Repeatedly execute them until terminating condition is reached
![Page 4: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/4.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 4
Iteration Logic
• Basic iteration logic:
– First test to see whether loop should terminate
– If loop does not terminate
• Statement or statements in loop body executed
– Control returns to beginning
![Page 5: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/5.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 5
![Page 6: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/6.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 6
Iteration Logic (continued)
• Infinite loop
– Never ends
– Terminating condition never occurs
• Pre-test loop
– Terminating condition checked before body of loop executed
– Statements in loop may not be executed
• If terminating condition met
![Page 7: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/7.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 7
Iteration Logic (continued)
• Post-test loop
– Terminating condition checked after body of loop executed
– Statements in loop executed at least once
• Regardless of terminating condition
![Page 8: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/8.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 8
![Page 9: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/9.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 9
Controlling Iteration
• Counter control
– Employs Integer variable to count number of times loop has executed
– Variable called counter
– Update counter each time loop executes
![Page 10: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/10.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 10
Controlling Iteration (continued)
• Counter control (continued)
– When counter reaches predetermined value
• Loop terminates
– Can increment or decrement counter by any value that suits program logic
![Page 11: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/11.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 11
![Page 12: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/12.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 12
Controlling Iteration (continued)
• Sentinel-control logic
– Checks user input for specific value
– Terminates when value detected
– Value called sentinel
• Should be unique value
![Page 13: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/13.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 13
![Page 14: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/14.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 14
Implementing Iteration Using the Do While and Do Until
Statements• Iteration statements:
– Do
• Do While
• Do Until
– For
![Page 15: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/15.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 15
Writing Loops Using Do While
• Pre-test loop– Terminating condition is tested at beginning of
loop
• Syntax:Do While expression
Statements
Loop
• Loop continues to execute as long as expression is true
![Page 16: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/16.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 16
Example 5-3: Computing an exam average using a counter-
controlled Do While loop
1. ' define variables
2. Dim sum, average AsDouble
3. Dim numberOfExams As Integer = 5
4. Dim counter As Integer = 1
…
![Page 17: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/17.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 17
Example 5-3: Computing an exam average using a counter-
controlled Do While loop…
5. ' begin loop
6. Do While (counter <= numberOfExams)
7. Console.WriteLine(“Enter an Exam Score: “)
8. sum = sum + Convert.ToDouble(Console.ReadLine())
9. counter += 1 ' count the number of iterations
10. Loop
…
![Page 18: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/18.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 18
Example 5-3: Computing an exam average using a counter-
controlled Do While loop
…
11. ' compute & display the average
12. average = sum / numberOfExams
13. Console.WriteLine(“The average is: “ &
Math.Round(average, 1))
…
![Page 19: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/19.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 19
![Page 20: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/20.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 20
Writing Loops Using Do Until
• Executes until expression is true
– Contrast to Do While
• Syntax
Do Until expression
Statement(s)
Loop
![Page 21: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/21.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 21
![Page 22: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/22.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 22
Implementing Iteration Using the For Next Statement
• For Next loops provide only:
– Counter-controlled loop
– Pre-test loop
• Initializes counter variable
• Automatically increments counter
– Simplifies and shortens code
![Page 23: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/23.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 23
![Page 24: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/24.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 24
![Page 25: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/25.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 25
Example 5-9: Computing an Exam Average Using a For
Next Loop1. ' define variables
2. Dim sum, average As Double
3. Dim numberOfExams As Integer = 5
4. Dim counter As Integer
5. ' begin loop
6. For counter = 1 To 5 Step 1
7. Console.WriteLine("Enter an Exam Score: ")
…
![Page 26: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/26.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 26
Example 5-9: Computing an Exam Average Using a For
Next Loop (continued)…
8. sum = sum + Convert.ToDouble(Console.ReadLine())
9. Next
10. ' compute & display the average
11. average = sum / numberOfExams
12. Console.WriteLine("The average is: " & Math.Round(average, 1))
![Page 27: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/27.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 27
Creating Nested Structures
• Nested loop
– One iteration structure placed inside another
• Can place iteration inside selection
– And vice versa
![Page 28: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/28.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 28
Example 5-12: Computing an Exam Average Using a Nested
For Next Loop (excerpt)
For studentCounter = 1 To numberOfStudents
8. sum = 0 ' reinitialize sum
9. ' begin inner loop for exams
10. For examCounter = 1 To numberOfExams
11. Console.WriteLine (“Enter an Exam Score: “)
12. score = Convert.ToDouble (Console.ReadLine())
![Page 29: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/29.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 29
Example 5-12: Computing an Exam Average Using a Nested
For Next Loop (continued)
13. sum += score
14. Next ' end of inner loop
15. average = sum / numberOfExams
16. Console.WriteLine (“The average is: “ &
Math.Round(average, 1))
17. Next ' end of outer loop
![Page 30: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/30.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 30
![Page 31: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/31.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 31
Programming Example: Loan Amortization Computation
• Input
– Loan amount
– APR
– Loan duration expressed in number of months
![Page 32: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/32.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 32
Programming Example: Loan Amortization Computation
(continued)
• Output
– Payment amount
– Monthly interest and principal paid
– Remaining loan balance
– Total interest paid
![Page 33: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/33.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 33
Programming Example: Loan Amortization Computation
(continued)
• Program purpose:
– Compute and display amortization of a loan with monthly payments
![Page 34: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/34.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 34
Summary
• Use iteration structure to execute one or more statements repeatedly
– Also called a loop
• Loop logic types:
– Pre-test
– Post-test
![Page 35: Chapter 5: Control Structures: Iteration Visual Basic.NET Programming: From Problem Analysis to Program Design](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649f095503460f94c1d868/html5/thumbnails/35.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 35
Summary (continued)
• Control number of times a loop executes using:– Counter control
– Sentinel control
• Visual Basic .NET Loop structures:– Do While
– Do Until
– For
• Iteration and selection structures can be nested