Anda di halaman 1dari 68

Chapter 6: The Repetition Structure

Programming with Microsoft Visual Basic .NET, Second Edition

Homework/Project #1 : Calculator

Due: 03/02

Homework #1 Calculator
Use Message boxes to inform user of eventual problems. For example:
Division by 0 forbidden!

The Basic FOR Loop


A counter loop is also known as a For loop, or a For/Next loop. You use a counter loop when you want the computer to perform a task a specific number of times.

Set control variable to initial value Is control variable > terminating value?

FOR Loop Flowchart


Yes

No
Execute statements within loop Increment control variable (automatic)

Execute statements following the loop

The ForNext Loop (continued)

Figure 6-4: Pseudocode and flowchart for the first example shown in Figure 6-2

FOR Loop use


Statement(s) to be Repeated Next ControlVariable Dim intCounter as integer For intCounter =1 To 10
txtDisplay.Text = txtDisplay.Text & convert.toString(IntCounter)

For ControlVariable= InitVal To TerminatingVal [Step StepSize]

Next intCounter Screen Output 1 2 3 4 5 6 7 8 9 10


7

FOR Loop use


Dim intStar as integer For intStar =1 To 15

lblDisplay.Text = lblDisplay.Text & " * "


Next intStar
Screen Output

***************
8

Exiting from a loop before it ends


2 ways:
#1 Assign a value to the control variable that will make the loop condition false (> terminating value) For intLoop = 1 to 1000 if intTime > 100 then intLoop=9999 end if Next

Exiting from a loop before it ends


2 ways: #2 Use Exit for statement (recommended) For intLoop = 1 to 1000 if intTime > 100 then Exit for end if Next

10

FOR Loop Exercise


Write the code to display the first 10 odd numbers.

1 3 5 7 9 11 13 15 - 17 - 19

11

FOR Loop Exercise


Dim intCounter as Integer
For IntCounter = 1 to 19 step 2
lblDisplay.text = lblDisplay.Text & convert.toString(IntCounter) & -

Next IntCounter OR For IntCounter = 1 to 10


lblDisplay.Text = lblDisplay.Text & convert.toString (IntCounter*2) & -

Next IntCounter

12

Structured program design


Control structures:
Sequence control structure (one program statement follows another in logical order). Selection control structure (represents choices) Iteration, loop structure (when a process may be repeated as long as a certain 13 condition remains true.)

Iteration Control Structure


There are 3 types of iteration structures: For (condition) Loop Do While (condition)

Do Until (condition)

14

Do While Control Structure


Do While Condition Statement(s) Loop

Loop statements

Yes Do While (Test condition)

strPassword=InputBox(Password?) Do While strPassword <> 007


strPassword=InputBox(Password?)

No

Loop
15

Do Until Control Structure


Do Statement(s) Loop Until Condition
Loop statement(s)
Do strPassword = InputBox(Password?)

No Do Until (test condition)

Loop Until strPassword = 007

Yes

16

Difference between Do While / Do Until

If there are several statements that need to be repeated, you need to decide when to stop repeating them. You can decide to stop them:

at the beginning of the loop, using Do While


or at the end of the loop using Do Until
17

Difference between Do While / Do Until

The Do Until iterations means that the loop statement will be executed at least once.

This is because the iteration statements are


executed before you asked whether to stop.

18

The DoLoop Statement (continued)

Figure 6-7: Syntax and examples of the Do...Loop statement


19

Exit to a Loop statement


Do Statements If condition then Exit Do Provide an alternate way to exit a loop End If Statements Loop Until condition

Do While condition Statements Exit Do Statements Loop

20

Exercise
Write a program to display all the numbers between 1 and 1000 that are perfect squares. (A perfect square is an integer that is the square of another integer; 1,4,9,16, )
Use: #1 Do While #2 Do Until #3 For Next
21

Exercise Solution
Dim intX, intY as integer intX=1 IntY = IntX * IntX lblDisp.text= "The perfect squares between 1 and 1000 are"

Do While IntY <= 1000 lblDisp.text= lblDisp.text & conver.toString(IntY) & , IntX = IntX + 1 IntY = IntX * IntX Loop

Do
lblDisp.text =lblDisp.text & conver.toString(IntY) & , IntX = IntX + 1 IntY = IntX * IntX Loop Until IntY >= 1000

1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961
22

Exercise Solution
lblDisp.text= "The perfect squares between 1 and 1000 are"
For intX=1 to 100 (Could have used another end value) intY = intX * intX If intY > 1000 Then Exit For Else lblDisp.text=convert.toString(IntY) End If Next IntX
23

Exercise #7
Exercise #7

By default hidden visible after number have

24

Lab Exercises
#8 Display a row of 50 stars (asterisks).

#9 Request a number from 1 to 20 (using an input box) and display a row of that many stars. If number >20 or <1 display a warning message (message box) and request the number again.
25

Lab Exercise
#10 Find the sum 1 + + 1/3 + + + 1/100 Solution: 5.187378 #11 You are offered two salary options for ten days of work. Option 1: $100 per day
26

Lab Exercise
Option2: $1 the first day, $2 the second day, $4 the third day, and so on, with the amount of doubling each day. Write a program to determine which option pays better.
Solution: Option1: $1000 Option 2: $1023
27

Thats all Folks!

Chapter 6: The Repetition Structure

Programming with Microsoft Visual Basic .NET, Second Edition

The Repetition Structure (Looping) Lesson A Objectives


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


Initialize and update counters and accumulators

Programming with Microsoft Visual Basic .NET, Second Edition

30

The Repetition Structure


Use the repetition structure to repeatedly process one or more program instructions until some condition is met, at which time the repetition ends
The repetition structure is referred to as a loop

Programming with Microsoft Visual Basic .NET, Second Edition

31

The Repetition Structure (continued)


Pretest loop: evaluation occurs before the instructions within the loop are processed
Posttest loop: evaluation occurs after the instructions within the loop are processed

Programming with Microsoft Visual Basic .NET, Second Edition

32

The ForNext Loop


Use the ForNext statement to code a loop that repeats for a specific number of times

Figure 6-2: Syntax and examples of the For...Next statement


Programming with Microsoft Visual Basic .NET, Second Edition

33

The ForNext Loop (continued)

Figure 6-2: Syntax and examples of the For...Next statement (continued)


Programming with Microsoft Visual Basic .NET, Second Edition

34

The ForNext Loop (continued)


counter is a numeric variable that keeps track of how many times the loop instructions are repeated
startvalue, endvalue, and stepvalue
Must be numeric Can be positive or negative, integer or non-integer

Default stepvalue is 1

Programming with Microsoft Visual Basic .NET, Second Edition

35

The ForNext Loop (continued)

Figure 6-4: Pseudocode and flowchart for the first example shown in Figure 6-2
Programming with Microsoft Visual Basic .NET, Second Edition

36

The ForNext Loop (continued)


ForNext loop examples:
Dim count As Integer For count = 0 to 3 Step 1 Debug.WriteLine(count) Next count Dim count As Integer For count = 0 to 10 Step 2 Debug.WriteLine(count) Next count Dim count As Integer For count = 3 to 0 Step -1 Debug.WriteLine(count) Next count Dim loc As Single For loc = 0.5 To 15 Step 0.5 Debug.WriteLine(loc) Next loc
37

Programming with Microsoft Visual Basic .NET, Second Edition

The DoLoop Statement


Unlike the ForNext statement, the DoLoop statement can be used to code both a pretest loop and a posttest loop
The DoLoop statement begins with the Do clause and ends with the Loop clause

Programming with Microsoft Visual Basic .NET, Second Edition

38

The DoLoop Statement (continued)

Figure 6-7: Syntax and examples of the Do...Loop statement


Programming with Microsoft Visual Basic .NET, Second Edition

39

The DoLoop Statement (continued)

Figure 6-7: Syntax and examples of the Do...Loop statement (continued)


Programming with Microsoft Visual Basic .NET, Second Edition

40

The DoLoop Statement (continued)

Figure 6-9: Flowcharts for the examples shown in Figure 6-7


Programming with Microsoft Visual Basic .NET, Second Edition

41

The DoLoop Statement (continued)

Figure 6-9: Flowcharts for the examples shown in Figure 6-7 (continued)
Programming with Microsoft Visual Basic .NET, Second Edition

42

Using Counters and Accumulators


Counters and accumulators are used within a repetition structure to calculate subtotals, totals, and averages
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 and is updated by an amount that varies

Programming with Microsoft Visual Basic .NET, Second Edition

43

Using Counters and Accumulators (continued)


Initializing: assigning a beginning value to the counter or accumulator
Updating (incrementing): adding a number to the value stored in the counter or accumulator

Programming with Microsoft Visual Basic .NET, Second Edition

44

Nested Repetition Structures Lesson B Objectives


Nest repetition structures

Programming with Microsoft Visual Basic .NET, Second Edition

45

Nesting Repetition Structures


In a nested repetition structure, one loop, referred to as the inner loop, is placed entirely within another loop, called the outer loop
A clock uses nested loops to keep track of the time

Programming with Microsoft Visual Basic .NET, Second Edition

46

Nesting Repetition Structures (continued)

Figure 6-16: Nested loops used by a clock


Programming with Microsoft Visual Basic .NET, Second Edition

47

The Grade Calculator Application


Professor Arkins needs an application that allows him to assign a grade to any number of students
Each students grade is based on three test scores, with each test worth 100 points The application should total the test scores and then assign the appropriate grade, using the table shown on the next slide

Programming with Microsoft Visual Basic .NET, Second Edition

48

The Grade Calculator Application (continued)


Total points earned Grade

270300
240269 210239 180209 below 180

A
B C D F

Programming with Microsoft Visual Basic .NET, Second Edition

49

The Grade Calculator Application (continued)


uiAssignGradeButtons Click event procedure
Allows Professor Arkins to enter each students test scores, and then assign the appropriate grade

Contains two loops, one nested within the other


A For...Next statement controls the inner loop

Programming with Microsoft Visual Basic .NET, Second Edition

50

The Grade Calculator Application (continued)


uiAssignGradeButtons Click event procedure (continued)
A Do...Loop statement controls the outer loop

The inner loop is a pretest loop


The outer loop is a posttest loop

Programming with Microsoft Visual Basic .NET, Second Edition

51

The Grade Calculator Application (continued)

Figure 6-20: Sample run of the application that contains the procedure
Programming with Microsoft Visual Basic .NET, Second Edition

52

Coding the Shoppers Haven Application Lesson C Objectives


Select the existing text in a text box
Prevent a form from closing

Programming with Microsoft Visual Basic .NET, Second Edition

53

Shoppers Haven
The manager of Shoppers Haven wants an application that the store clerks can use to calculate the discounted price of an item, using discount rates from 10% through 30% in increments of 5%
The clerks will enter the items original price The application should display the discount rates and the discounted prices in the interface

Programming with Microsoft Visual Basic .NET, Second Edition

54

Shoppers Haven (continued)

Figure 6-21: User interface for the Shoppers Haven application


Programming with Microsoft Visual Basic .NET, Second Edition

55

Shoppers Haven (continued)

Figure 6-22: TOE chart for the Shoppers Haven application


Programming with Microsoft Visual Basic .NET, Second Edition

56

Shoppers Haven (continued)

Figure 6-23: Pseudocode for the Calculate buttons Click event procedure
Programming with Microsoft Visual Basic .NET, Second Edition

57

Shoppers Haven (continued)

Figure 6-27: Discounted prices shown in the Shoppers Haven application


Programming with Microsoft Visual Basic .NET, Second Edition

58

Selecting the Existing Text in a Text Box


Use the SelectAll method to select all of the text contained in a text box
Syntax: textbox.SelectAll()

textbox is the name of the text box whose text you want to select

Programming with Microsoft Visual Basic .NET, Second Edition

59

Selecting the Existing Text in a Text Box (continued)


Enter the SelectAll method in a text box controls Enter event
A text box controls Enter event occurs when the user tabs to the control, and when the Focus method is used in code to send the focus to the control The uiOriginalTextBox controls Enter event is responsible for highlighting the existing text in the control
Programming with Microsoft Visual Basic .NET, Second Edition

60

Selecting the Existing Text in a Text Box (continued)

Figure 6-29: Text selected in the Shoppers Haven application


Programming with Microsoft Visual Basic .NET, Second Edition

61

Coding the TextChanged Event Procedure


A controls TextChanged event occurs when the contents of a controls Text property change
Use the uiOriginalTextBoxs TextChanged event to clear the contents of the uiDiscPricesLabel when the user changes the original price

Programming with Microsoft Visual Basic .NET, Second Edition

62

Coding the ShoppersForms Closing Event Procedure


A forms Closing event occurs when a form is about to be closed
In the Shoppers Haven application, the Closing event procedure is responsible for:
Verifying that the user wants to exit the application Taking an action based on the users response

Programming with Microsoft Visual Basic .NET, Second Edition

63

Coding the ShoppersForms Closing Event Procedure (continued)

Figure 6-31: Pseudocode for the ShoppersForms Closing event procedure


Programming with Microsoft Visual Basic .NET, Second Edition

64

Coding the ShoppersForms Closing Event Procedure (continued)

Figure 6-33: Message box displayed by the forms Closing event


Programming with Microsoft Visual Basic .NET, Second Edition

65

Summary
Repetition structure (loop): the computer repeats a set of instructions until some condition is met
Code a repetition structure in Visual Basic .NET using one of the following statements: For...Next, Do...Loop, and For EachNext The For...Next statement is pretest loops only

The Do...Loop statement can code pretest and posttest loops


Programming with Microsoft Visual Basic .NET, Second Edition

66

Summary (continued)
To use a counter or accumulator:
Initialize, if necessary Update using an assignment statement in a repetition structure

To nest a repetition structure, place the entire inner loop within the outer loop

Programming with Microsoft Visual Basic .NET, Second Edition

67

Summary (continued)
To process code when the user tabs to a control, or when the Focus method is used in code to send the focus to the control, enter the code in the controls Enter event procedure
To process code when a form is about to be closed, enter the code in the forms Closing event procedure

Programming with Microsoft Visual Basic .NET, Second Edition

68

Anda mungkin juga menyukai