0% found this document useful (0 votes)
61 views

Introduction To Computing: Lecture No. 1

This document provides an introduction to algorithms and problem solving in computer science. It defines an algorithm as a process a computer can follow to solve a well-defined task in a finite number of steps. The document outlines algorithmic principles for breaking complex problems into simpler subproblems. It also discusses different types of algorithms, computer programming, programming languages, the software development life cycle, and common problem solving techniques like asking questions, looking for similarities, divide and conquer, and merging solutions. Flowcharts are presented as a way to visually represent algorithms.

Uploaded by

Hamza Ahmed Mir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views

Introduction To Computing: Lecture No. 1

This document provides an introduction to algorithms and problem solving in computer science. It defines an algorithm as a process a computer can follow to solve a well-defined task in a finite number of steps. The document outlines algorithmic principles for breaking complex problems into simpler subproblems. It also discusses different types of algorithms, computer programming, programming languages, the software development life cycle, and common problem solving techniques like asking questions, looking for similarities, divide and conquer, and merging solutions. Flowcharts are presented as a way to visually represent algorithms.

Uploaded by

Hamza Ahmed Mir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 31

Introduction to Computing

Algorithm & Problem Solving


Lecture No. 1
November 1, 2013
Algorithm
Algorithm is a process that a computer could carr
out to complete a !ell de"ined tas# !ithin "inite
time and resources$
%he ob&ective o" computer science is to solve
problems b developing, anal'ing, and
implementing algorithmic solutions$
Al()h!ari'imi Principle
*
All comple+ problems can be bro#en into
simpler sub(problems$
*
Solve a comple+ problem b brea#ing it do!n
into smaller sub(problems and then solve them
,in a speci"ied order-, one at a time$
*
.hen all the steps are solved, the original
problem itsel" has also been solved$
*
%his process is called Algorithm$
Different kinds of computing
*
Numerical / algorithms "or mathematical
problems that arise in phsical sciences
/
0or e+ample, integration, di""erentiation,
solving a set o" linear e1uations$
*
Non(numerical / everthing else
/
Sorting a list o" names, schedule the
production process o" a "actor, account
management, game plaing, control the
movement o" a robot$
Computer Programming
The process of planning a
sequence of steps for a
computer to follow.
Computer Programming
*
Computer is a po!er"ul tool
*
It is not intelligent2
*
In order to use computer to solve our problems,
!e must tell it !hat !e !ant done and the order
in !hich !e !ant it done$
*
%hese instructions are called computer program$
*
%his process is called computer programming$
*
%he person giving these instructions is called a
computer programmer$
Computer Programming
*
Anal'e the problem
*
3evelop a se1uence o" instructions "or
solving the problem$
*
Communicate it to the computer$
Programming 4anguage
A set o" rules, smbols, and special
!ords used to construct a
computer program$
5A6A
C7C88
69
Phases o" the so"t!are li"e ccle
*
:e1uirement 3e"inition
*
Analsis and design
*
Coding
*
%esting
*
Implementation
*
;aintenance
Problem Solving %echni1ues
*
As# 1uestions
*
4oo# "or things that are similar
*
3ivide and Con1uer
*
;erging solutions
As# <uestions
*
As# 1uestions until ou have developed a clear
understanding o" the problem$
*
.ho, .hat, .h, .here, .hen$
/
.hat do I have to !or# !ith= ,m data or input-
/
>o! much data is there=
/
.hat should m output loo# li#e=
/
>o! man times is the process going to be
repeated=
/
.hat are the e+ceptions to the main course=
/
.hat special error condition might come up=
4oo# "or things that are "amiliar
*
3o not reinvent the !heel2
*
3ra! Analogies
;eans(?nds analsis
*
Starting point and ending state are #no!n$
*
@ou need to devise the trans"ormation
"unction$
*
?nds are de"ined / ou need to anal'e
our means o" getting bet!een them$
*
4ahore to Islamabad
/
.hat are the options=
/
Narro! do!n the options=
/
0igure out the details=
3ivide and Con1uer
*
Same as the Al#h!ar'imi Principle$
*
9rea#up the large problem into smaller
units and then solve them one at a time$
*
9uilding bloc# approach$
3ivide and Con1uer
Hard Problem
Hard ub!problem "as# ub!problem "as# ub!problem
"as# ub!problem "as# ub!problem
;erging Solution
*
Sometimes merging t!o independent
solutions solves the problem more
e""icientl=
*
Calculate Average
/
Count values
/
Sum 6alues
/
3ivide sum b count
*
Alternative approach
/
calculate partial sum as ou count
Problem Solving %echni1ues
*
.hat is the un#no!n=
/
.hat is re1uired=
*
.hat are the data=
/
.hat is given=
*
.hat is the condition=
/
9 !hat condition the un#no!n is lin#ed to the
data=
Conversion "rom 0ahrenheit to Celsius
*
Autput
/
%emperature in Celsius ,C-
*
Inputs
/
%emperature in 0ahrenheit ,0-
*
Process
32) (F
9
5
C =
Calculate and print the average grade o" 3
tests "or the entire class
*
Input
/
3 test scores "or each student
*
output
/
Average o" 3 tests "or each student
*
Process
1$ Bet three scores
2$ Add them together
3$ 3ivide b three to get the average
C$ Print the average
D$ :epeat step 1 to C "or ne+t student
E$ Stop i" there are no more students
Algorithm
;a#e a 5am and 9utter Sand!ich
*
Autput
/
5am and 9utter Sand!iches
*
Inputs
/
5am, 9utter, 9read, )ni"e, Plate
*
Process
1$ Put t!o slices o" bread on the plate
2$ Fsing the #ni"e, spread butter on one side
3$ Fsing the #ni"e, spread &am on the other
side
C$ Put the t!o slices together, clean side out
D$ :epeat "rom step 1 to C to prepare more
sand!iches
Algorithm
A%; "or !ithdra!al
*
Autput
/
;one, error messages
*
Inputs
/
Fser Identi"ication ,A%; card-, pass!ord,
amount
A%; "or !ithdra!al ( Process
1$ Bet the A%; card "or identi"ication and as# "or
pass!ord
2$ Chec# pass!ord
3$ I" pass!ord is not valid, generate an error
message and go to step number G$
C$ Bet the amount "rom the user
D$ Chec# the current balance
E$ I" amount is greater than current balance,
generate an error message and go to step
number G$
H$ Subtract the amount "rom the balance and give
out the cash$
G$ :eturn the A%; card
I$ Stop

A flowchart is a visual or graphical


representation of an algorithm.

The flowchart employs a series of blocks and


arrows, each of which represents a particular
operation or step in the algorithm.

The arrows represent the sequence in which


the operations are implemented.
0lo! Charts
0lo!charts / ;ost Common Smbols
Symbol Symbol Name Name Function Function
Terminal Terminal Represents the beginning or end of a Represents the beginning or end of a
program. program.
Flow-line Flow-line Represents the flow of logic. Represents the flow of logic.
Process Process Represents calculations or data Represents calculations or data
manipulation. manipulation.
Input/utput Input/utput Represents inputs or outputs of data Represents inputs or outputs of data
and information. and information.
!ecision !ecision Represents a comparison" #uestion" Represents a comparison" #uestion"
or decision that determines or decision that determines
alternati$e paths to be followed. alternati$e paths to be followed.
$lowcharts % An "&ample
Find the solution of a quadratic equation
Ax
2
!x"#$, given A, ! and ".
ST%RT
INP&T
%" '" (
(alculate
R ) S*RT+'
,
--%(.
% %
% %
/0 ) +-'1R./+,%.
/, ) +-'-R./+,%.
PRINT
%" '" (" /0" /,
2N!
0lo! Charting
?+presses the "lo! o" processing in a
structured pictorial "ormat$
Processing
teps
'nput and
(utput teps
Decision
$low
of
data
)onnectors
Terminator
$low chart for
)on*erting
$ahrenheit
into )elsius
+et temp. in ,$-
Print ,)-
)alculate
) 32 (F
9
5
C =
top
.egin
+et bread/ butter/
0am/ knife/ and plate
Put two slices of
bread on the plate
pread butter on one slice
pread 1am on the other slice
Put the two slices together/
stick# side in
2ant another3
4es
top
No
$low chart for
preparing a
butter and 0am
sandwich
Add them together
Di*ide the result b# three
5ore students3
4es
top
No
$low chart for
calculating
a*erage of
three scores
+et three scores
Print the a*erage
+et Password
's Password
)orrect3
+et amount
4es
's amount 6
.alance
No
+enerate
"rror 5essage
No
+enerate
"rror 5essage
ubtract amount
from balance
4es
top
7eturn
AT5 card
A%; cash !ithdra!al process
Dispense cash
ST%RT ST%RT
INP&T INP&T
%" ' %" '
%dd % to ' %dd % to '
and store in ( and store in (
&TP&T &TP&T
( (
2N! 2N!
"omparison of Algorithm, flowchart and %seudo&code
Step 03 'egin the calculations
Step ,3 Input $alues for the
$ariables % and '.
Step 43 %dd the $ariables
Step -3 utput the results
Step 53 2nd the calculation.
BEGIN Adder
Input A and B
C = A + B
PRINT C
END Adder
Algorithm Algorithm $lowchart $lowchart Pseudo!code Pseudo!code

You might also like