Chapter 10: Arrays
Programming with Microsoft Visual Basic .NET, Second Edition
Using a One-Dimensional Array Lesson A Objectives
Declare and initialize a one-dimensional array
Store data in a one-dimensional array Display the contents of a one-dimensional array Code a loop using the For EachNext statement Access an element in a one-dimensional array
Programming with Microsoft Visual Basic .NET, Second Edition
Using a One-Dimensional Array Lesson A Objectives (continued)
Search a one-dimensional array
Compute the average of a one-dimensional arrays contents
Find the highest entry in a one-dimensional array
Update the contents of a one-dimensional array Sort a one-dimensional array
Programming with Microsoft Visual Basic .NET, Second Edition
Arrays
A simple or scalar variable is one that is unrelated to any other variable in memory
An array is a group of variables that have the same name and data type and are related in some way
Programming with Microsoft Visual Basic .NET, Second Edition
Arrays (continued)
The most commonly used arrays are onedimensional and two-dimensional
Programmers use arrays to store related data in the internal memory of the computer
Programming with Microsoft Visual Basic .NET, Second Edition
One-Dimensional Arrays
A one-dimensional array is simply a row (or column) of variables
Each element in an array is identified by a subscript, which Visual Basic .NET assigns to the variable when the array is created
Programming with Microsoft Visual Basic .NET, Second Edition
One-Dimensional Arrays (continued)
You refer to each variable in an array by its name and the variables subscript
Figure 10-3: Names of the variables in a one-dimensional array named states
Programming with Microsoft Visual Basic .NET, Second Edition
One-Dimensional Arrays (continued)
Declaring a one-dimensional array
Version 1 {Dim | Private} arrayname(highestSubscript) As datatype Version 2 {Dim | Private} arrayname() As datatype = {initialValues}
Programming with Microsoft Visual Basic .NET, Second Edition
One-Dimensional Arrays (continued)
Examples of declaring an array
Dim cities(3) As String Private states() As String = {Hawaii, Alaska, Maine}
Programming with Microsoft Visual Basic .NET, Second Edition
Storing Data in a One-Dimensional Array
In most cases, you use an assignment statement to enter data into an existing array
Syntax: arrayname(subscript) = value
Examples
cities(0) = Madrid cities(1) = Paris cities(2) = Rome
Programming with Microsoft Visual Basic .NET, Second Edition
10
Manipulating One-Dimensional Arrays
You will learn how to perform the following tasks using a one-dimensional array:
Display the contents of an array
Access an array element using its subscript
Search the array Calculate the average of the data stored in a numeric array
Programming with Microsoft Visual Basic .NET, Second Edition
11
Manipulating One-Dimensional Arrays (continued)
You will learn how to perform the following tasks using a one-dimensional array (continued):
Find the highest value stored in an array
Update the array elements
Sort the array elements
Programming with Microsoft Visual Basic .NET, Second Edition
12
Displaying the Contents of a OneDimensional Array
uiDisplayButtons Click event procedure
Demonstrates how you can display the contents of an array in a label control
Uses the ForNext statement to display each array element
You also could use the DoLoop statement or the For EachNext statement
Programming with Microsoft Visual Basic .NET, Second Edition
13
Displaying the Contents of a OneDimensional Array (continued)
Figure 10-6: uiDisplayButtons Click event procedure
Programming with Microsoft Visual Basic .NET, Second Edition
14
The For EachNext Statement
Figure 10-8: Syntax and an example of the For EachNext statement
Programming with Microsoft Visual Basic .NET, Second Edition
15
Using the Subscript to Access an Element in a One-Dimensional Array
XYZ Corporation pays its managers based on six different salary codes, 1 through 6
Each code corresponds to a different salary
uiSalaryButtons Click event procedure displays the salary corresponding to the code entered by the user
Programming with Microsoft Visual Basic .NET, Second Edition
16
Searching a One-Dimensional Array
The sales manager at Jacobsen Motors wants a procedure that allows him to determine the number of salespeople selling above a certain amount, which he will enter
uiSearchButtons Click event procedure searches the array, looking for values that are greater than the amount entered by the sales manager
Programming with Microsoft Visual Basic .NET, Second Edition
17
Calculating the Average Amount Stored in a One-Dimensional Numeric Array
uiCalcAvgButtons Click event procedure calculates and displays the average test score
Figure 10-11: uiCalcAvgButtons Click event procedure
Programming with Microsoft Visual Basic .NET, Second Edition
18
Calculating the Average Amount Stored in a One-Dimensional Numeric Array (continued)
Figure 10-11: uiCalcAvgButtons Click event procedure (continued)
Programming with Microsoft Visual Basic .NET, Second Edition
19
Determining the Highest Value Stored in a One-Dimensional Array
Sharon Johnson wants a procedure that displays the highest amount she has earned in a week
uiHighestButtons Click event procedure will search the array, looking for the highest amount
Programming with Microsoft Visual Basic .NET, Second Edition
20
Updating the Values Stored in a One-Dimensional Array
The sales manager at Jillian Company wants a procedure that:
Allows her to increase the price of each item the company sells Displays each items new price in the uiNewPricesLabel control
uiUpdateButtons Click event procedure performs these tasks
Programming with Microsoft Visual Basic .NET, Second Edition
21
Sorting the Data Stored in a OneDimensional Array
Arranging data in a specific order is called sorting
Array.Sort method
Can be used to sort the elements in a one-
dimensional array in ascending order Syntax: Array.Sort(arrayname) uiSortButtons Click event procedure uses the Array.Sort method to sort the numbers array in ascending order
Programming with Microsoft Visual Basic .NET, Second Edition
22
Sorting the Data Stored in a OneDimensional Array (continued)
To sort a one-dimensional array in descending order:
Use Array.Sort to sort the array in ascending order
Use Array.Reverse to reverse the array elements
Syntax of the Array.Reverse method: Array.Reverse(arrayname)
Programming with Microsoft Visual Basic .NET, Second Edition
23
Using a Module-Level OneDimensional Array
Names application
Needs to display the names contained in a sequential access file
Should give the user the choice of displaying the names in either ascending or descending order
The names array is declared in the forms Declarations section, making it a module-level array
Programming with Microsoft Visual Basic .NET, Second Edition
24
More on One-Dimensional Arrays Lesson B Objectives
Create and manipulate parallel one-dimensional arrays
Create a structure
Declare a structure variable
Create and manipulate a one-dimensional array of structures
Programming with Microsoft Visual Basic .NET, Second Edition
25
Parallel One-Dimensional Arrays
Arrays that are related by an elements position (subscript)
Searching one array gives you the subscript for the other array To store a price list, which includes a string and a number, you can use two one-dimensional arrays
A String array to store the product IDs
An Integer array to store the prices
Programming with Microsoft Visual Basic .NET, Second Edition
26
Parallel One-Dimensional Arrays (continued)
Figure 10-19: Illustration of a price list stored in two onedimensional arrays
Programming with Microsoft Visual Basic .NET, Second Edition
27
Structures
Structure statement: can be used to create your own data types in Visual Basic .NET
Data types created using the Structure statement are referred to as user-defined data types or structures Members included in the structure can be variables, constants, or procedures In most cases, members are variables
Programming with Microsoft Visual Basic .NET, Second Edition
28
Structures (continued)
Figure 10-21: Syntax and an example of the Structure statement
Programming with Microsoft Visual Basic .NET, Second Edition
29
Using a Structure to Declare a Variable
Variables declared using a structure are often referred to as structure variables
Figure 10-22: Syntax and an example of declaring a structure variable
Programming with Microsoft Visual Basic .NET, Second Edition
30
Using a Structure to Declare a Variable (continued)
Figure 10-23: Syntax and examples of storing data in a member variable
Programming with Microsoft Visual Basic .NET, Second Edition
31
Creating an Array of Structure Variables
Assigning initial values to an array is referred to as populating the array
Refer to a member variable in an array element using the syntax: arrayname(subscript).memberVariableName
Programming with Microsoft Visual Basic .NET, Second Edition
32
Using a Two-Dimensional Array Lesson C Objectives
Create and initialize a two-dimensional array
Store data in a two-dimensional array Search a two-dimensional array
Programming with Microsoft Visual Basic .NET, Second Edition
33
Two-Dimensional Arrays
A two-dimensional array resembles a table in that the variables are in rows and columns
Figure 10-32: Illustration of a two-dimensional array
Programming with Microsoft Visual Basic .NET, Second Edition
34
Two-Dimensional Arrays (continued)
Each variable (element) in a two-dimensional array is identified by a unique combination of two subscripts
The subscripts specify the variables row and column position in the array Refer to each variable in a two-dimensional array by the arrays name and the row and column subscripts
Programming with Microsoft Visual Basic .NET, Second Edition
35
Two-Dimensional Arrays (continued)
Figure 10-34: Syntax versions and examples of declaring a twodimensional array
Programming with Microsoft Visual Basic .NET, Second Edition
36
Storing Data in a Two-Dimensional Array
Figure 10-35: Syntax and examples of entering data into a twodimensional array
Programming with Microsoft Visual Basic .NET, Second Edition
37
Searching a Two-Dimensional Array
Figure 10-36: uiDisplayPriceButtons Click event procedure using a two-dimensional array
Programming with Microsoft Visual Basic .NET, Second Edition
38
Searching a Two-Dimensional Array (continued)
Figure 10-36: uiDisplayPriceButtons Click event procedure using a twodimensional array (continued)
Programming with Microsoft Visual Basic .NET, Second Edition
39
The Tax Calculator Application
John Blackfeather, the owner and manager of the Perrytown Gift Shop, should be able to use the application to calculate the weekly federal withholding tax for his employees
To calculate the federal withholding tax, the user would need to enter the taxable wages in the Taxable wages text box and then click the Calculate Tax button
Programming with Microsoft Visual Basic .NET, Second Edition
40
The Tax Calculator Application (continued)
Figure 10-37: Interface for the Tax Calculator application
Programming with Microsoft Visual Basic .NET, Second Edition
41
The Tax Calculator Application (continued)
Figure 10-40: TOE chart for the Tax Calculator application
Programming with Microsoft Visual Basic .NET, Second Edition
42
Coding the uiCalculateButton Click Event Procedure
Figure 10-41: Pseudocode for the uiCalculateButtons Click event procedure
Programming with Microsoft Visual Basic .NET, Second Edition
43
Coding the uiCalculateButton Click Event Procedure (continued)
Figure 10-41: Pseudocode for the uiCalculateButtons Click event procedure (continued)
Programming with Microsoft Visual Basic .NET, Second Edition
44
Summary
Two versions of the syntax used to declare a one-dimensional array:
{Dim | Private} arrayname(highestSubscript) As datatype {Dim | Private} arrayname() As datatype = {initialValues}
Programming with Microsoft Visual Basic .NET, Second Edition
45
Summary (continued)
To refer to a variable in an array, use the arrays name followed by the variables subscript
To create parallel one-dimensional arrays, create two one-dimensional arrays To create an array of structures, use the Structure statement to create a record structure, then use the record structure to declare the array
Programming with Microsoft Visual Basic .NET, Second Edition
46
Summary (continued)
Two versions of the syntax used to declare a two-dimensional array:
{Dim | Private} arrayname(highestRowSubscript, highestColumnSubscript) As datatype {Dim | Private} arrayname(,) As datatype = {{initialValues}, {initialValues},{initialValues}}
Syntax used to refer to a variable included in a two-dimensional array: arrayname(rowSubscript, columnSubscript)
Programming with Microsoft Visual Basic .NET, Second Edition
47