1 / 25

Arrays

Arrays. Chapter 8. Overview. General discussion Variable arrays Control arrays Multi-dimensional variable arrays Two-dimensional Three-dimensional Parallel arrays Dynamic arrays. Arrays. Often a set of objects or variables of the same type are used to hold related data

madge
Download Presentation

Arrays

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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)

More Related