Repetition - PowerPoint PPT Presentation

About This Presentation
Title:

Repetition

Description:

Chapter 6 Repetition Chapter 6 - Visual Basic Schneider * * Display a 10by 10 square of stars Review For i= -5 To -1 Step - 2 picOutput.Print i; Next i picOutput ... – PowerPoint PPT presentation

Number of Views:114
Avg rating:3.0/5.0
Slides: 36
Provided by: fayen
Category:

less

Transcript and Presenter's Notes

Title: Repetition


1
Chapter 6
  • Repetition

2
Outline Objectives
  • Loop Structure
  • Elements of a Loop Structure
  • Processing Lists of Data with Do Loops

3
Types of LOOP Structures
  • Do While . Loop
  • Do Until Loop
  • For Next loop

4
Basic Definition
  • Looping the process of repeating a series of
    statements multiple times until a criteria is met

5
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

6
The Do While . Loop
  • Do While condition is true
  • statement(s)
  • Loop

7
Flowchart for a Do While Loop
Is the condition true
No
Yes
Execute statements within the loop
Execute statements that follow the loop
8
Example (Displays the numbers from 1 through 10)
  • Private Sub cmdDisplay_Click()
  • Dim num As Integer
  • ' Display the numbers from 1 to 10
  • num 1
  • Do While num lt 10
  • picNumbers.Print num
  • num num 1
  • Loop
  • End Sub

9
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.

10
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.

11
Example of event-controlled loops
  • passWord ""
  • Do While passWord ltgt "SHAZAM"
  • passWord UCase(InputBox("What is the
    password?"))
  • Loop

12
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.

13
Example
  • num 1
  • Do While num lt 10
  • picOutput.Print num
  • num num 1
  • Loop

14
Do Until . Loop
  • Is executed until the condition becomes True
  • Any Do While. Loop can be rewritten as a Do
    Until .. Loop

15
Example (requires the user to give a password
before opening a file)
  • Private Sub cmdDisplay_Click()
  • Dim passWord As String, info As String
  • If UCase(txtName.Text) "SECRET.TXT" Then
  • Do
  • passWord UCase(InputBox("What is the
    password?"))
  • Loop Until passWord "SHAZAM"
  • End If
  • Open txtName.Text For Input As 1
  • Input 1, info
  • picItem.Cls
  • picItem.Print info
  • Close 1
  • End Sub

16
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 lt 0
  • picResult.Print "It takes" yrs "years to
    deplete the account."
  • End Sub

17
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

18
EOF Function
  • EOF(n) is True if the end of the file having
    reference number n has been reached. Otherwise,
    it is False
  • Example
  • Open PHONE.TXT for Input As 1
  • Do While Not EOF(1)
  • Input 1, nom, phoneNum
  • picOutput.Print nom, phoneNum
  • Loop
  • Close 1

19
Counters and Accumulators
  • A counter is a numeric variable that keeps track
    of the number of items that have been processed
    in a loop.
  • An accumulator is a numeric variable that holds a
    sub-total during multiple passes through a loop.

20
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."
  • End Sub

21
Compare
  • Do While . Loop
  • Do . Loop While
  • Do . Loop Until
  • Do Until . Loop

22
Review
How many times will the following loops execute?
  • num 11
  • Do
  • picOutput.Print num
  • num num 1
  • Loop until num lt 10
  • num 11
  • Do While num lt 10
  • picOutput.Print num
  • num num 1
  • Loop

23
Review
Which loop is infinite?
Do i i 1 Loop While i lt 10
  • Do While i lt 10
  • i i 1
  • Loop

Do i i 10 Loop Until i lt 10
Do Until i lt 10 Loop
24
For Next Loop
  • A loop where the number of iterations is
    determined by a range of values for a numeric
    variable
  • Syntax
  • For controlVariable initial To terminal
  • statement(s)
  • Next controlVariable

25
Example
  • Private Sub cmdDisplayTable_Click()
  • Dim i As Integer
  • Display a table of the first 5 numbers and
    their squares
  • For i 1 To 5
  • picTable.Print i i 2
  • Next i
  • End Sub

Control variable
Terminating value
Initial Value
26
Example
  • Dim numVar As Integer
  • For numVar 1 To 5 Step 2
  • picOutput.Print numVar
  • Next numVar
  • Output 1 3 5

27
When a For statement is encountered
  1. The control variable is assigned the initial
    value.
  2. After each loop iteration, the step value is
    added to the value of the control variable. (If
    there is no step value, 1 is added.)
  3. Iteration continues until the terminating value
    is exceeded.

28
Rules for Using For ... Next loop
  • You should never modify the value of the loop
    control variable in the loop body.
  • Each For loop must end with a Next statement.

29
Example
  • Private Sub cmdDisplay_Click()
  • Dim i As Integer
  • For i 1 To 10
  • picOutput.Print ""
  • Next i
  • End Sub
  • Output

30
Example
  • Private Sub cmdDisplay_Click()
  • Dim i As Integer, stars As Integer
  • stars Val(InputBox("Row length (1-20) "))
  • For i 1 To stars
  • picOutput.Print ""
  • Next i
  • End Sub

31
Example
  • Dim numVar As Integer
  • For numVar 8 To 1 Step -2
  • picOutput.Print numVar
  • Next numVar
  • Output 8 6 4 2

32
Nested Loops
  • For outer 1 To 4
  • For inner 1 To 2
  • ..
  • ..
  • Next inner
  • Next outer

33
Example Display a 10x10 rectangle of stars
  • Private Sub cmdDisplay_Click()
  • Dim i As Integer, j As Integer
  • For i 1 To 10
  • For j 1 To 10
  • picOutput.Print ""
  • Next j
  • picOutput.Print
  • Next i
  • End Sub

34
Review
  • For i -5 To -1 Step - 2
  • picOutput.Print i
  • Next i
  • picOutput.Print i

For i 1 To 5 Step 2 ii1
picOutput.Print i Next i picOutput.Print i
35
Review
  • Private Sub cmdDisplay_Click()
  • Dim i As Integer, j As Integer
  • For i 1 To 10
  • For j i To 10
  • picOutput.Print ""
  • Next j
  • picOutput.Print
  • Next i
  • End Sub

Private Sub cmdDisplay_Click() Dim i As
Integer, j As Integer For i 1 To 10
For j 1 To i picOutput.Print
"" Next j picOutput.Print
Next i End Sub
Write a Comment
User Comments (0)
About PowerShow.com