Download presentation
Presentation is loading. Please wait.
Published byLiliana Harvey Modified over 9 years ago
1
Arrays Chapter 8
2
Overview u General discussion u Variable arrays u Control arrays u Multi-dimensional variable arrays Two-dimensional Three-dimensional u Parallel arrays u Dynamic arrays
3
Arrays u Often a set of objects or variables of the same type are used to hold related data Prices of food items at a fast food restaurant Scores on programming assignments u In the GPA calculator, rather than having five textboxes with different names to enter the grades, we might better describe the situation as an array of elements Many data containers One name
4
3 Variable Arrays u A variable like Stuff defines a data object into which a single quantity can be placed u A variable like Product defines a data object into which an array of information can be placed 2 1 0 Product Stuff
5
Declaring Variable Arrays u An array is declared using the following syntax: Dim ArrayName(LowerBound To UpperBound) as VariableType u The LowerBound of the array is the lowest index in the array, while the UpperBound is the highest index in the array
6
Variable Array – Example (1) u Arrays are useful for when there are many instances of similar data u Instead of ten integer variables holding ten values, a single array can handle all ten intd intcinte intj intf intb inta inti inth intg intArray
7
Variable Array – Example (2) u Each variable location in an array is called an element u Use Dim statement to define size and type Dim intArray(1 to 10) as Integer ‘creates the structure below u Treat as normal variables u Reference using subscripts: intArray(4) = 114 intArray 114
8
Variable Array – Example (3) u Arrays allow programmers to write code once, but have it applied to many different data elements u Compare adding all the integers stored in the variables… intd intcinte intj intf intb inta inti inth intg intArray intSum = inta + intb + intc _ + intd + inte + intf + intg _ + inth + inti + inj
9
Variable Array – Example (4) u Arrays allow programmers to write code once, but have it applied to many different data elements u …to adding all the elements of the array intd intcinte intj intf intb inta inti inth intg intArray For intI = 1 to 10 intSum = intSum + intArray(intI) Next intI
10
Control Arrays u VB allows the programmer to create arrays of controls on the form Just as there are variable arrays, there may be arrays of objects, such as command buttons, labels, textboxes or picture boxes An array of labels might be made with one label for each grade point An array of textboxes might be made with one textbox for each grade, or credits u Characteristics Name with subscripted elements .Index property is the subscript (Properties Window)
11
Control Arrays u Using the same procedure, you can make arrays of labels, or of pictures, or of check boxes, etc. u You can change the GPA calculator program to make arrays of grades, credits and grade points
12
Creating a Control Array – Example u Create an toolbox object, perhaps a command button, changing its (name) and caption.
13
Creating a Control Array – Example 1.Copy and paste the object (Ctrl-C)(Ctrl-V) or Edit/Copy then Edit/Paste 2.The message “Do you want to create a control array?” appears. Answer “yes” 3.Type Edit/Paste or (Ctrl-V) several more times to make an array of commands
14
Creating a Control Array – Example u The Properties Window shows it all. u Note that the 4th command created is shown as “cmdButn(3)”
15
Creating a Control Array – Example u Arrange the buttons on the form as desired u Double clicking on any one of them opens the code window
16
Creating a Control Array – Example u The event handler is a bit strange. There is now a “parameter” inside the normally blank parentheses: Private Sub cmdButn_Click(Index As Integer) lblOutput.Caption = "## " & Index & " ##" End Sub
17
Creating a Control Array – Example u Run the process u Click each button u Observe the effect
18
Creating Multi-dimensional variable Arrays u Arrays can come in different dimensions u You need to specify the lower and upper bounds for each dimension Array name; Dimensions; Bounds; Type An example of a two-dimensional array: Dim strName (1 to 3, 1 to 4) as String
19
Advanced Variable Arrays u Multi-dimensional arrays u Parallel arrays u Searching arrays u Dynamic Arrays
20
Creating Multi-dimensional variable Arrays u When accessing/storing elements in the array… Any integer literal, variable or expression can be used to subscript Must stay within the bounds Must have the correct number of subscripts If storing, must assign the correct type of data u Given: Dim strName (1 to 3, 1 to 4) as String Is strName (0, 0) = “Jones” valid? Is strName (2) = “Smith” valid? Is strName (4, 3) = “Larry” valid? Is strName(3, 4) = 1402 valid?
21
Two-dimensional variable Arrays u Two dimensional arrays require two subscripts elements are listed (row, column) u Example Dim intSales(1 to 3, 1 to 4) _ as Integer u What is intSales(2, 3)? 123123 1 2 3 4 1402 7532
22
Three-dimensional variable Arrays u Three dimensional arrays require three subscripts (row, column, depth) u Example Dim intSales (1 to 3, 1 to 4, 1 to 2) as Integer 1402 2134 4521 3425 So the number 2134 is found where? the number 4521 is ______ the number 1402 is ______ the number 3425 is ______
23
Parallel Arrays u Parallel arrays are used to hold related data with different types Dim strName (1 to 5) as String Dim intSales (1 to 5) as Integer So, if we know that Smith is in strName(2), we also know his or her sales is in intSales(2) strName intSales Jones Smith Frank Able Zean 1402 2301 0231 6762 0199
24
Searching Arrays strTarget = "Q" intFound = 0 For intI = 1 to 10 If strTarget = strArray(intI) Then intFound = intI Exit For End If Next intI strArray A F S V W Q Z X Y L Searching implies looking for a target A simple sequential search looks through the array for the target
25
Dynamic Arrays u You can re-dimension an array at run-time u Rules for resizing arrays: Use can empty dimension list: Dim intArray() as Integer Use ReDim to assign dimensions: ReDim intArray (1 to intN, 1 to 2) Use ReDim to change Bounds ReDim intArray (1 to (intN + 10), 1 to 3) Use Preserve keyword to save data in array ReDim Preserve intArray(1 to intN, 1 to 5)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.