0% found this document useful (0 votes)
39 views35 pages

Repetition: Chapter 6 - Visual Basic Schneider 1

The document discusses different types of loop structures in Visual Basic, including Do While, Do Until, and For Next loops. It provides examples of how to use each type of loop to repeatedly execute blocks of code until a condition is met. Key elements like loop control variables, loop bodies, and nested loops are also explained.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views35 pages

Repetition: Chapter 6 - Visual Basic Schneider 1

The document discusses different types of loop structures in Visual Basic, including Do While, Do Until, and For Next loops. It provides examples of how to use each type of loop to repeatedly execute blocks of code until a condition is met. Key elements like loop control variables, loop bodies, and nested loops are also explained.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 35

Chapter 6

Repetition

Chapter 6 - Visual Basic Schneider 1


Outline & Objectives
 Loop Structure
 Elements of a Loop Structure
 Processing Lists of Data with Do Loops

Chapter 6 - Visual Basic Schneider 2


Types of LOOP Structures
 Do While ……. Loop
 Do Until …… Loop
 For …… Next loop

Chapter 6 - Visual Basic Schneider 3


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

Chapter 6 - Visual Basic Schneider 4


Basic Components of Loops
 Loopcontrol variable: A variable used to
determine whether a loop will be executed

 Loopbody: The statement (s) that are


executed each time a loop repeats

Chapter 6 - Visual Basic Schneider 5


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

Chapter 6 - Visual Basic Schneider 6


Flowchart for a Do While Loop

No
Is the condition true

Yes
Execute statements
within
the loop

Execute statements
that follow the loop

Chapter 6 - Visual Basic Schneider 7


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 <= 10
picNumbers.Print num;
num = num + 1
Loop
End Sub

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.

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.

Chapter 6 - Visual Basic Schneider 10


Example of event-controlled loops

passWord = ""
Do While passWord <> "SHAZAM"
passWord = UCase(InputBox("What is the password?"))
Loop

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.

Chapter 6 - Visual Basic Schneider 12


Example
num = 1
Do While num <= 10
picOutput.Print num;
num = num + 1
Loop

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

Chapter 6 - Visual Basic Schneider 14


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

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

Chapter 6 - Visual Basic Schneider 17


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

Chapter 6 - Visual Basic Schneider 18


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.

Chapter 6 - Visual Basic Schneider 19


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
Chapter 6 - Visual Basic Schneider 20
Compare
 Do While ……. Loop
 Do ……. Loop While
 Do ……. Loop Until
 Do Until ……. Loop

Chapter 6 - Visual Basic Schneider 21


Review
How many times will the following loops
execute?
num = 11
num = 11
Do
Do While num <= 10
picOutput.Print num;
picOutput.Print num;
num = num + 1
num = num + 1
Loop until num <= 10
Loop
Chapter 6 - Visual Basic Schneider 22
Review
Which loop is infinite?
Do
Do While i < 10
i=i+1
i=i+1
Loop While i < 10
Loop
Do
Do Until i < 10 i = i + 10
Loop Loop Until i < 10
Chapter 6 - Visual Basic Schneider 23
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
Chapter 6 - Visual Basic Schneider 24
Example
Private Sub cmdDisplayTable_Click()
Dim i As Integer
‘Display a table of the first 5 numbers and their squares
Control variable
For i = 1 To 5 Terminating value
picTable.Print i; i ^ 2 Initial Value

Next i
End Sub

Chapter 6 - Visual Basic Schneider 25


Example

Dim numVar As Integer


For numVar = 1 To 5 Step 2
picOutput.Print numVar;
Next numVar

Output: 1 3 5
Chapter 6 - Visual Basic Schneider 26
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.

Chapter 6 - Visual Basic Schneider 27


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.

Chapter 6 - Visual Basic Schneider 28


Example
Private Sub cmdDisplay_Click()
Dim i As Integer
For i = 1 To 10
picOutput.Print "*";
Next i
End Sub

Output: **********
Chapter 6 - Visual Basic Schneider 29
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

Chapter 6 - Visual Basic Schneider 30


Example
Dim numVar As Integer
For numVar = 8 To 1 Step -2
picOutput.Print numVar;
Next numVar

Output: 8 6 4 2

Chapter 6 - Visual Basic Schneider 31


Nested Loops
For outer = 1 To 4
For inner = 1 To 2
..
..
Next inner
Next outer

Chapter 6 - Visual Basic Schneider 32


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 Chapter 6 - Visual Basic Schneider 33
Review
For i= -5 To -1 Step - 2
picOutput.Print i;
Next i For i= 1 To 5 Step 2
picOutput.Print i; i=i+1
picOutput.Print i;
Next i
picOutput.Print i;
Chapter 6 - Visual Basic Schneider 34
Review

Private Sub cmdDisplay_Click() Private Sub cmdDisplay_Click()


Dim i As Integer, j As Integer Dim i As Integer, j As Integer
For i = 1 To 10 For i = 1 To 10
For j = i To 10 For j = 1 To i
picOutput.Print "*"; picOutput.Print "*";
Next j Next j
picOutput.Print picOutput.Print
Next i Next i
End Sub End Sub

Chapter 6 - Visual Basic Schneider 35

You might also like