1 / 49

Programming Logic and Design Fifth Edition, Comprehensive

Programming Logic and Design, Fifth Edition, Comprehensive. 2. Objectives. Understand arrays and how they occupy computer memoryManipulate an array to replace nested decisionsUse a named constant to refer to an array's sizeDeclare and initialize an arrayUnderstand the difference between variable

allan
Download Presentation

Programming Logic and Design Fifth Edition, Comprehensive

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. Programming Logic and Design Fifth Edition, Comprehensive Chapter 6 Arrays

    2. Programming Logic and Design, Fifth Edition, Comprehensive 2 Objectives Understand arrays and how they occupy computer memory Manipulate an array to replace nested decisions Use a named constant to refer to an array’s size Declare and initialize an array Understand the difference between variable and constant arrays

    3. Programming Logic and Design, Fifth Edition, Comprehensive 3 Objectives (continued) Search an array for an exact match Use parallel arrays Search an array for a range match Learn about remaining within array bounds Use a for loop to process arrays

    4. Programming Logic and Design, Fifth Edition, Comprehensive 4 Understanding Arrays and How They Occupy Computer Memory Array: Series or list of variables in computer memory All variables share the same name Each variable has a different subscript Subscript (or index): Position number of an item in an array Subscripts are always a sequence of integers

    5. Programming Logic and Design, Fifth Edition, Comprehensive 5 How Arrays Occupy Computer Memory Each item has same name and same data type Element: an item in the array Array elements are contiguous in memory Size of the array: number of elements it will hold

    6. Programming Logic and Design, Fifth Edition, Comprehensive 6 How Arrays Occupy Computer Memory (continued)

    7. Programming Logic and Design, Fifth Edition, Comprehensive 7 How Arrays Occupy Computer Memory (continued) All elements have same group name Individual elements have unique subscript Subscript indicates distance from first element Subscripts are a sequence of integers Subscripts placed in parentheses or brackets following group name Syntax depends on programming language

    8. Programming Logic and Design, Fifth Edition, Comprehensive 8 Manipulating an Array to Replace Nested Decisions Example: Human Resources Department Dependents report List employees who have claimed 0 through 5 dependents Assume no employee has more than 5 dependents Application produces counts for dependent categories Uses series of decisions Application does not scale up to more dependents

    9. Programming Logic and Design, Fifth Edition, Comprehensive 9

    10. Programming Logic and Design, Fifth Edition, Comprehensive 10

    11. Programming Logic and Design, Fifth Edition, Comprehensive 11 Manipulating an Array to Replace Nested Decisions (continued) Array reduces number of statements needed Six dependent count accumulators redefined as single array Variable as a subscript to the array Array subscript variable must be: Numeric with no decimal places Initialized to 0 Incremented by 1 each time the logic passes through the loop

    12. Programming Logic and Design, Fifth Edition, Comprehensive 12

    13. Programming Logic and Design, Fifth Edition, Comprehensive 13

    14. Programming Logic and Design, Fifth Edition, Comprehensive 14 Manipulating an Array to Replace Nested Decisions (continued)

    15. Programming Logic and Design, Fifth Edition, Comprehensive 15 Manipulating an Array to Replace Nested Decisions (continued)

    16. Programming Logic and Design, Fifth Edition, Comprehensive 16

    17. Programming Logic and Design, Fifth Edition, Comprehensive 17 Using a Named Constant to Refer to an Array’s Size Avoid “magic numbers” (unnamed constants) Declare a named numeric constant to be used every time array is accessed Make sure any subscript remains less than the constant value Constant created automatically in many languages

    18. Programming Logic and Design, Fifth Edition, Comprehensive 18 Array Declaration and Initialization Declarations in different languages have two things in common: Name the count array Indicate there will be 20 separate numeric elements

    19. Programming Logic and Design, Fifth Edition, Comprehensive 19 Array Declaration and Initialization (continued) Initialize array elements num count[20] = 0 Make individual assignments count[0] = 5 No language allows assignment of more values than elements declared Initialization loop: loop structure that provides initial values to an array Use the loop control variable as the array subscript

    20. Programming Logic and Design, Fifth Edition, Comprehensive 20 Array Declaration and Initialization (continued)

    21. Programming Logic and Design, Fifth Edition, Comprehensive 21 Variable and Constant Arrays Variable array: values may change during program execution Values created during execution of application Constant array: assigned permanent and final values when program code written Hard-coded values are explicitly assigned to array elements

    22. Programming Logic and Design, Fifth Edition, Comprehensive 22

    23. Programming Logic and Design, Fifth Edition, Comprehensive 23 Variable and Constant Arrays (continued)

    24. Programming Logic and Design, Fifth Edition, Comprehensive 24 Searching an Array for an Exact Match Sometimes must search through an array to find a value Example: mail-order business Item numbers are three-digit, non-consecutive numbers Customer orders an item, check if item number is valid Create an array that holds valid item numbers Search array for exact match

    25. Programming Logic and Design, Fifth Edition, Comprehensive 25 Searching an Array for an Exact Match (continued)

    26. Programming Logic and Design, Fifth Edition, Comprehensive 26

    27. Programming Logic and Design, Fifth Edition, Comprehensive 27

    28. Programming Logic and Design, Fifth Edition, Comprehensive 28 Flag: variable that indicates whether an event occurred Technique for searching an array: Set a subscript variable to 0 to start at the first element Initialize a flag variable to false to indicate the desired value has not been found Examine each element in the array If the value matches, set the flag to True If the value does not match, increment the subscript and examine the next array element Searching an Array for an Exact Match (continued)

    29. Programming Logic and Design, Fifth Edition, Comprehensive 29 Using Parallel Arrays Example: mail-order business Two arrays, each with six elements Valid item numbers Valid item prices Each price in valid item price array in same position as corresponding item in valid item number array Parallel arrays Each element in one array associated with element in same relative position in other array Look through valid item array for customer item When match found, get price from item price array

    30. Programming Logic and Design, Fifth Edition, Comprehensive 30

    31. Programming Logic and Design, Fifth Edition, Comprehensive 31

    32. Programming Logic and Design, Fifth Edition, Comprehensive 32 Using Parallel Arrays (continued)

    33. Programming Logic and Design, Fifth Edition, Comprehensive 33 Improving Search Efficiency Using an Early Exit Program should stop searching the array when a match is found Setting a variable to a specific value instead of letting normal processing set it Early exit: leaving a loop as soon as a match is found Improves efficiency The larger the array, the better the improvement by doing an early exit

    34. Programming Logic and Design, Fifth Edition, Comprehensive 34

    35. Programming Logic and Design, Fifth Edition, Comprehensive 35 Searching an Array for a Range Match Sometimes programmers want to work with ranges of values in arrays Example: mail-order business Read customer order data, determine discount based on quantity ordered First approach: Array with as many elements as each possible order quantity Store appropriate discount for each possible order quantity

    36. Programming Logic and Design, Fifth Edition, Comprehensive 36 Searching an Array for a Range Match (continued)

    37. Programming Logic and Design, Fifth Edition, Comprehensive 37 Searching an Array for a Range Match (continued) Drawbacks of first approach: Requires very large array, uses a lot of memory Stores same value repeatedly How do you know you have enough elements? Customer can always order more Better approach: Create four discount array elements for each discount rate Parallel array with discount range Use loop to make comparisons

    38. Programming Logic and Design, Fifth Edition, Comprehensive 38 Searching an Array for a Range Match (continued)

    39. Programming Logic and Design, Fifth Edition, Comprehensive 39

    40. Programming Logic and Design, Fifth Edition, Comprehensive 40 Remaining within Array Bounds Every array has finite size Number of elements in the array Number of bytes in the array Arrays composed of elements of same data type Elements of same data type occupy same number of bytes in memory Number of bytes in an array always a multiple of number of array elements Access data using subscript containing a value that accesses memory occupied by the array

    41. Programming Logic and Design, Fifth Edition, Comprehensive 41

    42. Programming Logic and Design, Fifth Edition, Comprehensive 42 Remaining within Array Bounds (continued) Program logic assumes every number entered by the user is valid When invalid subscript is used: Some languages stop execution and issue an error Other languages access a memory location outside of the array Invalid array subscript is a logical error Out of bounds: using a subscript that is not within the acceptable range for the array Program should prevent bounds errors

    43. Programming Logic and Design, Fifth Edition, Comprehensive 43

    44. Programming Logic and Design, Fifth Edition, Comprehensive 44

    45. Programming Logic and Design, Fifth Edition, Comprehensive 45 Using a FOR Loop to Process Arrays for loop: single statement Initializes loop control variable Compares it to a limit Alters it for loop especially convenient when working with arrays To process every element Must stay within array bounds Highest usable subscript is one less than array size

    46. Programming Logic and Design, Fifth Edition, Comprehensive 46 Using a FOR Loop to Process Arrays (continued)

    47. Programming Logic and Design, Fifth Edition, Comprehensive 47

    48. Programming Logic and Design, Fifth Edition, Comprehensive 48 Summary Array: series or list of variables in memory Same name and type Different subscript Use a variable as a subscript to the array to replace multiple nested decisions Declare and initialize all elements in an array with a single statement Initialize array values within an initialization loop Some array values determined during program execution Other arrays have hard-coded values

    49. Programming Logic and Design, Fifth Edition, Comprehensive 49 Summary (continued) Search an array: Initialize the subscript Test each array element value in a loop Set a flag when a match is found Parallel arrays: each element in one array is associated with the element in second array Elements have same relative position For range comparisons, store either the low- or high-end value of each range

    50. Programming Logic and Design, Fifth Edition, Comprehensive 50 Summary (continued) Access data in an array Use subscript containing a value that accesses memory occupied by the array Subscript is out of bounds if not within defined range of acceptable subscripts for loop convenient tool for working with arrays Process each element of an array from beginning to end

More Related