Você está na página 1de 47

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

Você também pode gostar