Arrays Chapter Microsoft Visual Basic.NET: Reloaded 1.

Post on 28-Mar-2015

222 views 2 download

Tags:

transcript

Arrays

Chapter Microsoft Visual Basic .NET: Reloaded

1

2Microsoft Visual Basic .NET: Reloaded

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

3Microsoft Visual Basic .NET: Reloaded

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

4Microsoft Visual Basic .NET: Reloaded

Objectives (continued)

• Enter code in the form’s Load event procedure

• Create and manipulate parallel one-dimensional arrays

• Create and initialize a two-dimensional array

• Store data in a two-dimensional array

• Search a two-dimensional array

5Microsoft Visual Basic .NET: Reloaded

Using Arrays

• Simple variable

• Also called scalar variable

• Is unrelated to any other variable in memory

• Array

• A group of variables that have the same name and data type and are related in some way

• You can picture an array as a group of small adjacent boxes inside the computer’s memory

6Microsoft Visual Basic .NET: Reloaded

One-Dimensional Arrays

• One-dimensional array

• Visualize as a column of variables

• Each variable is identified by a unique number

• Unique number is called “subscript”

• Subscript is placed inside parentheses immediately following array name

• Example strStates(1) – read “strStates sub one”

• Individual variables referred to as “elements”

7Microsoft Visual Basic .NET: Reloaded

One-Dimensional Arrays (continued)

• Declare using keywords Dim or Private

• highestSubscript argument in declaration used to specify the number of elements in the array

• number of array elements is 1 more than the value in highestSubscript argument

8Microsoft Visual Basic .NET: Reloaded

One-Dimensional Arrays (continued)

9Microsoft Visual Basic .NET: Reloaded

HOW TO…

10Microsoft Visual Basic .NET: Reloaded

Storing Data in a One-Dimensional Array

11Microsoft Visual Basic .NET: Reloaded

Manipulating One-Dimensional Arrays

• Sample procedures will demonstrate how to perform tasks using a one-dimensional array• Display 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

• Find the highest value stored in an array

• Update the array elements

• Sort the array elements

12Microsoft Visual Basic .NET: Reloaded

Displaying the Contents of a One-Dimensional Array

13Microsoft Visual Basic .NET: Reloaded

Displaying the Contents of a One-Dimensional Array (continued)

14Microsoft Visual Basic .NET: Reloaded

The For Each…Next Statement

• Use to code a loop containing instructions to be processed for each element in a group

• Syntax template shown in next slide contains words “element” and “group”• “element”

• Declare a variable of the same data type as the elements of the array and place this variable in the “element” position of the template

• “group” • The variable name of the array

15Microsoft Visual Basic .NET: Reloaded

HOW TO…

16Microsoft Visual Basic .NET: Reloaded

Using the Subscript to Access an Element in a One-Dimensional Array

Display salary amount corresponding to code entered by user

17Microsoft Visual Basic .NET: Reloaded

Searching a One-Dimensional Array

• Determine number of salespeople selling above a certain amount

18Microsoft Visual Basic .NET: Reloaded

Calculating the Average Amount Stored in a One-Dimensional Numeric Array

• Calculate and display average test score earned by students on final exam

19Microsoft Visual Basic .NET: Reloaded

Determining the Highest Value Stored in a One-Dimensional Array

• Display highest amount earned in a week

20Microsoft Visual Basic .NET: Reloaded

Updating the Values Stored in a One-Dimensional Array

• Procedure allows manager to increase price of each item and display item’s new price

21Microsoft Visual Basic .NET: Reloaded

Sorting the Data Stored in a One-Dimensional Array

• Array.Sort(arrayName) method

• Sorts the elements of a one-dimensional array in “ascending order”

• First element contains smallest value

• Last element contains largest value

• To sort in descending order

• First sort in ascending order

• Then use Array.Reverse(arrayname) method to reverse the position of the elements in the array

22Microsoft Visual Basic .NET: Reloaded

Sorting the Data Stored in a One-Dimensional Array (continued)

• btnSortAscending_Click procedure sorts intNumbers array into ascending order

23Microsoft Visual Basic .NET: Reloaded

Sorting the Data Stored in a One-Dimensional Array (continued)

24Microsoft Visual Basic .NET: Reloaded

Sorting the Data Stored in a One-Dimensional Array (continued)

• Method sorts array in descending order and displays the results

25Microsoft Visual Basic .NET: Reloaded

Sorting the Data Stored in a One-Dimensional Array (continued)

26Microsoft Visual Basic .NET: Reloaded

Using a Module-Level One-Dimensional Array

• Application displays names contained in a sequential access file, giving user choice of ascending or descending order of display

• First, declare array variable in the Form’s general declarations section

• Then, fill array from data in file using code in the form’s Load event procedure

• Load event occurs before the first time a form is displayed

27Microsoft Visual Basic .NET: Reloaded

Using a Module-Level One-Dimensional Array (continued)

28Microsoft Visual Basic .NET: Reloaded

Using a Module-Level One-Dimensional Array (continued)

29Microsoft Visual Basic .NET: Reloaded

Parallel One-Dimensional Arrays

• Two or more one-dimensional arrays whose elements are related by their position (subscript)

• Called parallel because element at subscript 0 in first array corresponds to element at subscript 0 in another array

• Example:

• strID(0) corresponds to intPrice(0) and

• strID(1) corresponds to intPrice(1),

• and so on…

30Microsoft Visual Basic .NET: Reloaded

Parallel One-Dimensional Arrays (continued)

31Microsoft Visual Basic .NET: Reloaded

Parallel One-Dimensional Arrays (continued)

32Microsoft Visual Basic .NET: Reloaded

Parallel One-Dimensional Arrays (continued)

33Microsoft Visual Basic .NET: Reloaded

Two-Dimensional Arrays

• Resemble a table in that variables are store in rows and columns

• Each element is identified by a unique combination of two subscripts

• The first subscript indicates the element’s row

• The second subscript indicates the column

• Each subscript begins with 0

• The element in the first row and column has a subscript of (0,0)

34Microsoft Visual Basic .NET: Reloaded

Two-Dimensional Arrays (continued)

35Microsoft Visual Basic .NET: Reloaded

HOW TO…

36Microsoft Visual Basic .NET: Reloaded

Storing Data in a Two-Dimensional Array

37Microsoft Visual Basic .NET: Reloaded

Searching a Two-Dimensional Array

38Microsoft Visual Basic .NET: Reloaded

Programming Example – Perrytown Gift Shop Application

• Application is to assist in employee weekly payroll process

• Calculates and displays the federal withholding tax (FWT)

• Gets and displays taxable wages

• Gets and displays marital status

39Microsoft Visual Basic .NET: Reloaded

TOE Chart

40Microsoft Visual Basic .NET: Reloaded

User Interface

41Microsoft Visual Basic .NET: Reloaded

Objects, Properties, and Settings

42Microsoft Visual Basic .NET: Reloaded

Objects, Properties, and Settings (continued)

43Microsoft Visual Basic .NET: Reloaded

Tab Order

44Microsoft Visual Basic .NET: Reloaded

Pseudocode

btnExit Click event procedure

close application

btnCalc Click event procedure

Include the following in a Try/Catch block:

remove any dollar signs and spaces from the txtTaxable control

assign the taxable wages store in txtTaxable to a variable

assign the marital status entered in txtStatus to a variable

if marital status is not either M or S

display an appropriate message

else

if marital status is M

use the Married tax table, stored in an array

else

use the singles tax table, stored in an array

45Microsoft Visual Basic .NET: Reloaded

Pseudocode (continued)

end ifend if

Repeat while there are still rows in the tax table to search and taxable wages have not been foundif taxable wages are less than or equal to value stored in the first column of the current row in tax table

use information stored in 2nd, 3rd, and 4th columns in taxtable to calculate the federal withholding taxindicate that the taxable wages were found by assigning

thevalue True to blnFound variable

elseadd 1 to the contents of the intRow variable to continue

the searchrow in the tax table

Display the federal withholding tax in the lblFwt controlUse general Catch statement to handle and display any errors

46Microsoft Visual Basic .NET: Reloaded

Code

47Microsoft Visual Basic .NET: Reloaded

Code (continued)

48Microsoft Visual Basic .NET: Reloaded

Summary

• Programmers use arrays to temporarily store related data in computer’s internal memory

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

• Each element in a one-dimensional array is identified by a unique subscript

• Appears in parentheses after array’s name

49Microsoft Visual Basic .NET: Reloaded

Summary (continued)

• Each element in a two-dimensional array is identified by a unique combination of two subscripts:• Row subscript

• Column subscript

• Subscripts appear in parentheses after the array’s name

• You list the row subscript first, followed by a comma and the column subscript

• The first subscript in a one-dimensional array is 0 (zero)

50Microsoft Visual Basic .NET: Reloaded

Summary (continued)

• First row subscript in a two-dimensional array is 0 (zero) likewise, the first column subscript also is 0 (zero)

• When declaring a one-dimensional array, provide either highest subscript or initial values

• When declaring a two-dimensional array, you provide either the highest row and column subscripts or the initial values

51Microsoft Visual Basic .NET: Reloaded

Summary (continued)

• The number of elements in a one-dimensional array is one more than its highest subscript

• The number of rows in a two-dimensional array is one more than its highest row subscript likewise, the number of columns is one more than its highest column subscript

• You usually use an assignment statement to store data in an array

• You refer to an element in a one-dimensional array using the array’s name followed by the element’s subscript

52Microsoft Visual Basic .NET: Reloaded

Summary (continued)

• You refer to an element in a two-dimensional array using the array’s name followed by the element’s row and column subscripts, which are separated by a comma

• You can use the For Each…Next statement to code a loop whose instructions you want processed for each element in an array

• You can use the Length property to determine the number of elements in the array

53Microsoft Visual Basic .NET: Reloaded

Summary (continued)

• You use the Array.Sort method to sort the elements in a one-dimensional array

• You use the Array.Reverse method to reverse the order of the elements in an array

• The elements in parallel arrays are related by their subscript (or position) in each array