Post on 06-Jan-2016
description
transcript
Microsoft Visual Basic 2010: Reloaded Fourth Edition
Chapter NineArrays
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
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
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
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-1: Illustration of the naming convention for the one-dimensional sales array
6
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-2: How to declare a one-dimensional array8
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
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-3: How to store data in a one-dimensional array
11
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
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
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-6: How to traverse a one-dimensional array
15
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
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
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
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
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-10: Partial code for the Starward Coffee application (cont’d.)
21
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Car-Mart – Finding the Highest Value
Figure 9-11: Problem specification for the Car-Mart application
23
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-13: Get Highest button’s Click event procedure
25
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Hunt Auditorium – Arrays and Collections
Figure 9-14: Problem specification for the Hunt Auditorium application
26
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
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
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Hinsbrook School – Accumulator Array
Figure 9-17: Problem specification for the Hinsbrook School application
30
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Hinsbrook School – Accumulator Array (cont'd.)
Figure 9-18: Sample run of the Hinsbrook School application
31
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-19: Partial code for the Hinsbrook School application
Hinsbrook School – Accumulator Array (cont'd.)
32
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-19: Partial code for the Hinsbrook School application (cont’d.)
33
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-20: How to use the Array.Sort and Array.Reverse methods
35
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-21: Names of some of the variables contained in the two-dimensional orders array
37
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-22: How to declare a two-dimensional array
39
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-23: How to store data in a two-dimensional array (cont’d.)
41
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-24: How to use a two-dimensional array’s GetUpperBound method
42
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
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-25: How to traverse a two-dimensional array (cont’d.)
45
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-26: Problem specification for the Jenko Booksellers application
Jenko Booksellers – Calculating a Total
46
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-28: Calculate button’s Click event procedure
Jenko Booksellers – Calculating a Total (cont’d.)
48
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
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
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 9-31: Partial code for the O’Reilly Studios application
51
• 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
• 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
• 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
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
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
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
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