programming with microsoft visual basic 2008 fourth edition chapter six the repetition structure
TRANSCRIPT
Previewing the Shoppers Haven Application
• Open the Shoppers.exe file
• The Shoppers Haven application:– Allows user to enter an item’s original price and its
discount rate– Calculates and displays amount of discount and
discounted price
2Programming with Microsoft Visual Basic 2008, Fourth Edition
Previewing the Shoppers Haven Application (continued)
Figure 6-1: Discount and discounted price shown in the interface
3Programming with Microsoft Visual Basic 2008, Fourth Edition
Lesson A Objectives
After studying Lesson A, you should be able to:
• Code the repetition structure using the Do...Loop statement
• Include the repetition structure in pseudocode
• Include the repetition structure in a flowchart
• Initialize and update counters and accumulators
• Code the repetition structure using the For...Next statement
Programming with Microsoft Visual Basic 2008, Fourth Edition 4
The Repetition Structure
• Repetition structure (or loop): Repeatedly processes instructions until condition is met– Example: Calculate net pay for each employee
• Pretest loop: Evaluates condition prior to processing instructions
• Posttest loop: Evaluates condition after processing instructions
5Programming with Microsoft Visual Basic 2008, Fourth Edition
The Do…Loop Statement
• Do…Loop statement: Used to code both pretest loop and posttest loop
• Two variations of syntax: – One for pretest loop and one for posttest loop– While keyword: Indicates that instructions should
be processed while condition is true– Until keyword: Indicates that instructions should
be processed until condition becomes true
6Programming with Microsoft Visual Basic 2008, Fourth Edition
The Do…Loop Statement (continued)
• Do…Loop statement:– Begins with Do clause, ends with Loop clause– Instructions to be repeated are placed between Do
and Loop clauses– Use While or Until keyword before condition – Condition must evaluate to Boolean True or False
• Location of {While|Until} condition:– Pretest loop: Appears in Do clause– Posttest loop: Appears in Loop clause
• Diamond: Represents loop condition in flowchart
7Programming with Microsoft Visual Basic 2008, Fourth Edition
Figure 6-2: Syntax versions and examples of the Do...Loop statement
8Programming with Microsoft Visual Basic 2008, Fourth Edition
The Do…Loop Statement (continued)
Figure 6-3: Processing steps for the pretest loop example from Figure 6-2
9Programming with Microsoft Visual Basic 2008, Fourth Edition
The Do…Loop Statement (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 10
Figure 6-4: Processing steps for the posttest loop example from Figure 6-2
The Do…Loop Statement (continued)
Figure 6-5: Pseudocode and flowchart for the pretest loop example shown in Figure 6-2
11Programming with Microsoft Visual Basic 2008, Fourth Edition
The Do…Loop Statement (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 12
Figure 6-6: Pseudocode and flowchart for the posttest loop example shown in Figure 6-2
The Do…Loop Statement (continued)
Counters and Accumulators
• Used to calculate subtotals, totals, and averages
• Counter: Numeric variable used for counting
• Accumulator: Variable used to tally various amounts
• Initializing: Assigning initial value to counter or accumulator
• Updating (incrementing or decrementing):– Changing value stored in counter or accumulator – Update statement must be within repetition
structure
13Programming with Microsoft Visual Basic 2008, Fourth Edition
The Sales Express Application
• Objective: Display average annual sales of company
• Application uses pretest loop
• Priming read: Use to prime (prepare or set up) loop by performing first action prior to entering loop
14Programming with Microsoft Visual Basic 2008, Fourth Edition
The Sales Express Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 15
Figure 6-7: Pseudocode for the bntCalc control’s Click event procedure
The For…Next Statement
• For…Next statement:– Processes instructions specific number of times– Condition tested before processing (pretest loop) – Also called counter controlled loop
• Must specify start value, end value, and step value– Start value and end value provide looping range– Step value increments or decrements counter
• Hexagon: Flowchart symbol
16Programming with Microsoft Visual Basic 2008, Fourth Edition
Figure 6-11: Pseudocode and flowchart for Example 1 in Figure 6-9
17Programming with Microsoft Visual Basic 2008, Fourth Edition
The For…Next Statement (continued)
The Monthly Payment Calculator Application
• Task of btnCalc control’s Click event procedure:– Calculate and display monthly car payments– Use term of five years and rates from 5 – 10%
• Basic structure of For…Next statement– Use procedure level variable, dblRate, as
counter– Set starting and ending values to 0.05 and 0.1– Set step value to 0.01– Calculate monthly payment for current rate– Display interest rate and corresponding payment
18Programming with Microsoft Visual Basic 2008, Fourth Edition
The Monthly Payment Calculator Application (continued)
Figure 6-11: Additional code entered in the btnCalc control’s Click event procedure
19Programming with Microsoft Visual Basic 2008, Fourth Edition
The Monthly Payment Calculator Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 20
Figure 6-12: Monthly payments shown in the interface
Lesson A Summary
• Repetition structure (loop): Repeats set of instructions until some condition is met
• Use Do...Loop statement to code pretest and posttest loops
• Counters are used to track count of something
• Accumulators are used to tally up an amount
• Counters and accumulators must be:– Initialized– Updated within loop
21Programming with Microsoft Visual Basic 2008, Fourth Edition
Lesson A Summary (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 22
• Use For...Next statement to code pretest loops
• Use hexagon to show a For…Next loop in flowchart
Lesson B Objectives
After studying Lesson B, you should be able to:
• Nest repetition structures
• Refresh the screen
• Delay program execution
23Programming with Microsoft Visual Basic 2008, Fourth Edition
Nested Repetition Structures
• Nested repetition structure: – Inner loop placed entirely within outer loop– Inner loop is referred to as nested loop
• Clocks use nested loops to keep track of time
• Minute and hour hands of clock can be compared to loops:– Outer loop corresponds to hour hand– Inner loop corresponds to minute hand
24Programming with Microsoft Visual Basic 2008, Fourth Edition
Nested Repetition Structures (continued)
Figure 6-16: Logic used by a clock’s hour and minute hands
25Programming with Microsoft Visual Basic 2008, Fourth Edition
The Refresh and Sleep Methods
• Refresh method: Ensures that any code appearing before it that affects interface’s appearance is processed
• Syntax: Me.Refresh()– Me refers to current form
• Sleep method: Delays program execution
• Syntax:System.Threading.Thread.Sleep(milliseconds)
– Millisecond: 1/1000 of second
26Programming with Microsoft Visual Basic 2008, Fourth Edition
The Refresh and Sleep Methods (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 27
Figure 6-18: Refresh and Sleep methods added to the procedure
Monthly Payment Calculator Application—Nested For...Next
Statements
• Objective: Calculate and display car payments
• Use nested loops in btnCalc control’s Click event
• Outer For…Next statement:– Control interest rates ranging from 5 - 10% – Increment rates at each iteration by 1%
• Inner For…Next statement:– Controls terms from 3 - 5 years
28Programming with Microsoft Visual Basic 2008, Fourth Edition
Monthly Payment Calculator Application—Nested For...Next Statements
(continued)
Figure 6-19: Outer and inner (nested) loops entered in the procedure
29Programming with Microsoft Visual Basic 2008, Fourth Edition
Monthly Payment Calculator Application—Nested For...Next Statements
(continued)
Figure 6-20: Monthly payments shown in the interface
30Programming with Microsoft Visual Basic 2008, Fourth Edition
Lesson B Summary
• To nest repetition structure, place entire inner loop within outer loop
• To refresh interface, use Refresh method
• To pause program execution, use Sleep method
31Programming with Microsoft Visual Basic 2008, Fourth Edition
Lesson C Objectives
After studying Lesson C, you should be able to:
• Include a list box in an interface
• Select a list box item from code
• Determine the selected item in a list box
32Programming with Microsoft Visual Basic 2008, Fourth Edition
Coding the Shoppers Haven Application
• Objective: Allow entry of price and discount rate
• Application requirements:– Discount rates range from 10% through 30% – Discount rate should be incremented by 5%– Calculate discount amount and discounted price– Display discount amount and discounted price
33Programming with Microsoft Visual Basic 2008, Fourth Edition
Coding the Shoppers Haven Application (continued)
Figure 6-23: TOE chart for the Shoppers Haven application
34Programming with Microsoft Visual Basic 2008, Fourth Edition
Coding the Shoppers Haven Application (continued)
Figure 6-24: Partially completed user interface for the Shoppers Haven application
35Programming with Microsoft Visual Basic 2008, Fourth Edition
Including a List Box in an Interface
• List box: Displays list of choices from which user can select 0 or more items
• SelectionMode property:– Controls number of choices that can be selected– Values: None, One, MultiSimple, or MultiExtended
• ListBox tool: Used to add list box to interface
• List box can be made any size you want
36Programming with Microsoft Visual Basic 2008, Fourth Edition
Adding Items to a List Box
• Collection: Group of objects treated as one unit
• Items collection: Refers to group of items in list box
• Index: Unique number that identifies each item in collection – Is zero-relative (starts with 0)
• Items collection’s Add method: Used to add item to list box– Implemented in form’s Load event procedure to
prepare list box before form is displayed
37Programming with Microsoft Visual Basic 2008, Fourth Edition
Adding Items to a List Box (continued)
Figure 6-26: Syntax and examples of the Add method
38Programming with Microsoft Visual Basic 2008, Fourth Edition
Adding Items to a List Box (continued)
Figure 6-27: Result of processing the code shown in Figure 6-26
39Programming with Microsoft Visual Basic 2008, Fourth Edition
Adding Items to a List Box (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 40
• Sorted property of list box: Determines order in which items are displayed in list box– If true, newly added item is placed in its proper
position– If false, newly added item is placed at end of list– Uses dictionary sort order
The SelectedItem And SelectedIndex Properties
• SelectedItem property: Contains value of item selected in list box– Contains empty string when no item is selected
• SelectedIndex property: Contains index of item selected in list box– Contains -1 when no item is selected
• Default list box item: Appears when application is first loaded– Can be chosen by setting either SelectedItem or
SelectedIndex property
41Programming with Microsoft Visual Basic 2008, Fourth Edition
The SelectedItem And SelectedIndex Properties (continued)
Figure 6-30: Examples of the SelectedItem and SelectedIndex properties
42Programming with Microsoft Visual Basic 2008, Fourth Edition
The SelectedItem And SelectedIndex Properties (continued)
Figure 6-31: Default item selected in the list box
43Programming with Microsoft Visual Basic 2008, Fourth Edition
The SelectedValueChanged and SelectedIndexChanged Events
Programming with Microsoft Visual Basic 2008, Fourth Edition 44
• SelectedValueChanged and SelectedIndexChanged events: Occur when user or code statement selects item in list box– Can use these events to process instructions
when selection is made
Coding the btnCalc Control’s Click Event Procedure
45Programming with Microsoft Visual Basic 2008, Fourth Edition
Figure 6-32: Pseudocode for the btnCalc control’s Click event procedure
Coding the btnCalc Control’s Click Event Procedure (continued)
Figure 6-33: Discount and discounted price shown in the interface
46Programming with Microsoft Visual Basic 2008, Fourth Edition
Lesson C Summary
• A list box displays list of items
• Use SelectionMode property to set number of items that can be selected in list box
• Use Items.Add method to add items to list box
• Use Sorted property to sort list box items in dictionary order
• Use SelectedItem or SelectedIndex property to determine which item was selected
47Programming with Microsoft Visual Basic 2008, Fourth Edition