Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
64 views

JAVA Introduction 2

This document provides definitions and examples of algorithms. It begins by defining an algorithm as a finite sequence of unambiguous instructions to solve a problem through input, processing, and output. Examples of algorithm problems are given for business and life tasks. The key components of an algorithm are then outlined as the name, inputs, outputs, method (series of steps), and definition statement. Various algorithms are presented to demonstrate calculating sums, averages, remainders, and swapping values. The document concludes by discussing variables, intermediates, and tracing algorithms to ensure they work properly.

Uploaded by

Nitish Sarin
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views

JAVA Introduction 2

This document provides definitions and examples of algorithms. It begins by defining an algorithm as a finite sequence of unambiguous instructions to solve a problem through input, processing, and output. Examples of algorithm problems are given for business and life tasks. The key components of an algorithm are then outlined as the name, inputs, outputs, method (series of steps), and definition statement. Various algorithms are presented to demonstrate calculating sums, averages, remainders, and swapping values. The document concludes by discussing variables, intermediates, and tracing algorithms to ensure they work properly.

Uploaded by

Nitish Sarin
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 39

Introduction : Java

Definition
An algorithm is a finite sequence of step
by step, discrete, unambiguous
instructions for solving a particular
problem
has input data, and is expected to produce
output data
each instruction can be carried out in a
finite amount of time in a deterministic way

Definition
In simple terms, an algorithm is a series of
instructions to solve a problem (complete
a task)
Problems can be in any form
Business
Get a part from Vancouver to Ottawa by morning
Allocate manpower to maximize profit

Life
I am hungry. How do I order pizza?
Explain how to tie shoelaces to a five year old child

Definition
We deal with data processing
problems
translated to programs that can be
run on a computer
Since we can only input, store,
process & output data on a computer,
the instructions in our algorithms will
be limited to these functions

Algorithmic Representation of
Computer Functions
Input
Get information

Get (input command)

Storage
Store information

Given/Result
Intermediates/Set

Process
Arithmetic
Let (assignment command)
Repeat instructions
Loop
Branch conditionals
If

Output
Give information

Give (output command)

Algorithm Description
Understand the problem before solving it
Identify & name each Input/Givens
Identify & name each Output/Results
Assign a name to our algorithm (Name)
Combine the previous 3 pieces of
information into a formal statement
(Definition)
Results := Name (Givens)

Method
Once we have prepared the Algorithm
Description, we need to solve the problem
We develop a series of instructions
(limited to those described previously)
that, when executed, will compute the
desired Results from the Givens
(Method)

Assignment command
Syntax
X = 5Y + 16
On the left side of =, we put the name of a variable and on
the right side we put a value or an expression.
Each variable refers to a unique location in computer
memory that contains a value.
Interpretation
An assignement is executed in two steps :
1-evaluation of the expression found on the right side.
2-setting the returned value in the memory
corresponding to variable.
Example
Let SideSize=15
Let Area=SideSizeSideSize

cell

Assignment in computer
science and equality in
a) The following instructions are the same in mathematics.
A=B
B=A
mathematics
not in computer science.
Let A=B is different from Let B=A
b) In mathematics we work with relations.
A relation B=A+1 means that it is true all the time
In computer science, we work with assignments. We can have:
A=5
B=A+1
A=2
The relation B=A+1 is true only after the second instruction
and before the third one.

Assignment in computer
science and equality in
c) The instruction A=A+3 is false in mathematics.
mathematics
In computer science Let A=A+3 means: the new value of A is equal
to the old one plus three.
d) The instruction A+5=3 is allowed in mathematics (it is an
equation).
Let A+5=3 has no meaning in computer science (the left side must
be a variable).

Input command
Syntax
Get variable
The variable must be from Givens
Interpretation
Here the user must give a value. The
given value is assigned to the variable.
Example
Get Size_Side

Output command
Syntax
Give variable
The variable must be from Results
Interpretation
The value of the variable is displayed.
Example
Give Area

Algorithm 1.1
Write an algorithm to find the sum of
three given numbers

NAME: SUM3
GIVENS: N1, N2, N3
RESULTS: Total
DEFINITION: Total := SUM3(N1, N2, N3)
------------------------METHOD:
Get N1
Get N2
Get N3
Let Total = N1 + N2 + N3
Give Total

Algorithm 1.2
Write an algorithm to find the result
of a division operation for the given
two numbers X and Y

NAME: Division
GIVENS: X, Y
RESULTS: Quotient
DEFINITION: Quotient := Division(X, Y)
------------------------METHOD:
Get X
Get Y
Let Quotient = X/Y
Give Quotient

Algorithm 1.3
Write an algorithm to find the sum and
product of the two given numbers

NAME: SumTimes
GIVENS:Num1, Num2
RESULTS: Total, Product
DEFINITION: Total & Product := SumTimes(Num1, Num2)
------------------------METHOD:
Get Num1
Get Num2
Let Total = Num1 + Num2
Let Product = Num1 * Num2
Give Total
Give Product

Algorithm 1.4
Find the sum and average of three given
numbers

NAME:AVG3
GIVENS:Num1, Num2, Num3
RESULTS:Sum , Average
DEFINITION:Sum & Average := AVG3(Num1, Num2, Num3)
------------------------METHOD:
Get Num1
Get Num2
Get Num3

Let Sum = Num1 + Num2 + Num3


Let Average = Sum /3
Give Sum
Give Average

Variables
Observe that we have used names for
the data items in our Givens and Results
Num1, Num2, Num3, Sum, Average in
Algorithm 1.4

Each name refers to a unique location in


computer memory (one or more adjacent
bytes) that contains a value
Since that value can change as the
instructions in our algorithm are
executed, we call each data item a
variable

Variables
In our algorithm, when we use a
variable name, we are referring to
the value stored in memory for that
data item
Later in this lecture we will learn
more about how to define variables

Intermediates
Occasionally, in an algorithm, we
need to have a variable (in addition
to those representing Givens or
Results) to store a value temporarily
These are intermediate variables and
we identify them in the Algorithm
Description as Intermediates

Algorithm 1.5
Given 3 assignment marks (out of 50, 20,
70), find the average (calculated as a mark
out of 100)
General Concept
How does one figure out the percentage of
several marks?
Add them all up
Divide by the maximum possible mark (50+20+70)
Multiply by 100

Algorithm 1.5

Given 3 assignment marks (out of 50, 20, 70), find


the average, calculated as a mark out of 100

NAME: CalcMark
GIVENS: A1, A2, A3
RESULTS: Mark
INTERMEDIATES: Total, MaxMark (Constant)
DEFINITION: Mark := CalcMark(A1, A2, A3)
------------------------METHOD:
Set MaxMark = 140 (Constant)

Get A1
Get A2
Get A3
Let Total = A1 + A2 + A3
Let Mark = Total/MaxMark * 100
Give Mark

Algorithm 1.6
Given a two digit number, find
the sum of its digits
General Concept

41 \ 10 = 4

How can we break apart a


number?
41 = 4 Tens and 1 Ones
so for the number 41, we want 4 + 1
=5

Use integer division


DIV returns the integer part of a
division
MOD returns the remainder of a
division

41 MOD 10 = 1

Algorithm 1.6
Given a two digit number, find the sum of its
digits

NAME: SumDig
GIVENS: N
RESULTS: Sum
INTERMEDIATES: Tens, Ones
DEFINITION: Sum := SumDig(N)
------------------------METHOD:
Get N
Let Tens = N div10
Let Ones = N mod 10
Let Sum = Tens + Ones
Give Sum

Algorithm 1.7
Write an algorithm which swaps the values of
two numbers
Example 1

Two car family. The wrong car is at the end of the driveway
Move first car out on to the street
Move second car out on to the street
Move first car back in
Move second car back in

Example 2
You are looking after a 3 year old. He wants milk and juice. You put
the milk in the blue glass and the juice in the red glass. The child is
screaming that you did it wrong.
Get a third glass (white)
Pour the milk from the blue glass to the white glass
Pour the juice from the red glass to the blue glass
Pour the milk from the white glass to the red glass

Algorithm 1.7
Write an algorithm which swaps the values of
two numbers

NAME: Swap
GIVENS: X, Y
RESULTS: X, Y
INTERMEDIATES: Temp
DEFINITION: Swap (X, Y)
------------------------METHOD:
Get X
Get Y
Let Temp = X
Let X = Y
Let Y = Temp
Give X
Give Y

Algorithm 1.8
Write an algorithm which adds the given two
numbers (X and Y) and returns the sum in
the given variable X

NAME: AddXY
GIVENS:X, Y
RESULTS: X
INTERMEDIATES: None
DEFINITION: AddXY (X, Y)
------------------------METHOD:
Get X
Get Y
Let X = X+ Y
Give X

Recap
Name

The formal name of the algorithm

Givens

Names of the given values for a problem

Results

Names of the resulting values of the problem

Intermediates

Names of the intermediate variables used in the


algorithm

Definition

The formal definition of the algorithm, using Name,


Givens, and Results

Method

The step by step sequence of statements to solve the


problem

Tracing an Algorithm
The purpose of tracing an
algorithm is to ensure that it works
Tracing involves
Executing the sequence of
instructions with a sample set of
values
Computing the value of each variable
after each instruction is executed
Checking for the correct result

Tracing an Algorithm
Step 1 - Number every instruction in
the algorithm
Step 2 Make a table
The first column of the table indicates
which instruction has been executed
Subsequent columns list all the
variables of the algorithm (Givens,
Results, Intermediates)

Tracing an Algorithm
Step 3 Complete the table
Each column of the table represents a
variable
Start at the first line of your algorithm.
Identify what will happen to each
variable as that instruction is executed
Change any values which the instruction
changes and leave all other columns blank

Trace 1.1
Trace Algorithm 1.4 using the numbers 24, 31, and 35
METHOD:
(1) Get Num1
(2) Get Num2
(3) Get Num3
(4)
(5)
(6)
(7)

Line
1

Num1

Num2

Num3

Sum

Avg

24

3
Let Sum = Num1 + Num2 +4Num3
Let Average = Sum /3
5
Give Sum
6 output 90
Give Average
7 output 30

31
35
90
30

Trace 1.2
Trace Algorithm 1.5 with the numbers 40,
18, 26
METHOD:
(1) Set MaxMark =140
(2) Get A1
(3) Get A2
(4) Get A3

Ln A1 A2 A3
1
2 40
3
18
4
26
(5) Let Total = A1 + A2 + A3
5
(6) Let Mark = Total/MaxMark * 100
6
7 output 60
(7) Give Mark

MM Ttl
140

Mark

84

NB THE ANSWER IS NOT 69 (40/50 + 18/20 + 26/70)/3

60

Trace 1.3
Trace Algorithm 1.7 when X and Y have the
values 25 and 88, respectively
METHOD:
(1) Get X
(2) Get Y
(3) Let Temp = X
(4) Let X = Y
(5) Let Y = Temp
(6) Give X
(7) Give Y

LN
X
Y
Temp
1
25
2
88
3
4
88
5
25
6 output 88
7 output 25

25

Data Types
We know that use of a variable name
in an algorithm refers to the value
stored at a unique location in
computer memory
Eventually, we will translate the
instructions in our algorithm to
computer instructions
Computers need to know they type of
each variable

Data Types
The data type indicates the
Kind of data that can be stored in the
variable
numbers, dates, text, etc.

Range of possible values that can be


stored in the variable
Size of memory required to store the
variable
Operations that can be performed on
the variable

You might also like