SlideShare a Scribd company logo
1 of 20
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
CHAPTER8
Arrays
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-2
Chapter Topics
8.1 Array Basics
8.2 Sequentially Searching an Array
8.3 Processing the Contents of an Array
8.4 Parallel Arrays
8.5 Two-Dimensional Arrays
8.6 Arrays of Three or More Dimension
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-3
8.1 Array Basics
An array allows you to store a group of items of
the same data type together in memory
– Why? Instead of creating multiple similar
variables such as employee1, employee2,
employee3 and so on…
– It’s more efficient to create just one variable
• Declare String employees[50]
• Declare Real salesAmounts[7]
– The number in the [ ] is the size of the array
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-4
8.1 Array Basics
• The storage locations in an array are elements
• Each element of the array has a unique number
called a subscript that identifies it – the
subscript starts at 0 in most languages.
Figure 8-1 Array subscripts
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-5
8.1 Array Basics
Assigning values can be done individually using
a subscript…
Set numbers[0] = 20
Set numbers[1] = 30
Set numbers[2] = 40
Set numbers[3] = 50
Set numbers[4[ = 60
But, it is much more efficient to use a Loop to
step through the array
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-6
8.1 Array Basics
Figure 8-3 Contents of the hours array
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-7
8.1 Array Basics
Arrays can be initialized to 0 or specific values
Declare String days[7] = “Sunday”, “Monday”, “Tuesday”,
Wednesday”, “Thursday”, “Friday”, “Saturday”
Array bounds checking should be performed to
avoid use of an invalid subscript
Days[7] = “Saturday” is invalid because there is no 7 index
– A common error is running a loop one time more than is
necessary, exceeding the bound of the array
– Off-by-one Error
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8.1 Array Basics
• Partially Filled Array
– Sometimes an array is only partially filled
– To avoid processing the unfilled elements, you must
have an accompanying integer variable that holds
the number of items stored in the array.
• When the array is empty, 0 is stored in this variable
• The variable is incremented each time an item is added to
the array
• The variable's value is used as the array's size when
stepping through the array.
8-8
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
Constant Integer SIZE = 100
Declare Integer values[SIZE]
Declare Integer count = 0
Declare Integer number
Declare Integer Index
Display "Enter a number, or -1 to quit."
Input number
While (number != -1 AND count < SIZE)
Set values[count] = number
Set count = count + 1
Display "Enter a number, or -1 to quit."
Input number
End While
Display "Here are the values you entered:"
For index = 0 To count - 1
Display values[index]
End For
8.1 Array Basics
8-9
Partially Filled Array
Example
Thecountvariableholdsthenumberofitemsstoredinthearray.
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8.1 Array Basics
• Optional Topic: The For Each Loop
– Some languages provide a For Each loop
– It works with an array, iterating once for each array
element
– During each iteration, the loop copies an element's
value to a variable.
8-10
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8.1 Array Basics
8-11
Constant Integer SIZE = 5
Declare Integer numbers[SIZE] = 5, 10, 15, 20, 25
Declare Integer num
For Each num In numbers
Display num
End For
For Each Example
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-12
8.2 Sequentially Searching an Array
A sequential search algorithm is a simple technique for finding an
item in a string or numeric array
– Uses a loop to sequentially step through an array
– Compares each element with the value being searched for
– Stops when the value is found or the end of the array is hit
Set found = False
Set index = 0
While found == False AND index <= SIZE -1
If (array[index] == searchValue Then
Set found = True
Else
Set index = index + 1
End If
End While
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-13
8.3 Processing the Contents of an Array
Totaling the values in an array and calculating
average
– Loops are used to accumulate the values
– Then, the total is simply divided
by the size
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
Example
8-14
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-15
8.3 Processing the Contents of an Array
Finding the highest & lowest values in an array
• The highest
– Create a variable to hold the highest value
– Assign the value at element 0 to the highest
– Use a loop to step through the rest of the elements
– Each iteration, a comparison is made to the highest variable
– If the element is greater than the highest value, that value is
then the assigned to the highest variable
• The lowest
– Same process, but checks if the element is less than the
lowest value
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-16
8.3 Processing the Contents of an Array
Copying an array can be done using loops
For index = 0 to SIZE – 1
Set secondArray[index] = firstArray[index]
End For
Passing an Array as an Argument
– Usually must pass the array and the size
The module call
getTotal(numbers, SIZE)
The module header
Function Integer getTotal (Integer array[], Integer arraySize)
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-17
8.4 Parallel Arrays
By using the same subscript, you can establish a
relationship between data stored in two or
more arrays
Figure 8-14 The names
and addresses arrays
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-18
8.5 Two-Dimensional Arrays
A two-dimensional array is like several identical
arrays put together
– Suppose a teacher has six students who take five
tests
Figure 8-17 Two-
dimensional array
with six rows and
five columns
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-19
8.5 Two-Dimensional Arrays
Two size variables are required when declaring
Constant Integer ROWS = 3
Constant Integer COLS = 4
Declare Integer values[ROWS][COLS]
Accessing is done with two loops, and both subscripts
For row = 0 To ROWS -1
For col = 0 To COLS – 1
Display “Enter a number.”
Input values[row][col]
End For
End For
Copyright © 2016 Pearson Education, Inc., Hoboken NJ
8-20
8.6 Arrays of Three or More Dimensions
Arrays can also be three or more dimensions
Declare Real seats[3][5][8]
Figure 8-22 A three-
dimensional array

More Related Content

What's hot

What's hot (20)

Dbms
DbmsDbms
Dbms
 
Database management system
Database management system Database management system
Database management system
 
Databases: Normalisation
Databases: NormalisationDatabases: Normalisation
Databases: Normalisation
 
trigger dbms
trigger dbmstrigger dbms
trigger dbms
 
Data models
Data modelsData models
Data models
 
SQL(DDL & DML)
SQL(DDL & DML)SQL(DDL & DML)
SQL(DDL & DML)
 
Basic DBMS ppt
Basic DBMS pptBasic DBMS ppt
Basic DBMS ppt
 
Normalization in DBMS
Normalization in DBMSNormalization in DBMS
Normalization in DBMS
 
Deadlock ppt
Deadlock ppt Deadlock ppt
Deadlock ppt
 
Communication in Distributed Systems
Communication in Distributed SystemsCommunication in Distributed Systems
Communication in Distributed Systems
 
Integrity Constraints
Integrity ConstraintsIntegrity Constraints
Integrity Constraints
 
Information Security Lecture Notes
Information Security Lecture NotesInformation Security Lecture Notes
Information Security Lecture Notes
 
Creating a database
Creating a databaseCreating a database
Creating a database
 
File system structure
File system structureFile system structure
File system structure
 
Data Models
Data ModelsData Models
Data Models
 
Cardinality and participation constraints
Cardinality and participation constraintsCardinality and participation constraints
Cardinality and participation constraints
 
Database Chapter 3
Database Chapter 3Database Chapter 3
Database Chapter 3
 
Types Of Keys in DBMS
Types Of Keys in DBMSTypes Of Keys in DBMS
Types Of Keys in DBMS
 
Architecture of operating system
Architecture of operating systemArchitecture of operating system
Architecture of operating system
 
Database Management System
Database Management SystemDatabase Management System
Database Management System
 

Similar to Programming Logic and Design: Arrays

Cso gaddis java_chapter8
Cso gaddis java_chapter8Cso gaddis java_chapter8
Cso gaddis java_chapter8RhettB
 
Week06
Week06Week06
Week06hccit
 
Eo gaddis java_chapter_07_5e
Eo gaddis java_chapter_07_5eEo gaddis java_chapter_07_5e
Eo gaddis java_chapter_07_5eGina Bullock
 
Array in php
Array in phpArray in php
Array in phpilakkiya
 
CSCI 238 Chapter 08 Arrays Textbook Slides
CSCI 238 Chapter 08 Arrays Textbook SlidesCSCI 238 Chapter 08 Arrays Textbook Slides
CSCI 238 Chapter 08 Arrays Textbook SlidesDanWooster1
 
Cso gaddis java_chapter8
Cso gaddis java_chapter8Cso gaddis java_chapter8
Cso gaddis java_chapter8mlrbrown
 
Chapter 6 Absolute Java
Chapter 6 Absolute JavaChapter 6 Absolute Java
Chapter 6 Absolute JavaShariq Alee
 
An Introduction to Programming in Java: Arrays
An Introduction to Programming in Java: ArraysAn Introduction to Programming in Java: Arrays
An Introduction to Programming in Java: ArraysMartin Chapman
 
Arrays.pptx
Arrays.pptxArrays.pptx
Arrays.pptxEpsiba1
 
Arrays in programming
Arrays in programmingArrays in programming
Arrays in programmingTaseerRao
 

Similar to Programming Logic and Design: Arrays (20)

Cso gaddis java_chapter8
Cso gaddis java_chapter8Cso gaddis java_chapter8
Cso gaddis java_chapter8
 
Week06
Week06Week06
Week06
 
Lesson 11 one dimensional array
Lesson 11 one dimensional arrayLesson 11 one dimensional array
Lesson 11 one dimensional array
 
Eo gaddis java_chapter_07_5e
Eo gaddis java_chapter_07_5eEo gaddis java_chapter_07_5e
Eo gaddis java_chapter_07_5e
 
Array in php
Array in phpArray in php
Array in php
 
Basics of array.pptx
Basics of array.pptxBasics of array.pptx
Basics of array.pptx
 
CSCI 238 Chapter 08 Arrays Textbook Slides
CSCI 238 Chapter 08 Arrays Textbook SlidesCSCI 238 Chapter 08 Arrays Textbook Slides
CSCI 238 Chapter 08 Arrays Textbook Slides
 
Cso gaddis java_chapter8
Cso gaddis java_chapter8Cso gaddis java_chapter8
Cso gaddis java_chapter8
 
Mod 12
Mod 12Mod 12
Mod 12
 
Chapter 6 Absolute Java
Chapter 6 Absolute JavaChapter 6 Absolute Java
Chapter 6 Absolute Java
 
Chap6java5th
Chap6java5thChap6java5th
Chap6java5th
 
Arrays
ArraysArrays
Arrays
 
Data structures in c#
Data structures in c#Data structures in c#
Data structures in c#
 
Java arrays (1)
Java arrays (1)Java arrays (1)
Java arrays (1)
 
unit 2.pptx
unit 2.pptxunit 2.pptx
unit 2.pptx
 
An Introduction to Programming in Java: Arrays
An Introduction to Programming in Java: ArraysAn Introduction to Programming in Java: Arrays
An Introduction to Programming in Java: Arrays
 
Arrays.pptx
Arrays.pptxArrays.pptx
Arrays.pptx
 
CP Handout#7
CP Handout#7CP Handout#7
CP Handout#7
 
Ppt lesson 12
Ppt lesson 12Ppt lesson 12
Ppt lesson 12
 
Arrays in programming
Arrays in programmingArrays in programming
Arrays in programming
 

More from Nicole Ryan

Testing and Improving Performance
Testing and Improving PerformanceTesting and Improving Performance
Testing and Improving PerformanceNicole Ryan
 
Optimizing a website for search engines
Optimizing a website for search enginesOptimizing a website for search engines
Optimizing a website for search enginesNicole Ryan
 
Javascript programming using the document object model
Javascript programming using the document object modelJavascript programming using the document object model
Javascript programming using the document object modelNicole Ryan
 
Working with Video and Audio
Working with Video and AudioWorking with Video and Audio
Working with Video and AudioNicole Ryan
 
Working with Images
Working with ImagesWorking with Images
Working with ImagesNicole Ryan
 
Python Dictionaries and Sets
Python Dictionaries and SetsPython Dictionaries and Sets
Python Dictionaries and SetsNicole Ryan
 
Creating Visual Effects and Animation
Creating Visual Effects and AnimationCreating Visual Effects and Animation
Creating Visual Effects and AnimationNicole Ryan
 
Creating and Processing Web Forms
Creating and Processing Web FormsCreating and Processing Web Forms
Creating and Processing Web FormsNicole Ryan
 
Organizing Content with Lists and Tables
Organizing Content with Lists and TablesOrganizing Content with Lists and Tables
Organizing Content with Lists and TablesNicole Ryan
 
Social media and your website
Social media and your websiteSocial media and your website
Social media and your websiteNicole Ryan
 
Working with Links
Working with LinksWorking with Links
Working with LinksNicole Ryan
 
Formatting text with CSS
Formatting text with CSSFormatting text with CSS
Formatting text with CSSNicole Ryan
 
Laying Out Elements with CSS
Laying Out Elements with CSSLaying Out Elements with CSS
Laying Out Elements with CSSNicole Ryan
 
Getting Started with CSS
Getting Started with CSSGetting Started with CSS
Getting Started with CSSNicole Ryan
 
Structure Web Content
Structure Web ContentStructure Web Content
Structure Web ContentNicole Ryan
 
Getting Started with your Website
Getting Started with your WebsiteGetting Started with your Website
Getting Started with your WebsiteNicole Ryan
 
Chapter 12 Lecture: GUI Programming, Multithreading, and Animation
Chapter 12 Lecture: GUI Programming, Multithreading, and AnimationChapter 12 Lecture: GUI Programming, Multithreading, and Animation
Chapter 12 Lecture: GUI Programming, Multithreading, and AnimationNicole Ryan
 
Chapter 11: Object Oriented Programming Part 2
Chapter 11: Object Oriented Programming Part 2Chapter 11: Object Oriented Programming Part 2
Chapter 11: Object Oriented Programming Part 2Nicole Ryan
 
Intro to Programming: Modularity
Intro to Programming: ModularityIntro to Programming: Modularity
Intro to Programming: ModularityNicole Ryan
 

More from Nicole Ryan (20)

Testing and Improving Performance
Testing and Improving PerformanceTesting and Improving Performance
Testing and Improving Performance
 
Optimizing a website for search engines
Optimizing a website for search enginesOptimizing a website for search engines
Optimizing a website for search engines
 
Inheritance
InheritanceInheritance
Inheritance
 
Javascript programming using the document object model
Javascript programming using the document object modelJavascript programming using the document object model
Javascript programming using the document object model
 
Working with Video and Audio
Working with Video and AudioWorking with Video and Audio
Working with Video and Audio
 
Working with Images
Working with ImagesWorking with Images
Working with Images
 
Python Dictionaries and Sets
Python Dictionaries and SetsPython Dictionaries and Sets
Python Dictionaries and Sets
 
Creating Visual Effects and Animation
Creating Visual Effects and AnimationCreating Visual Effects and Animation
Creating Visual Effects and Animation
 
Creating and Processing Web Forms
Creating and Processing Web FormsCreating and Processing Web Forms
Creating and Processing Web Forms
 
Organizing Content with Lists and Tables
Organizing Content with Lists and TablesOrganizing Content with Lists and Tables
Organizing Content with Lists and Tables
 
Social media and your website
Social media and your websiteSocial media and your website
Social media and your website
 
Working with Links
Working with LinksWorking with Links
Working with Links
 
Formatting text with CSS
Formatting text with CSSFormatting text with CSS
Formatting text with CSS
 
Laying Out Elements with CSS
Laying Out Elements with CSSLaying Out Elements with CSS
Laying Out Elements with CSS
 
Getting Started with CSS
Getting Started with CSSGetting Started with CSS
Getting Started with CSS
 
Structure Web Content
Structure Web ContentStructure Web Content
Structure Web Content
 
Getting Started with your Website
Getting Started with your WebsiteGetting Started with your Website
Getting Started with your Website
 
Chapter 12 Lecture: GUI Programming, Multithreading, and Animation
Chapter 12 Lecture: GUI Programming, Multithreading, and AnimationChapter 12 Lecture: GUI Programming, Multithreading, and Animation
Chapter 12 Lecture: GUI Programming, Multithreading, and Animation
 
Chapter 11: Object Oriented Programming Part 2
Chapter 11: Object Oriented Programming Part 2Chapter 11: Object Oriented Programming Part 2
Chapter 11: Object Oriented Programming Part 2
 
Intro to Programming: Modularity
Intro to Programming: ModularityIntro to Programming: Modularity
Intro to Programming: Modularity
 

Recently uploaded

Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Pooja Bhuva
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxPooja Bhuva
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxPooja Bhuva
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxUmeshTimilsina1
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 

Recently uploaded (20)

Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 

Programming Logic and Design: Arrays

  • 1. Copyright © 2016 Pearson Education, Inc., Hoboken NJ CHAPTER8 Arrays
  • 2. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-2 Chapter Topics 8.1 Array Basics 8.2 Sequentially Searching an Array 8.3 Processing the Contents of an Array 8.4 Parallel Arrays 8.5 Two-Dimensional Arrays 8.6 Arrays of Three or More Dimension
  • 3. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-3 8.1 Array Basics An array allows you to store a group of items of the same data type together in memory – Why? Instead of creating multiple similar variables such as employee1, employee2, employee3 and so on… – It’s more efficient to create just one variable • Declare String employees[50] • Declare Real salesAmounts[7] – The number in the [ ] is the size of the array
  • 4. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-4 8.1 Array Basics • The storage locations in an array are elements • Each element of the array has a unique number called a subscript that identifies it – the subscript starts at 0 in most languages. Figure 8-1 Array subscripts
  • 5. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-5 8.1 Array Basics Assigning values can be done individually using a subscript… Set numbers[0] = 20 Set numbers[1] = 30 Set numbers[2] = 40 Set numbers[3] = 50 Set numbers[4[ = 60 But, it is much more efficient to use a Loop to step through the array
  • 6. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-6 8.1 Array Basics Figure 8-3 Contents of the hours array
  • 7. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-7 8.1 Array Basics Arrays can be initialized to 0 or specific values Declare String days[7] = “Sunday”, “Monday”, “Tuesday”, Wednesday”, “Thursday”, “Friday”, “Saturday” Array bounds checking should be performed to avoid use of an invalid subscript Days[7] = “Saturday” is invalid because there is no 7 index – A common error is running a loop one time more than is necessary, exceeding the bound of the array – Off-by-one Error
  • 8. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8.1 Array Basics • Partially Filled Array – Sometimes an array is only partially filled – To avoid processing the unfilled elements, you must have an accompanying integer variable that holds the number of items stored in the array. • When the array is empty, 0 is stored in this variable • The variable is incremented each time an item is added to the array • The variable's value is used as the array's size when stepping through the array. 8-8
  • 9. Copyright © 2016 Pearson Education, Inc., Hoboken NJ Constant Integer SIZE = 100 Declare Integer values[SIZE] Declare Integer count = 0 Declare Integer number Declare Integer Index Display "Enter a number, or -1 to quit." Input number While (number != -1 AND count < SIZE) Set values[count] = number Set count = count + 1 Display "Enter a number, or -1 to quit." Input number End While Display "Here are the values you entered:" For index = 0 To count - 1 Display values[index] End For 8.1 Array Basics 8-9 Partially Filled Array Example Thecountvariableholdsthenumberofitemsstoredinthearray.
  • 10. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8.1 Array Basics • Optional Topic: The For Each Loop – Some languages provide a For Each loop – It works with an array, iterating once for each array element – During each iteration, the loop copies an element's value to a variable. 8-10
  • 11. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8.1 Array Basics 8-11 Constant Integer SIZE = 5 Declare Integer numbers[SIZE] = 5, 10, 15, 20, 25 Declare Integer num For Each num In numbers Display num End For For Each Example
  • 12. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-12 8.2 Sequentially Searching an Array A sequential search algorithm is a simple technique for finding an item in a string or numeric array – Uses a loop to sequentially step through an array – Compares each element with the value being searched for – Stops when the value is found or the end of the array is hit Set found = False Set index = 0 While found == False AND index <= SIZE -1 If (array[index] == searchValue Then Set found = True Else Set index = index + 1 End If End While
  • 13. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-13 8.3 Processing the Contents of an Array Totaling the values in an array and calculating average – Loops are used to accumulate the values – Then, the total is simply divided by the size
  • 14. Copyright © 2016 Pearson Education, Inc., Hoboken NJ Example 8-14
  • 15. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-15 8.3 Processing the Contents of an Array Finding the highest & lowest values in an array • The highest – Create a variable to hold the highest value – Assign the value at element 0 to the highest – Use a loop to step through the rest of the elements – Each iteration, a comparison is made to the highest variable – If the element is greater than the highest value, that value is then the assigned to the highest variable • The lowest – Same process, but checks if the element is less than the lowest value
  • 16. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-16 8.3 Processing the Contents of an Array Copying an array can be done using loops For index = 0 to SIZE – 1 Set secondArray[index] = firstArray[index] End For Passing an Array as an Argument – Usually must pass the array and the size The module call getTotal(numbers, SIZE) The module header Function Integer getTotal (Integer array[], Integer arraySize)
  • 17. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-17 8.4 Parallel Arrays By using the same subscript, you can establish a relationship between data stored in two or more arrays Figure 8-14 The names and addresses arrays
  • 18. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-18 8.5 Two-Dimensional Arrays A two-dimensional array is like several identical arrays put together – Suppose a teacher has six students who take five tests Figure 8-17 Two- dimensional array with six rows and five columns
  • 19. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-19 8.5 Two-Dimensional Arrays Two size variables are required when declaring Constant Integer ROWS = 3 Constant Integer COLS = 4 Declare Integer values[ROWS][COLS] Accessing is done with two loops, and both subscripts For row = 0 To ROWS -1 For col = 0 To COLS – 1 Display “Enter a number.” Input values[row][col] End For End For
  • 20. Copyright © 2016 Pearson Education, Inc., Hoboken NJ 8-20 8.6 Arrays of Three or More Dimensions Arrays can also be three or more dimensions Declare Real seats[3][5][8] Figure 8-22 A three- dimensional array