Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 6 - Visual Basic Schneider 1 Chapter 6 Repetition.

Similar presentations


Presentation on theme: "Chapter 6 - Visual Basic Schneider 1 Chapter 6 Repetition."— Presentation transcript:

1 Chapter 6 - Visual Basic Schneider 1 Chapter 6 Repetition

2 Chapter 6 - Visual Basic Schneider 2 Types of LOOP Structures Do While ……. Loop Do Until …… Loop For …… Next loop

3 Chapter 6 - Visual Basic Schneider 3 Basic Definition Looping : the process of repeating a series of statements as many times as needed. Looping also called iteration.

4 Chapter 6 - Visual Basic Schneider 4 Basic Components of Loops Loop control variable: A variable used to determine whether a loop will be executed Loop body: The statement (s) that are executed each time a loop repeats

5 Chapter 6 - Visual Basic Schneider 5 The Do While ……. Loop Do While condition is true statement(s) Loop

6 Chapter 6 - Visual Basic Schneider 6 Flowchart for a Do While Loop Is the condition true Execute statements within the loop Execute statements that follow the loop Yes No

7 Chapter 6 - Visual Basic Schneider 7 Example (Displays the numbers from 1 through 10) Private Sub cmdDisplay_Click() Dim intNum As Integer ' Display the numbers from 1 to 10 intNum = 1 Do While intNum <= 10 picNumbers.Print intNum; intNum = intNum + 1 Loop End Sub

8 Chapter 6 - Visual Basic Schneider 8 The Do While ……. Loop Is executed as long as the condition is True. If condition is False then the next statement after the Loop is executed.

9 Chapter 6 - Visual Basic Schneider 9 Controlling Loops Methods of controlling loops: –Counter-controlled loops –repeat a specific number of times –Event-controlled loops –repeat until something happens in the loop body to change the value of loop control variable.

10 Chapter 6 - Visual Basic Schneider 10 Example of event-controlled loops strPassWord = "" Do While strPassWord <> "SHAZAM" strPassWord = UCase(InputBox("What is the password?")) Loop

11 Chapter 6 - Visual Basic Schneider 11 Counter-controlled Loops Is useful when the programmer knows how many times the loop should be executed. Initialize the counter by setting it to a beginning value before entering the loop. The counter is incremented (or decremented) by the same value during each repetition.

12 Chapter 6 - Visual Basic Schneider 12 Example num = 1 Do While num <= 10 picOutput.Print num; num = num + 1 Loop

13 Chapter 6 - Visual Basic Schneider 13 Do Until ……. Loop Is executed until the condition becomes True Any Do While…. Loop can be rewritten as a Do Until ….. Loop

14 Chapter 6 - Visual Basic Schneider 14 Example (requires the user to give a password before opening a file) Private Sub cmdDisplay_Click() Dim strPassWord As String, info As String If UCase(txtName.Text) = "SECRET.TXT" Then Do strPassWord = UCase(InputBox("What is the password?")) Loop Until strPassWord = "SHAZAM" End If Open txtName.Text For Input As #1 Input #1, info picItem.Cls picItem.Print info Close #1 End Sub

15 Chapter 6 - Visual Basic Schneider 15 Example (years to deplete a saving account) Private Sub cmdEstimate_Click() Dim amt As Single, yrs As Integer ' Years to deplete savings account picResult.Cls amt = 15000 yrs = 0 Do amt = amt * 1.05 - 1000 yrs = yrs + 1 Loop Until amt <= 0 picResult.Print "It takes"; yrs; "years to deplete the account." End Sub

16 Chapter 6 - Visual Basic Schneider 16 Comparing While… and Until Loops The Do While … Loop executes while the condition is true The Do Until….. Loop executes until the condition is true Both can be used to create any type of loop

17 Chapter 6 - Visual Basic Schneider 17 Counters and Accumulators A Counter is a numeric variable that keeps track of the number of items that have been processed in the loop. An Accumulator is a numeric variable that totals numbers.

18 Chapter 6 - Visual Basic Schneider 18 Example: Counter & Accumulator Private Sub cmdAnalyze_Click() Dim numCoins As Integer, sum As Single, value As Single Open "COINS.TXT" For Input As #1 numCoins = 0 sum = 0 Do While Not EOF(1) Input #1, value numCoins = numCoins + 1 sum = sum + value Loop picValue.Print "The value of the"; numCoins; "coins is"; sum; "cents." Close #1 End Sub

19 Chapter 6 - Visual Basic Schneider 19 For ……... Next Loop Is used to create a counting loop. Loop control variable has an initial value. Loop control variable has a terminating value. Loop control variable has a Step value.

20 Chapter 6 - Visual Basic Schneider 20 Syntax of For…… Next Loop For loop-control-variable = initial To terminal statement(s) Next loop-control-variable

21 Chapter 6 - Visual Basic Schneider 21 Example ( display a table of the first 5 numbers and their square) Private Sub cmdDisplayTable_Click() Dim i As Integer ‘Display a table of the first 5 numbers and their sqares picTable.Cls For i = 1 To 5 picTable.Print i; i ^ 2 Next i End Sub Initial Value Loop Control variable Terminating value

22 Chapter 6 - Visual Basic Schneider 22 Example ( step value of 2) For counter = 1 To 5 Step 2 picOutput.Print counter Next counter

23 Chapter 6 - Visual Basic Schneider 23 When the For statement is first encountered This explanation assumes a positive step value The initial, terminal, and (if given ) step value expression are evaluated. The loop control variable is assigned to the initial value.

24 Chapter 6 - Visual Basic Schneider 24 This explanation assumes a positive step value The value of the loop control variable is tested against the terminal value. If the loop control variable is less than or equal to the terminal value, the loop body is executed. If the loop control variable is greater than the terminal value, the loop body is skipped, and control passes to the first statement following the Next.

25 Chapter 6 - Visual Basic Schneider 25 When the Next statement is encountered The step value is added to the loop control variable. If there is no step value, +1 is added. A check is performed to determine if the value of the loop control variable exceeds the terminal value.

26 Chapter 6 - Visual Basic Schneider 26 Continued If the loop control variable is less than or equal to the terminal value, control transfers back to the statement after the For statement and the loop is repeated. Otherwise, the loop is exited, and execution continues with the statement following the Next.

27 Chapter 6 - Visual Basic Schneider 27 Rules for Using For... Next loop The initial, terminal, and step values cannot be modified in the loop body. You should never modify the value of the loop control variable in the loop body. Each For statement must end with a Next statement.

28 Chapter 6 - Visual Basic Schneider 28 Example (display 10 stars) Private Sub cmdDisplay_Click() Dim i As Integer ' Display a row of ten stars picOutput.Cls For i = 1 To 10 picOutput.Print "*"; Next i End Sub

29 Chapter 6 - Visual Basic Schneider 29 Example (request a number and display a row of that many stars) Private Sub cmdDisplay_Click() Dim i As Integer, stars As Integer ' Display a row of stars picOutput.Cls stars = Val(InputBox("Row length (1-20) : ")) For i = 1 To stars picOutput.Print "*"; Next i End Sub

30 Chapter 6 - Visual Basic Schneider 30 Example (the step value is negative) For Counter 8 To 1 Step -2 picOutput.Print Counter Next Counter

31 Chapter 6 - Visual Basic Schneider 31 Nested Loops For Outer = 1 To 4 For Inner = 1 To 2.. Next Inner Next Outer

32 Chapter 6 - Visual Basic Schneider 32 Example (display a 10 by 10 array of stars) Private Sub cmdDisplay_Click() Dim i As Integer, j As Integer ' Display 10 x 10 square of stars For i = 1 To 10 For j = 1 To 10 picOutput.Print "*"; Next j picOutput.Print Next i End Sub

33 Chapter 6 - Visual Basic Schneider 33 Guidelines for Choosing a Loop: If counting loop, use a For…… Next Loop. If trailer-values and body is executed at least once, use Do Until….. Loop. If trailer-value and nothing is known about the first execution, use Do While…. Loop. If you are not sure use Do While….. Loop.


Download ppt "Chapter 6 - Visual Basic Schneider 1 Chapter 6 Repetition."

Similar presentations


Ads by Google