Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Week 6 The Repetition Structure. 2 The Repetition Structure (Looping) Lesson A Objectives After completing this lesson, you will be able to:  Code.

Similar presentations


Presentation on theme: "1 Week 6 The Repetition Structure. 2 The Repetition Structure (Looping) Lesson A Objectives After completing this lesson, you will be able to:  Code."— Presentation transcript:

1 1 Week 6 The Repetition Structure

2 2 The Repetition Structure (Looping) Lesson A Objectives After completing this lesson, you will be able to:  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  Display a message in the Output window while an application is running  Change the location and size of a control while an application is running  Initialize and update counters and accumulators

3 3 The Repetition Structure  Most programs also contain the selection structure, which you learned about in Tutorials 4 and 5  Programmers use the repetition structure, referred to more simply as a loop, when they need the computer to repeatedly process one or more program instructions until some condition is met, at which time the loop ends  In a pretest loop, the evaluation occurs before the instructions within the loop are processed  In a posttest loop, the evaluation occurs after the instructions within the loop are processed

4 4 The For … Next Loop  You can use the For…Next statement to code a loop whose instructions you want processed a precise number of times  Syntax: For counter = startValue To endValue [Step stepValue] [instructions you want repeated] Next [counter]  counter is the name of a numeric variable and it keeps track of how many times the loop instructions are repeated  startValue, endValue, and stepValue must be numeric and they can be either positive or negative, integer or non- integer (default stepValue is 1)

5 5 A For … Next Example Dim intCount As Integer For intCount = 0 to 3 Step 1 Debug.WriteLine(intCount) Next intCount Dim intCount As Integer For intCount = 3 to 0 Step -1 Debug.WriteLine(intCount) Next intCount Dim intCount As Integer For intCount = 0 to 10 Step 2 Debug.WriteLine(intCount) Next intCount Dim sngLoc As Single For sngLoc = 0.5 To 15 Step 0.5 Debug.WriteLine(sngLoc) Next sngLoc

6 6 Flowchart and Pseudocode Hexagon Repeat for intCount = 1 to 3 by 1 Display intCount Next Iteration intCount +=1 > 3 1 Display intCount

7 7 The Do…Loop Statement Pretest condition Do While Condition [loop instructions] Loop Do Until Condition [loop instructions] Loop Posttest condition Do [loop instructions] Loop While Condition Do [loop instructions] Loop Until Condition 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

8 8 Loop Examples Dim intCount As Integer = 1 Do While intCount < 3 Debug.WriteLine(intCount) intCount += 1 Loop Dim intCount As Integer = 1 Do Until intCount > 3 Debug.WriteLine(intCount) intCount += 1 Loop Dim intCount As Integer = 1 Do Debug.WriteLine(intCount) intCount += 1 Loop While intCount < 3 Dim intCount As Integer = 1 Do Debug.WriteLine(intCount) intCount += 1 Loop Until intCount > 3

9 9 Do While Pretest Loop intCount = 1 Repeat while intCount < 3 Display intCount Add 1 to intCount End Repeat intCount = 1 intCount <= 3 intCount += 1 F T Display intCount

10 10 Do Until Posttest Loop intCount = 1 Repeat Display intCount Add 1 to intCount End Repeat until intCount > 3 intCount = 1 intCount > 3 intCount += 1 F T Display intCount

11 11 Using Counters and Accumulators  Counters and accumulators are used within a repetition structure to calculate subtotals, totals, and averages  Initialized (usually to 0 or 1) outside the loop and updated within the loop  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 (adding together) and is updated by an amount that varies  Initializing means to assign a beginning value to the counter or accumulator  Updating, also called incrementing, means adding a number to the value stored in the counter or accumulator

12 12 Using Collections Lesson B Objectives After completing this lesson, you will be able to:  Access the controls in the Controls collection  Code the repetition structure using the For Each…Next statement  Create an object variable  Create a collection  Create parallel collections  Enable and disable a control

13 13 The Controls Collection  The controls contained on a Windows form belong to the Controls collection in Visual Basic.NET  A collection is simply a group of one or more individual objects treated as one unit  Identifies by an index, automatically assigned by Visual Basic.NET when object is created  Refer to a control Controls.Item(index)  Controls are numbered LIFO – that is, the last control object has an index = 0  The value of Controls.Count gives the number of controls on a form

14 14 Accessing the Controls Collection Dim intX As Integer = 0 For intX = 0 To Controls.Count – 1 Debug.WriteLine(Controls(intX).Name) Next intX Dim intX As Integer = 0 Do While intX < Controls.Count Debug.WriteLine(Controls(intX).Name) If TypeOf Controls.Item(intX) Is TextBox Then Controls.Item(intX).Text = “” End If intX += 1 Loop

15 15 Object Variables  An object variable is a memory location that can store the address of an object  The address indicates where the object is located in the computer’s internal memory  An object variable is initialized to the keyword Nothing, which simply means that the object variable does not currently contain an address  You assign an object variable objStateTextBox = Me.StateTextBox

16 16 The For Each…Next Statement  The For Each…Next statement is used to code a loop whose instructions you want processed for each object in a collection For Each element In group [processing statements for element] Exit For Next element Dim objTextBox As TextBox For Each objTextBox In Me.Controls If objTextBox.Text = “Hello” Then Exit For End If Next

17 17 Flowchart and Pseudocode for the For Each … Next Repeat for each Control in Collection if control is a label remove border end if end repeat Repeat for each Control in Controls collection Remove the border Is control a label? F T stop

18 18 Creating a User-Defined Collection  A user-defined collection allows you to group related controls together  To define a collection Dim collectionName As New Collection()  To insert an object into the collection collectionName.Add(object[, key])  To access an object in the collection objMyObject = collectionName(index) objMyObject = collectionName(key)  To remove an object from the collection collectionName.Remove(index|key)

19 19 Creating a User-Defined Collection 'declare form-level collections Private mCheckBoxCollection As New Collection() Private Sub GradeForm_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim intCtr As Integer For intCtr = 0 To Controls.Count - 1 If TypeOf (Controls(intCtr)) Is CheckBox Then mCheckBoxCollection.Add(Controls(intCtr)) End If Next …

20 20 Parallel Collection  Collections whose objects are related in some way are called parallel collections  You can indicate to the computer that two collections are parallel collections by setting the key argument for each object in one of the collections to the name of the corresponding object in the other collection For intCtr = 0 To Controls.Count - 1 If TypeOf (Controls(intCtr)) Is TextBox Then mTextBoxCollection.Add(Controls(intCtr), _ Replace(Controls(intCtr).Name, "TextBox", _ "CheckBox")) End If Next

21 21 The Enabled Property Private Sub ProcessCheckBox(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Proj1CheckBox.Click, … Dim objCB As CheckBox, objTB As TextBox objCB = sender ' assign sender to the object variable objTB = mTextBoxCollection(oCB.Name) If objCB.Checked Then objTB.Enabled = True objTB.Focus() Else objTB.Text = "" objTB.Enabled = False End If End Sub

22 22 Completing the Grade Calculator Application Lesson C Objectives After completing this lesson, you will be able to:  Select the existing text when the user tabs to a text box  Prevent a form from closing

23 23 Coding the DisplayButton’s Click Event Procedure  You still need to code the DisplayButton’s Click event procedure, the GradeForm’s Closing event procedure, and the Enter event procedure for the text boxes  You begin with the DisplayButton’s Click event procedure as the pseudocode in Figure 6-50 illustrates

24 24

25 25 Coding the GradeForm’s Closing Event Procedure  A form’s Closing event occurs when a form is about to be closed  You can close a form using either the Close button on its title bar, or the Me.Close( ) statement in code


Download ppt "1 Week 6 The Repetition Structure. 2 The Repetition Structure (Looping) Lesson A Objectives After completing this lesson, you will be able to:  Code."

Similar presentations


Ads by Google