700 likes | 1.23k Views
Chapter 6: The Repetition Structure. Programming with Microsoft Visual Basic .NET, Second Edition. Homework/Project #1 : Calculator. Due: 03/02. Homework #1 Calculator. Use Message boxes to inform user of eventual problems. For example: Division by 0 forbidden!. The Basic FOR Loop.
E N D
Chapter 6: The Repetition Structure Programming with Microsoft Visual Basic .NET, Second Edition
Homework/Project #1 : Calculator Due: 03/02
Homework #1 Calculator • Use Message boxes to inform user of eventual problems. For example: • Division by 0 forbidden!
The Basic FOR Loop • A counter loop is also known as a For loop, or a For/Next loop. • You use a counter loop when you want the computer to perform a task a specific number of times.
Set control variable to initial value FOR Loop Flowchart Iscontrol variable > terminating value? Yes No Execute statements within loop Increment control variable (automatic) Execute statements following the loop
The For…Next Loop (continued) Figure 6-4: Pseudocode and flowchart for the first example shown in Figure 6-2
FOR Loop use For ControlVariable= InitVal To TerminatingVal [Step StepSize] Statement(s) to be Repeated Next ControlVariable Dim intCounter as integer For intCounter =1 To 10 txtDisplay.Text = txtDisplay.Text & convert.toString(IntCounter) NextintCounter Screen Output 1 2 3 4 5 6 7 8 9 10
FOR Loop use Dim intStar as integer For intStar =1 To 15 lblDisplay.Text = lblDisplay.Text & " * " NextintStar * * * * * * * * * * * * * * * Screen Output
Exiting from a loop before it ends 2 ways: #1 Assign a value to the control variable that will make the loop condition false (> terminating value) For intLoop = 1 to 1000 … if intTime > 100 then intLoop=9999 end if … Next
Exiting from a loop before it ends 2 ways: #2 Use Exit for statement (recommended) For intLoop = 1 to 1000 … if intTime > 100 then Exit for end if … Next
FOR Loop Exercise • Write the code to display the first 10 odd numbers. 1 – 3 – 5 – 7 – 9 – 11 – 13 – 15 - 17 - 19
FOR Loop Exercise Dim intCounter as Integer For IntCounter = 1 to 19 step 2lblDisplay.text = lblDisplay.Text & convert.toString(IntCounter) & “ - “ Next IntCounter ORFor IntCounter = 1 to 10 lblDisplay.Text = lblDisplay.Text & convert.toString (IntCounter*2) & “ - “ Next IntCounter
Structured program design • Control structures: • Sequence control structure (one program statement follows another in logical order). • Selection control structure (represents choices) • Iteration, loop structure (when a process may be repeated as long as a certain condition remains true.)
Iteration Control Structure • There are 3 types of iteration structures: • For (condition) Loop • Do While (condition) • Do Until (condition)
Do While Control Structure Do WhileCondition Statement(s)Loop Loopstatements strPassword=InputBox(“Password?”)Do While strPassword <> “007”strPassword=InputBox(“Password?”)Loop Do While(Test condition) Yes No
Do Until Control Structure Do Statement(s)Loop Until Condition Loopstatement(s) DostrPassword = InputBox(“Password?”)Loop Until strPassword = “007” No Do Until(test condition) Yes
Difference between Do While / Do Until • If there are several statements that need to be repeated, you need to decide when to stoprepeatingthem. • You can decide to stop them: • at the beginning of the loop, usingDo While • or at the endof the loop using Do Until
Difference between Do While / Do Until • The Do Until iterations means that the loop statement will be executed at least once. This is because the iteration statements are executed before you asked whether to stop.
The Do…Loop Statement (continued) Figure 6-7: Syntax and examples of the Do...Loop statement
Exit to a Loop statement Do Statements If condition then Exit Do Provide an alternate way to exit a loopEnd If Statements Loop Until condition Do While condition Statements Exit Do Statements Loop
Exercise • Write a program to display all the numbers between 1 and 1000 that are perfect squares. (A perfect square is an integer that is the square of another integer; 1,4,9,16, …) • Use: #1 Do While #2 Do Until #3 For Next
Exercise Solution Dim intX, intY as integer intX=1 IntY = IntX * IntX lblDisp.text= "The perfect squares between 1 and 1000 are" Do While IntY <= 1000 Do lblDisp.text= lblDisp.text & lblDisp.text =lblDisp.text & conver.toString(IntY) & “,” conver.toString(IntY) & “,” IntX = IntX + 1 IntX = IntX + 1 IntY = IntX * IntX IntY = IntX * IntX Loop Loop Until IntY >= 1000 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961
Exercise Solution lblDisp.text= "The perfect squares between 1 and 1000 are" For intX=1 to 100 (Could have used another end value) intY = intX * intX If intY > 1000 Then Exit For Else lblDisp.text=convert.toString(IntY) End If Next IntX
Exercise #7 Exercise #7 By default hidden – visible after number have been displayed
Lab Exercises • #8 Display a row of 50 stars (asterisks). • #9 Request a number from 1 to 20 (using an input box) and display a row of that many stars. If number >20 or <1 display a warning message (message box) and request the number again.
Lab Exercise • #10 Find the sum 1 + ½ + 1/3 + ¼ + … + 1/100 Solution: 5.187378 • #11 You are offered two salary options for ten days of work. Option 1: $100 per day
Lab Exercise Option2: $1 the first day, $2 the second day, $4 the third day, and so on, with the amount of doubling each day. Write a program to determine which option pays better. Solution: Option1: $1000 Option 2: $1023
Chapter 6: The Repetition Structure Programming with Microsoft Visual Basic .NET, Second Edition
The Repetition Structure (Looping)Lesson A Objectives • Code the repetition structure using the For...Next and Do...Loop statements • Write pseudocode for the repetition structure • Create a flowchart for the repetition structure • Initialize and update counters and accumulators Programming with Microsoft Visual Basic .NET, Second Edition
The Repetition Structure • Use the repetition structure to repeatedly process one or more program instructions until some condition is met, at which time the repetition ends • The repetition structure is referred to as a loop Programming with Microsoft Visual Basic .NET, Second Edition
The Repetition Structure (continued) • Pretest loop: evaluation occurs before the instructions within the loop are processed • Posttest loop: evaluation occurs after the instructions within the loop are processed Programming with Microsoft Visual Basic .NET, Second Edition
The For…Next Loop • Use the For…Next statement to code a loop that repeats for a specific number of times Figure 6-2: Syntax and examples of the For...Next statement Programming with Microsoft Visual Basic .NET, Second Edition
The For…Next Loop (continued) Figure 6-2: Syntax and examples of the For...Next statement (continued) Programming with Microsoft Visual Basic .NET, Second Edition
The For…Next Loop (continued) • counter is a numeric variable that keeps track of how many times the loop instructions are repeated • startvalue, endvalue, and stepvalue • Must be numeric • Can be positive or negative, integer or non-integer • Default stepvalue is 1 Programming with Microsoft Visual Basic .NET, Second Edition
The For…Next Loop (continued) Figure 6-4: Pseudocode and flowchart for the first example shown in Figure 6-2 Programming with Microsoft Visual Basic .NET, Second Edition
The For…Next Loop (continued) For…Next loop examples: Programming with Microsoft Visual Basic .NET, Second Edition
The Do…Loop Statement • Unlike the For…Next statement, the Do…Loop statement can be used to code both a pretest loop and a posttest loop • The Do…Loop statement begins with the Do clause and ends with the Loop clause Programming with Microsoft Visual Basic .NET, Second Edition
The Do…Loop Statement (continued) Figure 6-7: Syntax and examples of the Do...Loop statement Programming with Microsoft Visual Basic .NET, Second Edition
The Do…Loop Statement (continued) Figure 6-7: Syntax and examples of the Do...Loop statement (continued) Programming with Microsoft Visual Basic .NET, Second Edition
The Do…Loop Statement (continued) Figure 6-9: Flowcharts for the examples shown in Figure 6-7 Programming with Microsoft Visual Basic .NET, Second Edition
The Do…Loop Statement (continued) Figure 6-9: Flowcharts for the examples shown in Figure 6-7 (continued) Programming with Microsoft Visual Basic .NET, Second Edition
Using Counters and Accumulators • Counters and accumulators are used within a repetition structure to calculate subtotals, totals, and averages • A counter is a numeric variable used for counting something and is typically updated by 1 • An accumulator is a numeric variable used for accumulating and is updated by an amount that varies Programming with Microsoft Visual Basic .NET, Second Edition
Using Counters and Accumulators (continued) • Initializing: assigning a beginning value to the counter or accumulator • Updating (incrementing): adding a number to the value stored in the counter or accumulator Programming with Microsoft Visual Basic .NET, Second Edition
Nested Repetition StructuresLesson B Objectives • Nest repetition structures Programming with Microsoft Visual Basic .NET, Second Edition
Nesting Repetition Structures • In a nested repetition structure, one loop, referred to as the inner loop, is placed entirely within another loop, called the outer loop • A clock uses nested loops to keep track of the time Programming with Microsoft Visual Basic .NET, Second Edition
Nesting Repetition Structures (continued) Figure 6-16: Nested loops used by a clock Programming with Microsoft Visual Basic .NET, Second Edition
The Grade Calculator Application • Professor Arkins needs an application that allows him to assign a grade to any number of students • Each student’s grade is based on three test scores, with each test worth 100 points • The application should total the test scores and then assign the appropriate grade, using the table shown on the next slide Programming with Microsoft Visual Basic .NET, Second Edition
The Grade Calculator Application (continued) Programming with Microsoft Visual Basic .NET, Second Edition
The Grade Calculator Application (continued) • uiAssignGradeButton’s Click event procedure • Allows Professor Arkins to enter each student’s test scores, and then assign the appropriate grade • Contains two loops, one nested within the other • A For...Next statement controls the inner loop Programming with Microsoft Visual Basic .NET, Second Edition