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