Arrays 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 • 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 Objectives (cont’d) • Create and manipulate parallel one-dimensional arrays • Create a structure • Declare a structure variable • Create and manipulate a one-dimensional array of structures • Create and initialize a two-dimensional array • Store data in a two-dimensional array • Search a two-dimensional array 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 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 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 One-Dimensional Arrays (continued) • You refer to each variable in an array by its name and the variable’s subscript Names of the variables in a one-dimensional array named states 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} One-Dimensional Arrays (continued) • Examples of declaring an array – Dim cities(3) As String – Private states() As String = {“Hawaii”, “Alaska”, “Maine”} Storing Data in a OneDimensional 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” 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 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 Displaying the Contents of a One-Dimensional 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 Displaying the Contents of a One-Dimensional Array (continued) uiDisplayButton’s Click event procedure The For Each…Next Statement Syntax and an example of the For Each…Next statement Using the Subscript to Access an Element in a OneDimensional 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 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 Calculating the Average Amount Stored in a One-Dimensional Numeric Array • uiCalcAvgButton’s Click event procedure calculates and displays the average test score uiCalcAvgButton’s Click event procedure Calculating the Average Amount Stored in a One-Dimensional Numeric Array (continued) uiCalcAvgButton’s Click event procedure (continued) 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 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 item’s new price in the uiNewPricesLabel control • uiUpdateButton’s Click event procedure performs these tasks Sorting the Data Stored in a One-Dimensional 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 Sorting the Data Stored in a One-Dimensional 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) 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 modulelevel array 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 onedimensional arrays – A String array to store the product IDs – An Integer array to store the prices Parallel One-Dimensional Arrays (continued) Illustration of a price list stored in two one-dimensional arrays 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 Structures (continued) Syntax and an example of the Structure statement Using a Structure to Declare a Variable • Variables declared using a structure are often referred to as structure variables Syntax and an example of declaring a structure variable Using a Structure to Declare a Variable (continued) Syntax and examples of storing data in a member variable 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).memberVariableNa me Two-Dimensional Arrays • A two-dimensional array resembles a table in that the variables are in rows and columns Illustration of a two-dimensional array Two-Dimensional Arrays (continued) • Each variable (element) in a twodimensional 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 twodimensional array by the array’s name and the row and column subscripts Two-Dimensional Arrays (continued) Syntax versions and examples of declaring a two-dimensional array Storing Data in a TwoDimensional Array Syntax and examples of entering data into a twodimensional array Searching a Two-Dimensional Array uiDisplayPriceButton’s Click event procedure using a twodimensional array Searching a Two-Dimensional Array (continued) uiDisplayPriceButton’s Click event procedure using a twodimensional array (continued) 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 The Tax Calculator Application (continued) Interface for the Tax Calculator application The Tax Calculator Application (continued) TOE chart for the Tax Calculator application Coding the uiCalculateButton Click Event Procedure Pseudocode for the uiCalculateButton’s Click event procedure Coding the uiCalculateButton Click Event Procedure (continued) Pseudocode for the uiCalculateButton’s Click event procedure (continued) 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} 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 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)