Tutorial 11: Arrays

advertisement
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 Each…Next statement
• Access an element in a one-dimensional array
Programming with Microsoft Visual Basic .NET, Second Edition
2
Using a One-Dimensional Array
Lesson A Objectives (continued)
• Search a one-dimensional array
• Compute the average of a one-dimensional
array’s 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
3
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
4
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
5
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
6
One-Dimensional Arrays (continued)
• You refer to each variable in an array by its name
and the variable’s subscript
Figure 10-3: Names of the variables in a one-dimensional array
named states
Programming with Microsoft Visual Basic .NET, Second Edition
7
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
8
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
9
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
• uiDisplayButton’s Click event procedure
– Demonstrates how you can display the contents of
an array in a label control
– Uses the For…Next statement to display each
array element
– You also could use the Do…Loop statement or the
For Each…Next statement
Programming with Microsoft Visual Basic .NET, Second Edition
13
Displaying the Contents of a OneDimensional Array (continued)
Figure 10-6: uiDisplayButton’s Click event procedure
Programming with Microsoft Visual Basic .NET, Second Edition
14
The For Each…Next Statement
Figure 10-8: Syntax and an example of the For Each…Next
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
• uiSalaryButton’s 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
• uiSearchButton’s 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
• uiCalcAvgButton’s Click event procedure
calculates and displays the average test score
Figure 10-11: uiCalcAvgButton’s 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: uiCalcAvgButton’s 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
• uiHighestButton’s 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 OneDimensional 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 item’s new price in the
uiNewPricesLabel control
• uiUpdateButton’s 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)
• uiSortButton’s 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 form’s
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 element’s 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 variable’s row and
column position in the array
• Refer to each variable in a two-dimensional array
by the array’s 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: uiDisplayPriceButton’s 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:
uiDisplayPriceButton’s
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 uiCalculateButton’s 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 uiCalculateButton’s 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 array’s
name followed by the variable’s 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 twodimensional 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
Download