Spread Knowledge

CS101 - Introduction to Computing - Lecture Handout 26

User Rating:  / 0
PoorBest 

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Arrays

(Web Development Lecture 9)

During the last lecture we had a discussion on Flow Control & Loops

We discussed the concept of flow control using the “if” and “switch” structures
And also the concept behind the “while” and “for” looping structures
We also solved simple problems using flow control and loop structures if…else --?-- switch If the action to be taken of the value of a single variable (or a single expression), use ‘switch’
When the action depends on the values of multiple variables (or expressions), use the ‘if...else’ structure

Compound Statements:

for: Example 1

Compound Statements

for --?-- while

When the exact number of iterations is known, use the ‘for’ loop
When the number of iterations depend upon a condition being met, use the ‘while’ loop ‘for’ loops become especially useful when used in conjunction with arrays
We’ll find out about arrays today, and we’ll probe their usefulness as part of ‘for’ loop structures

Today’s Topic:

Arrays
We will find out why we need arrays
We will become able to use arrays for solving simple problems

Array:

An indexed list of elements
We said that a variable is a container that holds a value.
Similarly, an Array can be considered a container as well, but this one can hold multiple values
Array:
An indexed list of elements
Example: There are many ways of assigning identifiers to the following fruit

Array

Array

An indexed list of elements
fruit[ 0 ], fruit[ 1 ], fruit[ 2 ], and fruit[ 3 ] are the elements of an array ‘fruit’ is the identifier for that array
The length of the ‘fruit’ array is 4, i.e. ‘fruit’ has four elements

Array

Array 1

var student1, student2, student3, student4 ;
student1 = “Waseem” ;
student2 = “Waqar” ;
student3 = “Saqlain” ;
student4 = “Daanish” ;
document.write( student1 ) ;
document.write( student2 ) ;
document.write( student3 ) ;
document.write( student4 ) ;

student = new Array( 4 ) ; //array declaration
student[ 0 ] = “Waseem” ;
student[ 1 ] = “Waqar” ;
student[ 2 ] = “Saqlain” ;
student[ 3 ] = “Daanish” ;
for ( x = 0 ; x < 4 ; x = x + 1 ) {
document.write( student[ x ] ) ;
}

Array 2

Arrays in JavaScript

  • In JavaScript, arrays are implemented in the form of the ‘Array’ object
  • The key property of the ‘Array’ object is ‘length’, i.e the number of elements in an array
  • Two of the key ‘Array’ methods are:
    • reverse( )
    • sort( )
  • Elements of an array can be of any type; you can even have an array containing other arrays

Declaring a New Instance of the Array Object

  • ‘student’ is an instance of the ‘Array’ object
  • ‘student’ was declared such that it is of length ‘4’
  • That is, student is an array having 4 elements
  • The four elements of the array are: ‘student[ 0 ]’, ‘student[ 1 ]’, ‘student[ 2 ]’, and ‘student[ 3 ]’

Array Object

An Object

An Object

‘Instances’ of an Object

‘Instances’ of an Object

All instances of an object are objects themselves!
‘Property’ Values of the Instances May Differ

objects themselves

student = new Array( 4 )

Array Identifiers

The naming rules for Array identifiers are the same as were discussed for variable identifiers
Assigning Values to Array Elements
a[ 1 ] = 5 ; //the second element
name[ 5 ] = “bhola” ;
number = 5 ;
name[ number ] = name[ 5 ] ;
for ( x = 0 ; x < 10 ; x = x + 1 ) {
y[ x ] = x * x ;
}
Remember: just like C, C++ and Java, the first element of an array has an index number equal to zero

JavaScript Arrays are Heterogeneous

Unlike many other popular languages, a JavaScript Array can hold elements of multiple data types, simultaneously
a = new Array( 9 ) ;
b = new Array( 13 ) ;
b[ 0 ] = 23.7 ;
b[ 1 ] = “Bhola Continental Hotel” ;

b[ 2 ] = a ;

The ‘length’ Property of Arrays

Property of Arrays

Array Methods: sort( )

Sorts the elements in alphabetical order

x = new Array ( 4 ) ;
x[ 0 ] = “Waseem” ;
x[ 1 ] = “Waqar” ;
x[ 2 ] = “Saqlain” ;
x[ 3 ] = “Shoaib” ;
x.sort( ) ;
for ( k = 0 ; k < x.length; k = k + 1 ) { document.write( x[ k ] + “<BR>” ) ;
}
Were the elements sorted in ascending or descending order?
What if you wanted to arrange them in the reverse order?

Array Methods: reverse( )

Reverses the order of the elements

x = new Array ( 4 ) ;
x[ 0 ] = “Waseem” ;
x[ 1 ] = “Waqar” ;
x[ 2 ] = “Saqlain” ;
x[ 3 ] = “Shoaib” ;
x.reverse( ) ;
x.sort( ) ;
for ( k = 0 ; k < x.length; k = k + 1 ) { document.write( x[ k ] + “<BR>”) ;
}

Array Methods: reverse( )

Reverses the order of the elements

x = new Array ( 4 ) ;
x[ 0 ] = “Waseem” ;
x[ 1 ] = “Waqar” ;
x[ 2 ] = “Saqlain” ;
x[ 3 ] = “Shoaib” ;
x.sort( ) ;
x.reverse( ) ;
for ( k = 0 ; k < x.length; k = k + 1 ) { document.write( x[ k ] + “<BR>”) ;
}
Let’s Now Do a More Substantial Example

Develop a Web page that prompts the user for 10 words, and then displays them in form of a list in two different ways:

  1. In the order in which the words were entered
  2. In a sorted order

We will try to show you the complete code - the JavaScript part as well as the HTML part - for this example

example

Pseudo Code

  1. Declare the array that will be used for storing the words
  2. Prompt the user and read the user input into the elements of the array
  3. Now write the array to the document
  4. Sort the array
  5. Write the sorted array to the document

<HTML>
<HEAD>
<TITLE>Sort Ten Words</TITLE>
<SCRIPT>
words = new Array ( 10 ) ;
for ( k = 0 ; k < words.length ; k = k + 1 ) {
words[ k ] = window.prompt( "Enter word # " + k, "" ) ;
}
document.write( "UNSORTED WORDS:" + "<BR>" ) ;
for ( k = 0 ; k < words.length ; k = k + 1 ) {
document.write( words[ k ] + "<BR>" ) ;
}
words.sort( ) ;
document.write( "SORTED WORDS:" + "<BR>" ) ;
for ( k = 0 ; k < words.length ; k = k + 1 ) {
document.write( words[ k ] + "<BR>" ) ;
}
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Sort Ten Words</TITLE>
<SCRIPT>
//JavaScript Code
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>

The next three slides show the JavaScript code that goes between the <SCRIPT>, </SCRIPT> tags

Pseudo Code

  • Declare the array that will be used for storing the words
  • Prompt the user and read the user input into the elements of the array
  • Now write the array to the document
  • Sort the array
  • Write the sorted array to the document

for ( k = 0 ; k < words.length ; k = k + 1 ) {
words[ k ] = window.prompt(
"Enter word # " + k, "" ) ;
}

Pseudo Code

Pseudo Code

  1. Declare the array that will be used for storing the words
  2. Prompt the user and read the user input into the elements of the array
  3. Now write the array to the document
  4. Sort the array
  5. Write the sorted array to the document

document.write( "Unsorted Words:" + "<BR>" ) ;
for ( k = 0 ; k < words.length ; k = k + 1 ) { document.write( words[ k ] + "<BR>" ) ;
}

Pseudo Code

  1. Declare the array that will be used for storing the words
  2. Prompt the user and read the user input into the elements of the array
  3. Now write the array to the document
  4. Sort the array
  5. Write the sorted array to the document

words.sort( ) ;
document.write( "Sorted Words:" + "<BR>" ) ;
for ( k = 0 ; k < words.length ; k = k + 1 ) { document.write( words[ k ] + "<BR>" ) ;
}

During Today’s Lecture …

  • We found out why we need arrays
  • We became able to use arrays for solving simple problems

Next (the 10th) Web Dev Lecture:

Functions & Variable Scope

  • To become familiar with some of JavaScript’s built-in functions
  • To be able to understand the concept of user-defined functions and their use for solving simple problems
  • To become familiar with the concept of local and global variables