 Download Download Presentation Arrays

# Arrays

Download Presentation ## Arrays

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Arrays Chapter 8

2. Overview • General discussion • Variable arrays • Control arrays • Multi-dimensional variable arrays • Two-dimensional • Three-dimensional • Parallel arrays • Dynamic arrays

3. Arrays • 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 • 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. Variable Arrays • A variable like Stuff defines a data object into which a single quantity can be placed • A variable like Product defines a data object into which an array of information can be placed Stuff 3 2 1 0 Product

5. Declaring Variable Arrays • An array is declared using the following syntax: Dim ArrayName(LowerBound To UpperBound) as VariableType • The LowerBound of the array is the lowest index in the array, while the UpperBound is the highest index in the array

6. intArray Variable Array – Example (1) • Arrays are useful for when there are many instances of similar data • Instead of ten integer variables holding ten values, a single array can handle all ten intd intc inte intb intf inti inta inth intg intj

7. intArray 114 Variable Array – Example (2) • Each variable location in an array is called an element • Use Dim statement to define size and type Dim intArray(1 to 10) as Integer ‘creates the structure below • Treat as normal variables • Reference using subscripts: intArray(4) = 114

8. intArray Variable Array – Example (3) • Arrays allow programmers to write code once, but have it applied to many different data elements • Compare adding all the integers stored in the variables… intd intc inte intb intSum = inta + intb + intc _ + intd + inte + intf + intg _ + inth + inti + inj intf inti inta inth intg intj

9. intArray Variable Array – Example (4) • Arrays allow programmers to write code once, but have it applied to many different data elements • …to adding all the elements of the array intd intc inte intb For intI = 1 to 10 intSum = intSum + intArray(intI) Next intI intf inti inta inth intg intj

10. Control Arrays • 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 • Characteristics • Name with subscripted elements • .Index property is the subscript (Properties Window)

11. Control Arrays • Using the same procedure, you can make arrays of labels, or of pictures, or of check boxes, etc. • You can change the GPA calculator program to make arrays of grades, credits and grade points

12. Creating a Control Array – Example • 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 • The Properties Window shows it all. • Note that the 4th command created is shown as “cmdButn(3)”

15. Creating a Control Array – Example • Arrange the buttons on the form as desired • Double clicking on any one of them opens the code window

16. Creating a Control Array – Example • 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 • Run the process • Click each button • Observe the effect

18. Creating Multi-dimensional variable Arrays • Arrays can come in different dimensions • 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 • Multi-dimensional arrays • Parallel arrays • Searching arrays • Dynamic Arrays

20. Creating Multi-dimensional variable Arrays • 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 • 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. 1 2 3 4 1 2 3 1402 7532 Two-dimensional variable Arrays • Two dimensional arrays • require two subscripts • elements are listed (row, column) • Example Dim intSales(1 to 3, 1 to 4) _ as Integer • What is intSales(2, 3)?

22. Three-dimensional variable Arrays • Three dimensional arrays • require three subscripts (row, column, depth) • Example • Dim intSales (1 to 3, 1 to 4, 1 to 2) as Integer 1402 So the number 2134 is found where? the number 4521 is ______ the number 1402 is ______ the number 3425 is ______ 4521 2134 3425

23. Parallel Arrays strName intSales • 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) Jones Smith Frank Able Zean 1402 2301 0231 6762 0199

24. strArray A F S V W Q Z X Y L Searching Arrays strTarget = "Q" intFound = 0 For intI = 1 to 10 If strTarget = strArray(intI) Then intFound = intI Exit For End If Next intI • Searching implies looking for a target • A simple sequential search looks through the array for the target

25. Dynamic Arrays • You can re-dimension an array at run-time • 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)