microsoft visual basic 2010: reloaded fourth edition chapter nine arrays

58
Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Upload: philomena-greer

Post on 16-Dec-2015

228 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded Fourth Edition

Chapter NineArrays

Page 2: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Objectives

After studying this chapter, you should be able to:

• Declare and initialize a one-dimensional array

• Store data in a one-dimensional array

• Determine the number of array elements and the highest subscript

• Traverse a one-dimensional array

• Code a loop using the For Each…Next statement

• Compute the total and average of a one-dimensional array’s contents

2

Page 3: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Objectives (cont'd.)

• Find the highest value in a one-dimensional array

• Associate a list box with a one-dimensional array

• Use a one-dimensional array as an accumulator

• Sort a one-dimensional array

• Create and initialize a two-dimensional array

• Store data in a two-dimensional array

• Sum the values in a two-dimensional array

• Search a two-dimensional array

Microsoft Visual Basic 2010: Reloaded, Fourth Edition 3

Page 4: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

• Simple variable (or scalar variable): a variable that is unrelated to any other variable in memory

• Array: – A group of variables with the same name and data

type that are related in some way– Used to temporarily store related data in memory– Increases the efficiency of a program

• Commonly used arrays:– One-dimensional – Two-dimensional

Arrays

4

Page 5: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

One-Dimensional Arrays

• One-dimensional array:– Can be viewed as a column of variables– Each variable in the array has the same name and

data type

• Subscript: – A unique number that identifies each variable in a

one-dimensional array– Starts at 0 for first element in the array

• Use array name and subscript to refer to each individual variable in the array

5

Page 6: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-1: Illustration of the naming convention for the one-dimensional sales array

6

Page 7: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

One-Dimensional Arrays (cont'd.)

• Element: an individual variable in the array

• When an array is declared:– Must specify the data type, name, and highest

subscript to be used

• First element has a subscript of 0– The array will contain one element more than the

highest subscript because subscripts start at 0

7

Page 8: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-2: How to declare a one-dimensional array8

Page 9: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

One-Dimensional Arrays (cont'd.)

• Each element in the array is initialized if no values are provided– String array elements are initialized to the keyword

Nothing– Numeric array elements are initialized to 0– Boolean array elements are initialized to False– Date array elements are initialized to 12:00 AM

January 1, 0001

9

Page 10: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

One-Dimensional Arrays (cont'd.)

• Initial values can be specified for array elements

• Populating the array: assigning initial values to an array

– List the values in a comma-separated list enclosed in curly braces ({})

• After declaration, can use an assignment statement to store a value in an array element

• Length property: indicates number of elements• GetUpperBound method: returns the highest

subscript

Microsoft Visual Basic 2010: Reloaded, Fourth Edition 10

Page 11: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-3: How to store data in a one-dimensional array

11

Page 12: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-4: How to use a one-dimensional array’s Length property

One-Dimensional Arrays (cont'd.)

12

Page 13: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-5: How to use a one-dimensional array’s GetUpperBound method

One-Dimensional Arrays (cont'd.)

13

Page 14: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Traversing a One-Dimensional Array

• Traverse an array: look at each array element, one by one, from beginning to end of the array

• Use a loop to traverse an array

14

Page 15: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-6: How to traverse a one-dimensional array

15

Page 16: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

The For Each…Next Statement

• For Each…Next statement: – Used to code a loop that processes each element in a

group or array– Creates a variable used to represent each element in

the group or array– Data type of the element must match the data type of

the group

16

Page 17: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

The For Each…Next Statement (cont'd.)

Figure 9-7: How to use the For Each…Next statement

17

Page 18: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Starward Coffee – Calculating a Total and an Average

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-9: Problem specification for the Starward Coffee Application

18

Page 19: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Starward Coffee – Calculating a Total and an Average (cont’d.)

Figure 9-8: Sample run of the Starward Coffee application

19

Page 20: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Starward Coffee – Calculating a Total and an Average (cont’d.)

Figure 9-10: Partial code for the Starward Coffee application

20

Page 21: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-10: Partial code for the Starward Coffee application (cont’d.)

21

Page 22: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-10: Partial code for the Starward Coffee application (cont’d.)

Starward Coffee – Calculating a Total and an Average (cont’d.)

22

Page 23: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Car-Mart – Finding the Highest Value

Figure 9-11: Problem specification for the Car-Mart application

23

Page 24: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Car-Mart – Finding the Highest Value (cont’d.)

Figure 9-12: Sample run of the Car-Mart application

24

Page 25: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-13: Get Highest button’s Click event procedure

25

Page 26: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Hunt Auditorium – Arrays and Collections

Figure 9-14: Problem specification for the Hunt Auditorium application

26

Page 27: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Hunt Auditorium – Arrays and Collections (cont'd.)

Figure 9-15: Sample run of the Hunt Auditorium application

27

Page 28: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Hunt Auditorium – Arrays and Collections (cont'd.)

Figure 9-16: Partial code and an illustration for the Hunt Auditorium application

28

Page 29: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Hunt Auditorium – Arrays and Collections (cont'd.)

Figure 9-15: Partial code and an illustration for the Hunt Auditorium application (cont’d.)

29

Page 30: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Hinsbrook School – Accumulator Array

Figure 9-17: Problem specification for the Hinsbrook School application

30

Page 31: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Hinsbrook School – Accumulator Array (cont'd.)

Figure 9-18: Sample run of the Hinsbrook School application

31

Page 32: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-19: Partial code for the Hinsbrook School application

Hinsbrook School – Accumulator Array (cont'd.)

32

Page 33: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-19: Partial code for the Hinsbrook School application (cont’d.)

33

Page 34: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Sorting a One-Dimensional Array

• Sorting: arranging data in a specific order– Ascending: first element is smallest, last element is

largest– Descending: first element is largest, last element is

smallest• Array.Sort method: used to sort elements in a

one-dimensional array in ascending order• Array.Reverse method: used after Array.Sort

method to change to descending order

34

Page 35: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-20: How to use the Array.Sort and Array.Reverse methods

35

Page 36: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Two-Dimensional Arrays

• Two-dimensional array: – Resembles a table with rows and columns

• Each element is identified by a unique combination of two subscripts: (row, column)

• Subscripts are zero-relative

• Refer to an element using the name followed by the (row, column) pair in parentheses

36

Page 37: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-21: Names of some of the variables contained in the two-dimensional orders array

37

Page 38: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Two-Dimensional Arrays (cont'd.)

• Two-dimensional array:– Declared with highest row subscript and highest

column subscript (zero-relative)

• Number of rows = highest row subscript + 1

• Number of columns = highest column subscript + 1

• Can specify initial values for array elements

• If no initial values are declared, array elements are automatically initialized

38

Page 39: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-22: How to declare a two-dimensional array

39

Page 40: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Two-Dimensional Arrays (cont'd.)

Microsoft Visual Basic 2010: Reloaded, Fourth Edition 40

Figure 9-23: How to store data in a two-dimensional array

Page 41: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-23: How to store data in a two-dimensional array (cont’d.)

41

Page 42: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-24: How to use a two-dimensional array’s GetUpperBound method

42

Page 43: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Traversing a Two-Dimensional Array

• To traverse a two-dimensional array, use two loops:– Outer loop: tracks the row subscript– Nested loop: tracks the column subscript

• Can also use a For Each…Next loop

Microsoft Visual Basic 2010: Reloaded, Fourth Edition 43

Page 44: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Traversing a Two-Dimensional Array (cont'd.)

Figure 9-25: How to traverse a two-dimensional array

44

Page 45: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-25: How to traverse a two-dimensional array (cont’d.)

45

Page 46: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-26: Problem specification for the Jenko Booksellers application

Jenko Booksellers – Calculating a Total

46

Page 47: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-27: Sample run of the Jenko Booksellers application

Jenko Booksellers – Calculating a Total (cont’d.)

47

Page 48: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-28: Calculate button’s Click event procedure

Jenko Booksellers – Calculating a Total (cont’d.)

48

Page 49: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-29: Problem specification for the O’Reilly Studios application

O’Reilly Studios – Searching a Two-Dimensional Array

49

Page 50: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-30: Sample run of the O’Reilly Studios application

O’Reilly Studios – Searching a Two-Dimensional Array (cont’d.)

50

Page 51: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Figure 9-31: Partial code for the O’Reilly Studios application

51

Page 52: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

• Lottery Game application– Generates and displays six unique random numbers

for a Lottery Game

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Programming Tutorial 1

Figure 9-33: MainForm in the Lottery Game application

52

Page 53: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

• Stay Fit Health Club application– Displays monthly fees for three different membership

levels

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Programming Tutorial 2

Figure 9-33: MainForm for the Stay Fit Health Club application

53

Page 54: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

• Professor Coleman application– Allows a user to select a letter grade from a list box

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Programming Example

Figure 9-43: MainForm in the Professor Coleman application

54

Page 55: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Summary

• Arrays: used to store related data in memory

• All variables in an array have the same name and data type

• To declare a one-dimensional array, provide the highest subscript or initial values

• One-dimensional array: each element is uniquely identified by its position (subscript) in the array

• Refer to an element in a one-dimensional array by using array name and element’s subscript

Microsoft Visual Basic 2010: Reloaded, Fourth Edition 55

Page 56: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Summary (cont'd.)

• Length property: returns the number of elements in an array

• GetUpperBound method: returns the highest subscript in the array

• Use a loop to traverse a one-dimensional array

• Can use variables in an array as accumulators• Array.Sort method: sorts the elements in a one-

dimensional array in ascending order• Array.Reverse method: reverses the order of

elements in a one-dimensional array

Microsoft Visual Basic 2010: Reloaded, Fourth Edition 56

Page 57: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Microsoft Visual Basic 2010: Reloaded, Fourth Edition

Summary (cont'd.)

• Two-dimensional array: each element is uniquely identified by its position (row and column subscripts) in the array

• To declare a two-dimensional array, provide the highest row and column subscripts or initial values

• Number of rows in a two-dimensional array is the highest row subscript value + 1

• Number of columns in a two-dimensional array is the highest column subscript value + 1

57

Page 58: Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Nine Arrays

Summary (cont'd.)

• Refer to an element in a two-dimensional array by using array name and element’s row and column subscripts separated by a comma

• Use a two-dimensional array’s GetUpperBound method to determine the highest row subscript and the highest column subscript in the array

• Can traverse a two-dimensional array using either two loops (outer loop and nested loop) or the For Each…Next statement

Microsoft Visual Basic 2010: Reloaded, Fourth Edition 58