Chapter 7 Arrays.

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

One Dimensional Arrays
 2000 Prentice Hall, Inc. All rights reserved. Chapter 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line.
Chapter 7 - Visual Basic Schneider1 Chapter 7 Arrays.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 6 - Arrays Outline 6.1Introduction 6.2Arrays.
An Introduction to Programming with C++ Fifth Edition
Chapter 7 - Visual Basic Schneider1 Chapter 7 Arrays.
Introduction to Computing Dr. Nadeem A Khan. Lecture 28.
Chapter 6 C Arrays Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc. Arrays are data structures.
1 Chapter 7 Arrays. 2 Outline and Objective In this chapter we will Learn about arrays One-dimensional arrays Two-dimensional arrays Learn about searching.
Arrays Data Structures - structured data are data organized to show the relationship among the individual elements. It usually requires a collecting mechanism.
Introduction to Programming with C++ Fourth Edition
C++ for Engineers and Scientists Third Edition
Chapter 8 Arrays and Strings
Chapter 7 - Visual Basic Schneider1 Chapter 7 Arrays.
 2007 Pearson Education, Inc. All rights reserved C Arrays.
Chapter 7 - Visual Basic Schneider
1 Chapter 7 Arrays. 2 Outline and Objective In this chapter we will –Learn about arrays One-dimensional arrays Two-dimensional arrays –Learn about searching.
Chapter 7: Arrays. In this chapter, you will learn about: One-dimensional arrays Array initialization Declaring and processing two-dimensional arrays.
 2004 Prentice Hall, Inc. All rights reserved. 1 Chapter 11 - JavaScript: Arrays Outline 11.1 Introduction 11.2 Arrays 11.3 Declaring and Allocating Arrays.
Array Processing Simple Program Design Third Edition A Step-by-Step Approach 7.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 6 - Arrays Outline 6.1Introduction 6.2Arrays.
Chapter 8 Arrays and Strings
Chapter 7 Array processing. Objectives To introduce arrays and the uses of arrays To develop pseudocode algorithms for common operations on arrays To.
Array Processing.
Chapter 6 Arrays Associate Prof. Yuh-Shyan Chen Dept. of Computer Science and Information Engineering National Chung-Cheng University.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Arrays.
Arrays Module 6. Objectives Nature and purpose of an array Using arrays in Java programs Methods with array parameter Methods that return an array Array.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 2 Chapter 2 - Introduction to C Programming.
Chapter 6: Arrays: Lists and Tables
C++ for Engineers and Scientists Second Edition Chapter 11 Arrays.
An Introduction to Programming with C++ Fifth Edition Chapter 11 Arrays.
Week # 2: Arrays.  Data structure  A particular way of storing and organising data in a computer so that it can be used efficiently  Types of data.
Computer Programming TCP1224 Chapter 11 Arrays. Objectives Using Arrays Declare and initialize a one-dimensional array Manipulate a one-dimensional array.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 8 Arrays.
 2007 Pearson Education, Inc. All rights reserved C Arrays.
 2008 Pearson Education, Inc. All rights reserved. 1 Arrays and Vectors.
Processing Arrays Lesson 9 McManusCOP Overview One-Dimensional Arrays –Entering Data into an Array –Printing an Array –Accumulating the elements.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 2 - Introduction to C Programming Outline.
CHAPTER EIGHT ARRAYS © Prepared By: Razif Razali1.
1 Chapter 7 Arrays. 2 Outline and Objective In this chapter we will Learn about arrays One-dimensional arrays Two-dimensional arrays Learn about searching.
SEQUENTIAL AND OBJECT ORIENTED PROGRAMMING Arrays.
Programming Logic and Design Fifth Edition, Comprehensive Chapter 6 Arrays.
Visual Basic CDA College Paphos Campus COM123 Visual Programming 1 Lecture: Charalambous Sotiris Week 8: COM123 Visual Programming 1 Lecture: Charalambous.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Arrays.
VISUAL C++ PROGRAMMING: CONCEPTS AND PROJECTS Chapter 7A Arrays (Concepts)
Copyright © 2013 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Third Edition by Tony Gaddis.
1 Lecture 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line of Text 2.3Another Simple C Program: Adding.
Chapter 9: Sorting and Searching Arrays
Chapter 11 - JavaScript: Arrays
Arrays Chapter 7.
Arrays 2.
Computer Programming BCT 1113
Chapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming
Chapter 5: Arrays: Lists and Tables
Arrays and Records.
Chapter 6 - Arrays Outline 6.1 Introduction 6.2 Arrays
Chapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming
Arrays Outline Introduction Arrays Declaring Arrays
Chapter 2 - Introduction to C Programming
Starting Out with Programming Logic & Design
Data Structures (CS212D) Week # 2: Arrays.
Arrays Chapter 7.
CIS16 Application Development and Programming using Visual Basic.net
Programming Logic and Design Fifth Edition, Comprehensive
Chapter 2 - Introduction to C Programming
Introduction to Computer Programming IT-104
Arrays.
Presentation transcript:

Chapter 7 Arrays

Outline and Objective In this chapter we will Learn about arrays One-dimensional arrays Two-dimensional arrays Learn about searching Learn about sorting

Array verses Simple Variable Simple variable is used to store a single value. Ex: Dim X as Integer X Array variable is used to represent many values of the same type with one variable name. Ex: Dim X(1 to 4) as Integer Suppose you want to evaluate the exam grades for 30 students.,this means you have to create 30 string variables for names and 30 single vvariables for their scores Array holds either all string values or all numeric values. X(1) X(2) X(3) X(4) X

Elements of an Array X(1) X(2) X(3) X(4) X Array Name: A valid variable name for the structure. (X) Subscript or Index : A value that refers to a particular array element. X(1) Element or Subscripted variable: An individual data item within an array. Ex: X(1), X(2) The elements of an array are assigned successive memory locations. The dim statement creates an array of 5 elements of type integer with a default value = 0

35 10 5 25 Dim Grade( 1 To 4) As Integer Array Grade() Grade(1) Array Name 35 10 5 25 The elements of an array are assigned successive memory location. Grade(1) Index 5 5

Array Declaration Syntax Dim arrayName(m To n) As varType where m and n are integers Declaring arrays - specify: name type of array number of elements Arrayname follows the same rules as variable names. Each array has sufffiient memory reserved to hold the number of items of the given type..

This statement creates array of 3 integer elements Array Declaration Examples Dim month(1 To 5) As String Dim stdID(1 To 3) As Integer Month(1) Month(2) Month(3) Month(4) Month(5) Arrayname follows the same rules as variable names. Each array has sufffiient memory reserved to hold the number of items of the given type.. This statement creates array of 3 integer elements stdID(1) stdID(2) stdID(3) 7 7

The Dim Statement Used to declare an array A Dim statement must occur before the first reference to the array elements. You can declare arrays in the declaration section of general , which are form level variable or pass them as arguments to different sub program

Initializing an Array Private Sub cmdExample_Click() Grade(1) 5 Private Sub cmdExample_Click() Dim Grade(1 To 5) As Integer Grade (1) = 5 Grade (2) = 30 Grade (3) = 25 Grade (4) = 15 Print Grade(1) + Grade(3) Print Grade(4) Print Grade(1+2) End Sub Grade(2) 30 25 Grade(3) 15 Grade(4) Grade(5) 30 15 25

The statements Dim arrayName(0 to n) as VarType can be placed by the statement Dim arrayName(n) as VarType Ex. Dim X(0 To 3) As Integer Ex. Dim X(3) As Integer x(0) x(1) x(2) x(3) x(0) x(1) x(2) x(3)

Example Dim Y(-1 to 2) As Integer Dim Z(-2 to 0) As Single Y(-1) Y(0) Dim Z(-2 to 0) As Single Z(-2) Z(-1) Z(0)

Example Dim Y(-1 to -1) As Integer Y(-1) Dim Z(2 to 2) As Single Z(2)

Example Dim Y(2) As Integer Dim Z(2 to 2) As Single Y(0) Y(1) Y(2) Dim Z(2 to 2) As Single Z(2)

Compile ERROR Compile ERROR Example Dim Z(2 to -2) As Single Dim Y(10 to 1) As Integer Compile ERROR Dim Z(2 to -2) As Single Compile ERROR

Example i = 5 Dim arr(i) As Integer Invalid statements

Example 5

Example

Example m, n must be a constant

Initializing an Array by Reading from a File STUDENTS.txt Dim student (1 To 30) As String Dim count As Integer Open “STUDENTS.txt” For Input As #1 For count = 1 To 30 Input #1, student(count) Next count Ali Ahmed .. Huda 1 2 30 Student Ali Ahmed Huda 19 Chapter 7 - Visual Basic Schneider 19

Adding Up Elements in an Array Dim score(1 To 30) As Single, student(1 To 30) As String Dim count As Integer, average as Integer, sum As Integer Open “STUDENT.TXT” For Input As #1 For count = 1 To 30 Input #1, student(count), score(count) Next count sum = 0 sum = sum + score(count) average = sum/30 Students.txt Ali 22 Ahmed 19 .. Huda 25 1 2 30 Student Ali Ahmed Huda 1 2 30 Score 19 22 25 Chapter 7 - Visual Basic Schneider 20 20

Example Dim XY (1 To 5) As Integer Dim count As Integer count = 1 Open “DATA.TXT” For Input As #1 Do While NOT EOF(1) Input #1, XY(count) count= count + 1 Loop The loop will repeated as long as the end of file is not reached

Parallel Arrays Two arrays are said to be parallel if subscripted variables having the same subscript are related. Students.txt Ali 22 Ahmed 19 .. Huda 25 1 2 30 Student Ali Ahmed Huda 1 2 30 Score 19 22 25

Example of Parallel Arrays Dim nom(1 To 3) As String, score(1 To 3) As Integer Dim student As Integer Open “SCORE.TXT” For Input As #1 For student = 1 To 3 Input #1, nom(student), score(student) Next student Close #1

Chapter 7 - Visual Basic Schneider Form_Load() Use it to Initialize Form Level variables Use it to initialize Form Level Arrays Use it to Dim Dynamic Arrays Chapter 7 - Visual Basic Schneider 24

Ordered Array An array is ordered if its values are in either ascending or descending order. For string arrays, the ANSI table is used to evaluate the “less than or equal to” condition. x(0) x(1) x(2) x(3) 10 15 30 40

Passing an Array An array can be passed to another procedure (Only) by reference. the name of the array, followed by an empty set of parenthesis, must appear as an argument in calling statement, and an array variable name of the same type must appear as corresponding parameters in the procedure definition of the procedure that is to receiver the array Parenthesis are optional with the arguments

Example 27 27

Example

Example

Sorting A common practice involving arrays is to sort the elements of the array in either ascending or descending order. A sort is an algorithm for ordering an array Sorting techniques Bubble Sort Shell Sort Ascending : lowest to highest descending: highest to lowest Ascending : lowest to highest descending: highest to lowest When characters are compared the computer uses the ASCII value of each character to compare if the letter A is less than the letter B

Bubble Sort The bubble sort involves comparing adjacent elements and swapping the values of those elements when they are out of order. Notice that the Flag is set to 1 before the loop is entered . Its value is later checked to determine if the entire array is in order. The Final is set to one less than the number of items to be sorted. This is because two items at a time are compared . And you do not want to go over the boundary of the array Examine the block IF statement in the FOR… NEXT loop . This statement determines whether two adjacent element should beexchanged. The following program segment demonstrate SWAP X = 20 Y = 10 SWAP X, Y We need a DO WHILE… LOOP to sort the whole list. As long as FLAG =1 Basic knows switches have been made When the loop is completed without setting the Flag = 1 - that is when no switches are made

Shell Sort Similar to the bubble sort Instead of comparing and swapping adjacent elements A(count) and A(count+1), Shell sort compares and swaps non-adjacent elements A(count) and A(count + Gap), where Gap starts at roughly half the size of the array Gap is equal to one-half the size of the list. The elements of the list are separated by the chosen gap and grouped into subsists. Is more efficient for longer lists (100 or more elements) Is a good compromise between speed and simplicity. The shell sort was named for its inventor, Donald Shell, is much more efficient for really long lists For very short list s, the bubble sort is preferable; however for a lis of 30 items or more, the shell sort will consistently outperform the bubble sort.

Efficiency of Bubble and Shell sort (average number of comparisons) Array Elements Bubble Sort Shell Sort 5 10 15 15 105 115 25 300 302 30 435 364 100 4,950 2,638 500 124,750 22,517

Searching Arrays The process of finding the position of a value in an array is called searching For example Note: search(x) means search about x Search(-10) = 3 Search (3) = 1 Search (5) = Not Found stdID(1) stdID(2) stdID(3) 3 6 -10

Searching techniques A sequential search examines each element, beginning with the first, until the specified value is found or the end of the array is reached For example Search about number 4  Search(4) = 5 stdID(1) stdID(2) stdID(3) stdID(4) stdID(5) stdID(6) 3 7 -10 1 4 10 Is 4 = 3: False Is 4 = 7: False Is 4 = -10: False Is 4 = 1: False Is 4 = 4: True The number of comparisons to find the value 4 = 5 35 35

Sequential Search Useful for small arrays. Very inefficient for large arrays (for example, names in a telephone book). For any size array, if the array is ordered, the more efficient binary search can be used.

Binary Search In a binary search, an ordered array is repeatedly divided in half. The half not containing the target value is ignored.

Two-Dimensional Arrays Store values as a table, grouped into rows and columns. The first subscript of a two-dimensional array refers to the row and the second subscript to the column.

Declaration of Two-Dimensional Array Syntax: Dim arrayName(m1 To m2, n1 To n2) As varType Example: Dim rm(1 To 4, 1 To 4) As Single column row

Manipulating a Two-Dimensional Array Use nested For … Next loops to assign or access elements of a two-dimensional array. Example: For row = 1 To 4 For col = 1 To 4 Input #1, rm(row, col) Next col Next row

Examples: How many elements? Dim rm(0 To 3, 97 To 99) As Integer 97 98 99 1 2 3  12 elements 41

1 2 3 2 4 6 3 6 9 What is the output of: The output is Dim (1 to 3 , 1 to 3) as integer For i = 1 To 3 For j = 1 To 3 a(i, j) = i * j Print a(i, j); Next j Print Next i The output is 1 2 3 2 4 6 3 6 9

Examples: How many elements? Dim rm(1 To 4) As Single rm(1) rm(2) rm(3) rm(4)  4 elements

Examples: How many elements? Dim arr(4, 1 To 4) As Single 1 2 3 4 1 2 3 4  20 elements 44

Examples: How many elements? Dim arr(-5 To -3, 5 To 5) As String 5 -5 -4 -3  3 elements 45

Examples: How many elements? Dim xy(-3 To -5) As Integer  ERROR 46

Examples Dim arr(0 To 3, 97 To 99) As Integer arr(1,98)= 20 arr(0,2)  Error: index out of range arr(-1,99)  Error: index out of range 97 98 99 1 20 2 3 15 47

Examples Dim arr(0 To 3, 97 To 99) As Integer For i = 97 To 99 Next i arr(1,i) = 10 Next i 97 98 99 1 10 10 10 2 3 48