Problem Solving Techniques

Download Report

Transcript Problem Solving Techniques

Prof. B. I. Khodanpur
HOD – Dept. of CSE
R. V. College of Engineering.
EmailID: [email protected]
Subject: Computer Fundamentals (For EDUSAT)
Common Paper for BA / B.Com / B.Sc
Code: CS-54
Types of OS:
Operating System can also be classified as,
Single User Systems

Multi User Systems
Single User Systems:

Provides a platform for only one user at a
time.

They are popularly associated with Desk Top
operating system which run on standalone
systems where no user accounts are
required.
Example: DOS

Multi-User Systems:

Provides regulated access for a number of users by
maintaining a database of known users.

Refers to computer systems that support two or more
simultaneous users.

Another term for multi-user is time sharing.

Ex: All mainframes and are multi-user systems.
Example: Unix

Contents

Today's Topic: Problem Solving Techniques

We will learn
1. Problem Statement.
2. Algorithm
Types, Example
3. Flowchart
 Symbols, Examples.

Problem Solving Techniques
Problem Statement:
Problem Statement help diagnose the situation so that
your focus is on the problem, helpful tools at this stage
include Algorithms and flowcharts for identifying the
expected steps of a process. Therefore to solve any
problem,




Collect and analyze information and data
Talk with people familiar with the problem
If at all possible, view the problem first hand
Confirm all findings
Algorithm:
The algorithm is part of the blueprint or plan for the
computer program, an algorithm is:
“An effective procedure for solving a class of problems
in a finite number of steps.”
Every algorithm should have the following 5
characteristic feature:
1.
2.
3.
4.
5.
Input
Output
Definiteness
Effectiveness
Termination
Algorithm (Contd…):

1)
2)
3)
4)
5)
6)
To find largest of three numbers
Start
Read 3 numbers: num1, num2, num3
if num1 > num2 then go to step 5
if num2 > num3 then
print num2 is largest
else
print num3 is largest
goto step 6
if num1 > num3 then
print num1 is largest
else
print num3 is largest
end.
Algorithm (Contd…):
Example: One of the simplest algorithms is to find the
largest number in an (unsorted) list of numbers.
High-level description:
1)
2)
3)
Assume the first item is largest.
Look at each of the remaining items in the list and if
it is larger than the largest item so far, make a note
of it.
The last noted item is the largest in the list when
the process is complete.
Algorithm (Contd…):
Formal description: Written in prose but much closer to
the high-level language of a computer program, the
following is the more formal coding of the algorithm in
pseudo code (find the largest number in an
(unsorted) list of numbers)
Algorithm LargestNumber
Input: A non-empty list of numbers L.
Output: The largest number in the list L.
1)
2)
3)
4)
largest ← L0 for each item in the list L, do
if the item > largest, then
largest ← the item
return largest
Flowchart:
What is a Flowchart?



The flowchart is a means of visually presenting the flow
of control through an information processing systems,
the operations performed within the system and the
sequence in which they are performed.
It is a graphic representation of how a process works,
showing, at a minimum, the sequence of steps.
Flowcharts are generally drawn in the early stages of
formulating computer solutions.
Flowchart (Contd…):
Guideline for drawing a flowchart:
Flowcharts are usually drawn using some standard
symbols; Some standard symbols, which are frequently
required for flowcharting many computer programs are
shown below,-
Flowchart (Contd…):
A set of useful standard Flowchart
symbols:




Rounded box
use it to represent an event which occurs automatically.
Rectangle or box
use it to represent an event which is controlled within
the process. Typically this will be a step or action which
is taken.
Diamond
use it to represent a decision point in the process.
Circle
use it to represent a point at which the flowchart
connects with another process.
ADVANTAGES OF USING
FLOWCHARTS:




Communication: Flowcharts are better way of
communicating the logic of a system
Effective analysis: Problem can be analyzed in more
effective way.
Proper documentation: Flowcharts serve as a good
program documentation
Efficient Coding: Flowcharts act as a guide or blueprint
during the systems analysis and program development
phase.
ADVANTAGES OF USING
FLOWCHARTS (Contd…):

Proper Debugging: Flowchart helps in debugging
process.

Efficient Program Maintenance: The maintenance of
operating program becomes easy with the help of
flowchart.
Flow chart of the while loop :
Flow chart of the for loop:
The flow chart of the if statement:
The flow chart of the if…else statement:
The flow chart of the switch statement:
Flowchart for finding the sum of first five natural numbers (
i.e. 1,2,3,4,5):
Flowchart (Example):
Flowchart to find the sum of first 50 natural numbers.
Flow Chart to find largest of two numbers:
Start
Read A, B
Yes
Is A > B
No
Print B
Print A
End
Flowchart to find the largest of
three numbers A,B, and C:
NO
LIMITATIONS OF USING
FLOWCHARTS:

Complex logic: Sometimes, the program logic is quite
complicated. In that case, flowchart becomes complex
and clumsy.

Alterations and Modifications: If alterations are
required the flowchart may require re-drawing
completely.

Reproduction: As the flowchart symbols cannot be
typed, reproduction of flowchart becomes a problem.
Flowchart (Exercise):
1.
Draw a flowchart to depict all steps that you do
reach your college.
2.
Draw Flowchart for Linear search.