SlideShare a Scribd company logo
Mr. R.D.SIVAKUMAR, M.Sc.,M.Phil.,M.Tech.,
Assistant Professor of Computer Science &
Assistant Professor and Head, Department of M.Com.(CA),
Ayya Nadar Janaki Ammal College,
Sivakasi – 626 124.
Mobile: 099440-42243
e-mail : sivamsccsit@gmail.com
website: www.rdsivakumar.blogspot.in
PROBLEM SOLVING TECHNIQUES
PROBLEM SOLVING TECHNIQUES
In the computer languages every statement must be written precisely, including commas
and semicolons. One has to be very careful while writing these lines.
 In the natural languages the sentences may be long. Sometimes they may be vague. So, to
understand things clearly without any ambiguity, we write it in an intermediary language.
 This will be easy to write and understand, and also without any ambiguity. These
intermediate languages are in between the natural languages and the computer languages.
We shall study two such intermediate languages, namely, the flow chart and the pseudo
code
PROBLEM SOLVING TECHNIQUES
First let us consider the flow chart. Since the flows of computational paths are
depicted as a picture, it is called a flow chart.
Let us start with an example. Suppose we have to find the sum and also the
maximum of two numbers. To achieve this, first the two numbers have to be received
and kept in two places, under two names. Then the sum of them is to be found and
printed. Then depending on which one is bigger, a number is to be printed.
The flow chart for this is given in flow chart 4.1.
PROBLEM SOLVING TECHNIQUES
In the flow chart, each shape has a particular meaning.
They are given in flow chart 4.2.
In the flow chart mentioned above, there is a special meaning in writing C = A + B.
Though we use the familiar equal to sign, it is not used in the sense as in an equation.
This statement means — Add the current values available for the names A and B, which
are on the RHS, and put the sum as the new value of the name C, which is in the LHS.
For example, under this explanation, A = A + 1 is a valid statement. The value of A is
taken, incremented by one and the new value is stored as A. That is, the value of A gets
incremented by 1. Note that we can write A = A + B, but not A + B = A. On the LHS
there must be only a name of a place for storing.
PROBLEM SOLVING TECHNIQUES
For big problems, the flow chart will also be big. But our paper sizes are limited.
We may need many pages for one flow chart. But how to go from one page to
another?
This is solved by using small circles, called connectors. In this circle, we put some
symbol. All connectors having the same symbol represent the same point, wherever
they are, whether they are in the same page or on different pages. Flow chart 4.3
gives an example.
The advantages of the flow charts are:
• They are precise. They represent our thoughts exactly.
• It is easy to understand small flow charts.
The disadvantage is that real life flow charts can occupy many pages, and hence very difficult
to understand. So no one uses flow charts in such situations.
PROBLEM SOLVING TECHNIQUES
Consider the small flow charts given for the following problems. See whether they will
solve the problems. Do not memorize them. Try to understand them. Note how much we
have to think before writing a program.
Flow chart 4.4 estimates the volume of a box using its length, breadth and height.
PROBLEM SOLVING TECHNIQUES
Flow chart reads a number between 0 and 3 and writes it in words.
PROBLEM SOLVING TECHNIQUES
Flow chart finds the minimum of 3 given numbers.
PROBLEM SOLVING TECHNIQUES
Flow chart provides a method to solve the quadratic equation ax2 + bx + c = 0 .
PROBLEM SOLVING TECHNIQUES
Flow chart reads 100 numbers and prints their sum.
PROBLEM SOLVING TECHNIQUES
Flow chart determines whether a given integer is a prime number or not a prime a
number.
PROBLEM SOLVING TECHNIQUES
Flow chart finds the smallest integer n such that, 1+ 2+ 3+...+n is equal to or
just greater than 1000.
FUNDAMENTAL CONDITION AND CONTROL
STRUCTURES
In a computer pseudo code, we have to instruct the computer regarding each and
every step. Only if we can decide all these things by ourselves, we can write a
computer pseudo code. The computer will simply do what we say. And exactly as we
say. It won’t do anything on its own. We can even say that the computer is the fifth
disciple of Paramaartha guru. Do you wonder why?
We shall see one episode in a sequence of such episodes. Paramaartha guru’s
disciples are named (in Tamil) as Matti, Madayan, Moodan and Muttaal, all different
forms of the word ‘fool’. They buy an old horse for their guru. The guru sits on the
horse and the disciples come by walking. The guru’s turban hits a branch of a tree
and falls down. After some time the guru asks for the turban. The disciples say that it
fallen down. When he asks why they had not brought it, they say that he had not told
them so. The guru says that they should take and bring anything that falls down.
One disciple goes back and brings the turban. The guru is annoyed to see the horse
dung in his turban. When the guru asks why he had put the dung in the turban, the
disciple answers “You only asked us to bring whatever has fallen down. How do we
know which one to take and which one to leave? Better give us a list of things to take,
so that there won’t be any confusion.” The guru dictates a long list and then they
proceed.
FUNDAMENTAL CONDITION AND CONTROL
STRUCTURES
After some time, the old horse trips and falls down. Then one disciple starts reading
from the list. Things like turban, dhoti, towel etc. are taken one by one. The guru lies
there only with the loincloth. He asks them to take him and put on the horse. For this
comes the prompt reply “ You are not in the list, guru.” When his pleadings fall on
deaf ears, the guru asks tem to revise the list, and include his name in the list. Then
he asks them to check the list again. Now he was helped to get up.
A computer pseudo code is like that list. The computer is like one of these disciples.
It is not much different. It is our responsibility to instruct the computer properly and
elaborately. We should get trained in thinking in such elaborate manner.
In all these, they are only three techniques, which occur again and again. All the
computing is done using only these techniques. Understanding them is just as
necessary as the fisherman learning to swim.
Sequencing
Usually the calculations are done one after another, in a sequence. This is one of the
fundamental control structures
BRANCHING
Two-way branching
Ask a question. Get the answer as ‘Yes’ or ‘No’. Depending on the answer,
branch to one of the two available paths. This is depicted by a diagonal shaped
box. You can see this box in many flow charts. Also many times in the same flow
chart. Branching is also a fundamental control structure.
For example, if A > B, then print A, otherwise print B.
This is called the “If ...Then ...Else” structure. If no action is to be taken in one
path, then we can use the “If...Then” structure. In this, if the
answer is ‘No’, then it means that the execution goes to the next
statement without doing anything.
For example, If you find anyone there then say hello
BRANCHING
Multi-way branching
For some questions there may not be just a Yes or No answer.
For example -” What is the age of this boy?” the answer can be one of many
integers. Depending on the answer, we may have to make different set of
computations, by going through different paths. This is called multi-way
branching. This can be depicted as in the flow chart
For example, if n is 0 then print ‘zero’
1 then print ‘one’
2 then print ‘two’
3 then print ‘three’
ITERATION
The third fundamental technique is iteration. That is, repeating a set of actions again
and again. Of course, we do not repeat the same actions for the same data, as this will be
just a waste of time. The action will be the same, but the data will change every time.
For example, reading 100 numbers, or, finding the interest payable for 1000
customers. In both these examples, we know how many times we are going to repeat the
same action. Hence the name definite iteration. In this method we have to keep track of
the count of the number of times the actions are performed. For this we use a variable
called the index variable or control variable.
There are 4 basic steps involved in using an index variable.
• The index variable should be given an integer as the initial value to start with.
• The current value in the index variable v should be compared with the final value to
decide whether more iteration is required.
• If the answer is Yes, then
Do the required actions once.
Then increment the index v by 1.
Go to step 2 and do the checking again.
• If the answer is No, then
The iterations are over.
Go to the next action in the sequence.
ITERATION
The flow chart explains about definite iteration. In this case, the iteration is shown
by the presence of a loop formed by the directed lines.
In some situations, we may not know exactly how many times the iteration is to be
performed, as a number, in the beginning. For example, suppose we have to find the smallest
number n such that 1 + 2 + 3 + ... + n gives at least 100. Suppose we add numbers one by one
and test whether 100 has been reached. We will stop when 100 has been reached.
Here we do not know when we are going to stop as a number. A count is not going to work
here. Only a condition is to be checked for this. Such iteration is called an indefinite
iteration. Using sequencing, branching and iteration, all the computation can be carried out.
Definite Iteration
PSEUDO CODE
Instead of using flow chart, pseudo code can be used to represent a procedure for
doing something. Pseudo code is in-between English and the high-level computer
languages. In English the sentences may be long and may not be precise. In the
computer languages the syntax has to be followed meticulously. If these two irritants are
removed then we have the pseudo code.
There are only a few basic sentence types in this. They are also small in their size. But
they have the power to specify any procedure. We have one more felicity. We can use the
usual brackets in the usual sense of combining many things together. By indentation also
we can club statements together. It is easy to understand things written in pseudo code.
The flow chart fundamental control structures for branching and iteration correspond
to the following pseudo code.
• If .... then .... else ....
• If .... then ....
• For ..... to .... do ......
• While .... do .....
PSEUDO CODE
A few examples for these are as follows.
• If a > b then print a else print b
• If a < 10 then b = c + d
• For i = 1 to 20 do
n = n + i
• While sum < 100 do
sum = sum + i
i = i + 1
Note that in the while .. do example, the two lines with indentation are to be clubbed
together and treated as one unit for execution. The corresponding flow charts for the
above examples are given below:
PSEUDO CODE
Note that all these control structures have only one entry point and only one exit
point. That is after executing the things mentioned in these statements, the control is
transferred to the next statement. That is, after this statement computer takes up the
next statement for execution. This is one of the strong points of these control
structures.
This makes the understanding and debugging (finding and removing errors) easier.
PSEUDO CODE
The pseudo codes corresponding to the problem we have worked out in an
earlier section are given below. Compare the flow charts and the pseudo codes,
and ascertain their equivalence
• Finding the volume.
start
read length, breadth and height.
volume = length x breadth x height
print volume
End
Only sequence is used in the above example.
• Write in words.
start
read n
if n is
0 then write ‘zero’
1 then write ‘one’
2 then write ‘two’
3 then write ‘three’
End
PSEUDO CODE
PSEUDO CODE
There are a few points to be noted.
• Within one ‘if then else’ statement, there is another ‘if then else’ statement. To show this
clearly indentation is used.
• Only the inner statement is written with extra indentation. All the statements in a
sequence have the same indentation.
• Just as we use brackets in Mathematics, here also we use brackets for bunching.
• Since the procedures written in the pseudo code look similar to a program, it is very
easy to convert it into a high-level language computer program
WALKTHROUGH
As a first step in writing a program, a flow chart or pseudo code is created, to
represent the solution method. This comes under the designing a solution for the
problem. From this, the program is written with the specific syntax rules of a
particular language. Before writing the program, one must be sure of the correctness
of the method used.
 Hence it is necessary to check the correctness of the flow charts and pseudo codes.
First we shall see what an algorithm (solution method) is. Then we shall see a
method, called walkthrough, of checking the pseudo code or flow chart.
An algorithm is a procedure with the following properties.
• There should be a finite number of steps.
• Each step is executable without any ambiguity.
• Each step is executable within a finite amount of time, using a finite amount of
memory space.
• The entire program should be executed within a finite amount of time.
CREATING A PROGRAM
Writing a small program is easy. A flow chart or pseudo code can be drawn for
this first. Then from this the program can be written easily. But this method does
not work in the case of real life programs, which are big. A systematic approach
is very much essential in this case.
To create a program, the problem should be divided into many smaller
problems. We should know the method of putting together the results of these
sub problems to get the result for the bigger problem. This is one step in creating
a program. This step is repeatedly used, until the problem becomes small enough
to write a flow chart or pseudo code.
This method of approach is called the ‘Top Down Approach’. In each step we
concentrate on a single thing, find how to get the solution by combining the
results of smaller problems. In the case of computer programs, when this method
was used first, more importance was given to the procedures, that is, the method
of executing things, and not for the data. It is called ‘Structured Programming’.
When dividing a problem into smaller parts, if both the procedure and the data
are taken into account, then we have what is called the ‘Object Oriented
Approach’.
Thank you

More Related Content

Similar to Problem Solving Techniques - R.D.Sivakumar

Element distinctness lower bounds
Element distinctness lower boundsElement distinctness lower bounds
Element distinctness lower bounds
Rajendran
 
Linear logisticregression
Linear logisticregressionLinear logisticregression
Linear logisticregression
kongara
 
Business mathematics presentation
Business mathematics presentationBusiness mathematics presentation
Business mathematics presentation
Sourov Shaha Suvo
 
Intro to exponents
Intro to exponentsIntro to exponents
Intro to exponents
JenaroDelgado1
 
IELTS Writing Task 1 Process Diagrams
IELTS Writing Task 1 Process DiagramsIELTS Writing Task 1 Process Diagrams
IELTS Writing Task 1 Process Diagrams
David Wills
 
Std 10 computer chapter 9 Problems and Problem Solving
Std 10 computer chapter 9 Problems and Problem SolvingStd 10 computer chapter 9 Problems and Problem Solving
Std 10 computer chapter 9 Problems and Problem Solving
Nuzhat Memon
 
L06
L06L06
Why recursion is impotant_new_my.docx
Why recursion is impotant_new_my.docxWhy recursion is impotant_new_my.docx
Why recursion is impotant_new_my.docx
Miracule D Gavor
 
lec_4_data_structures_and_algorithm_analysis.ppt
lec_4_data_structures_and_algorithm_analysis.pptlec_4_data_structures_and_algorithm_analysis.ppt
lec_4_data_structures_and_algorithm_analysis.ppt
Mard Geer
 
lec_4_data_structures_and_algorithm_analysis.ppt
lec_4_data_structures_and_algorithm_analysis.pptlec_4_data_structures_and_algorithm_analysis.ppt
lec_4_data_structures_and_algorithm_analysis.ppt
SourabhPal46
 
Bt0080 fundamentals of algorithms1
Bt0080 fundamentals of algorithms1Bt0080 fundamentals of algorithms1
Bt0080 fundamentals of algorithms1
Techglyphs
 
Digital txtbook final
Digital txtbook finalDigital txtbook final
Digital txtbook final
neetaa2014
 
Basics of Programming - A Review Guide
Basics of Programming - A Review GuideBasics of Programming - A Review Guide
Basics of Programming - A Review Guide
Benjamin Kissinger
 
Calc i complete
Calc i completeCalc i complete
Calc i complete
Yassin Balja
 
Learning with Technology in the Mathematics Classroom
Learning with Technology in the Mathematics ClassroomLearning with Technology in the Mathematics Classroom
Learning with Technology in the Mathematics Classroom
Colleen Young
 
Motivation
MotivationMotivation
Motivation
Ann Rachelle
 
Bootcamp of new world to taken seriously
Bootcamp of new world to taken seriouslyBootcamp of new world to taken seriously
Bootcamp of new world to taken seriously
khaled125087
 
Module 1 solving inequalities notes
Module 1 solving inequalities notesModule 1 solving inequalities notes
Module 1 solving inequalities notes
Michelle Barnhill
 
Calc i complete
Calc i completeCalc i complete
Amatyc improving reading for developmental mathematics2014
Amatyc improving  reading for developmental mathematics2014Amatyc improving  reading for developmental mathematics2014
Amatyc improving reading for developmental mathematics2014
Linda Russell
 

Similar to Problem Solving Techniques - R.D.Sivakumar (20)

Element distinctness lower bounds
Element distinctness lower boundsElement distinctness lower bounds
Element distinctness lower bounds
 
Linear logisticregression
Linear logisticregressionLinear logisticregression
Linear logisticregression
 
Business mathematics presentation
Business mathematics presentationBusiness mathematics presentation
Business mathematics presentation
 
Intro to exponents
Intro to exponentsIntro to exponents
Intro to exponents
 
IELTS Writing Task 1 Process Diagrams
IELTS Writing Task 1 Process DiagramsIELTS Writing Task 1 Process Diagrams
IELTS Writing Task 1 Process Diagrams
 
Std 10 computer chapter 9 Problems and Problem Solving
Std 10 computer chapter 9 Problems and Problem SolvingStd 10 computer chapter 9 Problems and Problem Solving
Std 10 computer chapter 9 Problems and Problem Solving
 
L06
L06L06
L06
 
Why recursion is impotant_new_my.docx
Why recursion is impotant_new_my.docxWhy recursion is impotant_new_my.docx
Why recursion is impotant_new_my.docx
 
lec_4_data_structures_and_algorithm_analysis.ppt
lec_4_data_structures_and_algorithm_analysis.pptlec_4_data_structures_and_algorithm_analysis.ppt
lec_4_data_structures_and_algorithm_analysis.ppt
 
lec_4_data_structures_and_algorithm_analysis.ppt
lec_4_data_structures_and_algorithm_analysis.pptlec_4_data_structures_and_algorithm_analysis.ppt
lec_4_data_structures_and_algorithm_analysis.ppt
 
Bt0080 fundamentals of algorithms1
Bt0080 fundamentals of algorithms1Bt0080 fundamentals of algorithms1
Bt0080 fundamentals of algorithms1
 
Digital txtbook final
Digital txtbook finalDigital txtbook final
Digital txtbook final
 
Basics of Programming - A Review Guide
Basics of Programming - A Review GuideBasics of Programming - A Review Guide
Basics of Programming - A Review Guide
 
Calc i complete
Calc i completeCalc i complete
Calc i complete
 
Learning with Technology in the Mathematics Classroom
Learning with Technology in the Mathematics ClassroomLearning with Technology in the Mathematics Classroom
Learning with Technology in the Mathematics Classroom
 
Motivation
MotivationMotivation
Motivation
 
Bootcamp of new world to taken seriously
Bootcamp of new world to taken seriouslyBootcamp of new world to taken seriously
Bootcamp of new world to taken seriously
 
Module 1 solving inequalities notes
Module 1 solving inequalities notesModule 1 solving inequalities notes
Module 1 solving inequalities notes
 
Calc i complete
Calc i completeCalc i complete
Calc i complete
 
Amatyc improving reading for developmental mathematics2014
Amatyc improving  reading for developmental mathematics2014Amatyc improving  reading for developmental mathematics2014
Amatyc improving reading for developmental mathematics2014
 

More from Sivakumar R D .

Internet Connections and Its Protocols - R D Sivakumar
Internet Connections and Its Protocols - R D SivakumarInternet Connections and Its Protocols - R D Sivakumar
Internet Connections and Its Protocols - R D Sivakumar
Sivakumar R D .
 
Internet - R D Sivakumar.
Internet - R D Sivakumar.Internet - R D Sivakumar.
Internet - R D Sivakumar.
Sivakumar R D .
 
Data Communication - R D Sivakumar
Data Communication - R D SivakumarData Communication - R D Sivakumar
Data Communication - R D Sivakumar
Sivakumar R D .
 
NETWORK SERVICES - R D Sivakumar
NETWORK SERVICES - R D SivakumarNETWORK SERVICES - R D Sivakumar
NETWORK SERVICES - R D Sivakumar
Sivakumar R D .
 
Computer Communications - R D Sivakumar
Computer Communications - R D SivakumarComputer Communications - R D Sivakumar
Computer Communications - R D Sivakumar
Sivakumar R D .
 
Online Data Protection - R D Sivakumar
Online Data Protection - R D SivakumarOnline Data Protection - R D Sivakumar
Online Data Protection - R D Sivakumar
Sivakumar R D .
 
Software Engineering - R.D.Sivakumar
Software Engineering - R.D.SivakumarSoftware Engineering - R.D.Sivakumar
Software Engineering - R.D.Sivakumar
Sivakumar R D .
 
Different Kinds of Internet Protocols - R.D.Sivakumar
Different Kinds of Internet Protocols - R.D.SivakumarDifferent Kinds of Internet Protocols - R.D.Sivakumar
Different Kinds of Internet Protocols - R.D.Sivakumar
Sivakumar R D .
 
Internet - R.D.Sivakumar
Internet - R.D.SivakumarInternet - R.D.Sivakumar
Internet - R.D.Sivakumar
Sivakumar R D .
 
Electronic Publishing Tools for E-Learning - R.D.Sivakumar
Electronic Publishing Tools for E-Learning - R.D.SivakumarElectronic Publishing Tools for E-Learning - R.D.Sivakumar
Electronic Publishing Tools for E-Learning - R.D.Sivakumar
Sivakumar R D .
 
E-learning Packages - R.D.Sivakumar
E-learning Packages - R.D.SivakumarE-learning Packages - R.D.Sivakumar
E-learning Packages - R.D.Sivakumar
Sivakumar R D .
 
Digital Communication - R.D.Sivakumar
Digital Communication - R.D.SivakumarDigital Communication - R.D.Sivakumar
Digital Communication - R.D.Sivakumar
Sivakumar R D .
 
Digigogy in Teaching - R.D.Sivakumar
Digigogy in Teaching - R.D.SivakumarDigigogy in Teaching - R.D.Sivakumar
Digigogy in Teaching - R.D.Sivakumar
Sivakumar R D .
 
Cyber Commerce Technology - R.D.Sivakumar
Cyber Commerce Technology - R.D.SivakumarCyber Commerce Technology - R.D.Sivakumar
Cyber Commerce Technology - R.D.Sivakumar
Sivakumar R D .
 
Video Lesson Creation - R.D.Sivakumar
Video Lesson Creation - R.D.SivakumarVideo Lesson Creation - R.D.Sivakumar
Video Lesson Creation - R.D.Sivakumar
Sivakumar R D .
 
Cognitive and Personal Dimensions of Cyber Learning - R.D.Sivakumar
Cognitive and Personal Dimensions of Cyber Learning - R.D.SivakumarCognitive and Personal Dimensions of Cyber Learning - R.D.Sivakumar
Cognitive and Personal Dimensions of Cyber Learning - R.D.Sivakumar
Sivakumar R D .
 
Innovative Presentation - R.D.Sivakumar
Innovative Presentation - R.D.SivakumarInnovative Presentation - R.D.Sivakumar
Innovative Presentation - R.D.Sivakumar
Sivakumar R D .
 
Open Source in E-Learning - R.D.Sivakumar
Open Source in E-Learning - R.D.SivakumarOpen Source in E-Learning - R.D.Sivakumar
Open Source in E-Learning - R.D.Sivakumar
Sivakumar R D .
 
Tuxpaint - R.D.Sivakumar
Tuxpaint - R.D.SivakumarTuxpaint - R.D.Sivakumar
Tuxpaint - R.D.Sivakumar
Sivakumar R D .
 
Academic Blog Design - R.D.Sivakumar
Academic Blog Design - R.D.SivakumarAcademic Blog Design - R.D.Sivakumar
Academic Blog Design - R.D.Sivakumar
Sivakumar R D .
 

More from Sivakumar R D . (20)

Internet Connections and Its Protocols - R D Sivakumar
Internet Connections and Its Protocols - R D SivakumarInternet Connections and Its Protocols - R D Sivakumar
Internet Connections and Its Protocols - R D Sivakumar
 
Internet - R D Sivakumar.
Internet - R D Sivakumar.Internet - R D Sivakumar.
Internet - R D Sivakumar.
 
Data Communication - R D Sivakumar
Data Communication - R D SivakumarData Communication - R D Sivakumar
Data Communication - R D Sivakumar
 
NETWORK SERVICES - R D Sivakumar
NETWORK SERVICES - R D SivakumarNETWORK SERVICES - R D Sivakumar
NETWORK SERVICES - R D Sivakumar
 
Computer Communications - R D Sivakumar
Computer Communications - R D SivakumarComputer Communications - R D Sivakumar
Computer Communications - R D Sivakumar
 
Online Data Protection - R D Sivakumar
Online Data Protection - R D SivakumarOnline Data Protection - R D Sivakumar
Online Data Protection - R D Sivakumar
 
Software Engineering - R.D.Sivakumar
Software Engineering - R.D.SivakumarSoftware Engineering - R.D.Sivakumar
Software Engineering - R.D.Sivakumar
 
Different Kinds of Internet Protocols - R.D.Sivakumar
Different Kinds of Internet Protocols - R.D.SivakumarDifferent Kinds of Internet Protocols - R.D.Sivakumar
Different Kinds of Internet Protocols - R.D.Sivakumar
 
Internet - R.D.Sivakumar
Internet - R.D.SivakumarInternet - R.D.Sivakumar
Internet - R.D.Sivakumar
 
Electronic Publishing Tools for E-Learning - R.D.Sivakumar
Electronic Publishing Tools for E-Learning - R.D.SivakumarElectronic Publishing Tools for E-Learning - R.D.Sivakumar
Electronic Publishing Tools for E-Learning - R.D.Sivakumar
 
E-learning Packages - R.D.Sivakumar
E-learning Packages - R.D.SivakumarE-learning Packages - R.D.Sivakumar
E-learning Packages - R.D.Sivakumar
 
Digital Communication - R.D.Sivakumar
Digital Communication - R.D.SivakumarDigital Communication - R.D.Sivakumar
Digital Communication - R.D.Sivakumar
 
Digigogy in Teaching - R.D.Sivakumar
Digigogy in Teaching - R.D.SivakumarDigigogy in Teaching - R.D.Sivakumar
Digigogy in Teaching - R.D.Sivakumar
 
Cyber Commerce Technology - R.D.Sivakumar
Cyber Commerce Technology - R.D.SivakumarCyber Commerce Technology - R.D.Sivakumar
Cyber Commerce Technology - R.D.Sivakumar
 
Video Lesson Creation - R.D.Sivakumar
Video Lesson Creation - R.D.SivakumarVideo Lesson Creation - R.D.Sivakumar
Video Lesson Creation - R.D.Sivakumar
 
Cognitive and Personal Dimensions of Cyber Learning - R.D.Sivakumar
Cognitive and Personal Dimensions of Cyber Learning - R.D.SivakumarCognitive and Personal Dimensions of Cyber Learning - R.D.Sivakumar
Cognitive and Personal Dimensions of Cyber Learning - R.D.Sivakumar
 
Innovative Presentation - R.D.Sivakumar
Innovative Presentation - R.D.SivakumarInnovative Presentation - R.D.Sivakumar
Innovative Presentation - R.D.Sivakumar
 
Open Source in E-Learning - R.D.Sivakumar
Open Source in E-Learning - R.D.SivakumarOpen Source in E-Learning - R.D.Sivakumar
Open Source in E-Learning - R.D.Sivakumar
 
Tuxpaint - R.D.Sivakumar
Tuxpaint - R.D.SivakumarTuxpaint - R.D.Sivakumar
Tuxpaint - R.D.Sivakumar
 
Academic Blog Design - R.D.Sivakumar
Academic Blog Design - R.D.SivakumarAcademic Blog Design - R.D.Sivakumar
Academic Blog Design - R.D.Sivakumar
 

Recently uploaded

BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
TechSoup
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
NgcHiNguyn25
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
siemaillard
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
Nguyen Thanh Tu Collection
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
AyyanKhan40
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 

Recently uploaded (20)

BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 

Problem Solving Techniques - R.D.Sivakumar

  • 1. Mr. R.D.SIVAKUMAR, M.Sc.,M.Phil.,M.Tech., Assistant Professor of Computer Science & Assistant Professor and Head, Department of M.Com.(CA), Ayya Nadar Janaki Ammal College, Sivakasi – 626 124. Mobile: 099440-42243 e-mail : sivamsccsit@gmail.com website: www.rdsivakumar.blogspot.in PROBLEM SOLVING TECHNIQUES
  • 2. PROBLEM SOLVING TECHNIQUES In the computer languages every statement must be written precisely, including commas and semicolons. One has to be very careful while writing these lines.  In the natural languages the sentences may be long. Sometimes they may be vague. So, to understand things clearly without any ambiguity, we write it in an intermediary language.  This will be easy to write and understand, and also without any ambiguity. These intermediate languages are in between the natural languages and the computer languages. We shall study two such intermediate languages, namely, the flow chart and the pseudo code
  • 3. PROBLEM SOLVING TECHNIQUES First let us consider the flow chart. Since the flows of computational paths are depicted as a picture, it is called a flow chart. Let us start with an example. Suppose we have to find the sum and also the maximum of two numbers. To achieve this, first the two numbers have to be received and kept in two places, under two names. Then the sum of them is to be found and printed. Then depending on which one is bigger, a number is to be printed. The flow chart for this is given in flow chart 4.1.
  • 4. PROBLEM SOLVING TECHNIQUES In the flow chart, each shape has a particular meaning. They are given in flow chart 4.2. In the flow chart mentioned above, there is a special meaning in writing C = A + B. Though we use the familiar equal to sign, it is not used in the sense as in an equation. This statement means — Add the current values available for the names A and B, which are on the RHS, and put the sum as the new value of the name C, which is in the LHS. For example, under this explanation, A = A + 1 is a valid statement. The value of A is taken, incremented by one and the new value is stored as A. That is, the value of A gets incremented by 1. Note that we can write A = A + B, but not A + B = A. On the LHS there must be only a name of a place for storing.
  • 5. PROBLEM SOLVING TECHNIQUES For big problems, the flow chart will also be big. But our paper sizes are limited. We may need many pages for one flow chart. But how to go from one page to another? This is solved by using small circles, called connectors. In this circle, we put some symbol. All connectors having the same symbol represent the same point, wherever they are, whether they are in the same page or on different pages. Flow chart 4.3 gives an example. The advantages of the flow charts are: • They are precise. They represent our thoughts exactly. • It is easy to understand small flow charts. The disadvantage is that real life flow charts can occupy many pages, and hence very difficult to understand. So no one uses flow charts in such situations.
  • 6. PROBLEM SOLVING TECHNIQUES Consider the small flow charts given for the following problems. See whether they will solve the problems. Do not memorize them. Try to understand them. Note how much we have to think before writing a program. Flow chart 4.4 estimates the volume of a box using its length, breadth and height.
  • 7. PROBLEM SOLVING TECHNIQUES Flow chart reads a number between 0 and 3 and writes it in words.
  • 8. PROBLEM SOLVING TECHNIQUES Flow chart finds the minimum of 3 given numbers.
  • 9. PROBLEM SOLVING TECHNIQUES Flow chart provides a method to solve the quadratic equation ax2 + bx + c = 0 .
  • 10. PROBLEM SOLVING TECHNIQUES Flow chart reads 100 numbers and prints their sum.
  • 11. PROBLEM SOLVING TECHNIQUES Flow chart determines whether a given integer is a prime number or not a prime a number.
  • 12. PROBLEM SOLVING TECHNIQUES Flow chart finds the smallest integer n such that, 1+ 2+ 3+...+n is equal to or just greater than 1000.
  • 13. FUNDAMENTAL CONDITION AND CONTROL STRUCTURES In a computer pseudo code, we have to instruct the computer regarding each and every step. Only if we can decide all these things by ourselves, we can write a computer pseudo code. The computer will simply do what we say. And exactly as we say. It won’t do anything on its own. We can even say that the computer is the fifth disciple of Paramaartha guru. Do you wonder why? We shall see one episode in a sequence of such episodes. Paramaartha guru’s disciples are named (in Tamil) as Matti, Madayan, Moodan and Muttaal, all different forms of the word ‘fool’. They buy an old horse for their guru. The guru sits on the horse and the disciples come by walking. The guru’s turban hits a branch of a tree and falls down. After some time the guru asks for the turban. The disciples say that it fallen down. When he asks why they had not brought it, they say that he had not told them so. The guru says that they should take and bring anything that falls down. One disciple goes back and brings the turban. The guru is annoyed to see the horse dung in his turban. When the guru asks why he had put the dung in the turban, the disciple answers “You only asked us to bring whatever has fallen down. How do we know which one to take and which one to leave? Better give us a list of things to take, so that there won’t be any confusion.” The guru dictates a long list and then they proceed.
  • 14. FUNDAMENTAL CONDITION AND CONTROL STRUCTURES After some time, the old horse trips and falls down. Then one disciple starts reading from the list. Things like turban, dhoti, towel etc. are taken one by one. The guru lies there only with the loincloth. He asks them to take him and put on the horse. For this comes the prompt reply “ You are not in the list, guru.” When his pleadings fall on deaf ears, the guru asks tem to revise the list, and include his name in the list. Then he asks them to check the list again. Now he was helped to get up. A computer pseudo code is like that list. The computer is like one of these disciples. It is not much different. It is our responsibility to instruct the computer properly and elaborately. We should get trained in thinking in such elaborate manner. In all these, they are only three techniques, which occur again and again. All the computing is done using only these techniques. Understanding them is just as necessary as the fisherman learning to swim. Sequencing Usually the calculations are done one after another, in a sequence. This is one of the fundamental control structures
  • 15. BRANCHING Two-way branching Ask a question. Get the answer as ‘Yes’ or ‘No’. Depending on the answer, branch to one of the two available paths. This is depicted by a diagonal shaped box. You can see this box in many flow charts. Also many times in the same flow chart. Branching is also a fundamental control structure. For example, if A > B, then print A, otherwise print B. This is called the “If ...Then ...Else” structure. If no action is to be taken in one path, then we can use the “If...Then” structure. In this, if the answer is ‘No’, then it means that the execution goes to the next statement without doing anything. For example, If you find anyone there then say hello
  • 16. BRANCHING Multi-way branching For some questions there may not be just a Yes or No answer. For example -” What is the age of this boy?” the answer can be one of many integers. Depending on the answer, we may have to make different set of computations, by going through different paths. This is called multi-way branching. This can be depicted as in the flow chart For example, if n is 0 then print ‘zero’ 1 then print ‘one’ 2 then print ‘two’ 3 then print ‘three’
  • 17. ITERATION The third fundamental technique is iteration. That is, repeating a set of actions again and again. Of course, we do not repeat the same actions for the same data, as this will be just a waste of time. The action will be the same, but the data will change every time. For example, reading 100 numbers, or, finding the interest payable for 1000 customers. In both these examples, we know how many times we are going to repeat the same action. Hence the name definite iteration. In this method we have to keep track of the count of the number of times the actions are performed. For this we use a variable called the index variable or control variable. There are 4 basic steps involved in using an index variable. • The index variable should be given an integer as the initial value to start with. • The current value in the index variable v should be compared with the final value to decide whether more iteration is required. • If the answer is Yes, then Do the required actions once. Then increment the index v by 1. Go to step 2 and do the checking again. • If the answer is No, then The iterations are over. Go to the next action in the sequence.
  • 18. ITERATION The flow chart explains about definite iteration. In this case, the iteration is shown by the presence of a loop formed by the directed lines. In some situations, we may not know exactly how many times the iteration is to be performed, as a number, in the beginning. For example, suppose we have to find the smallest number n such that 1 + 2 + 3 + ... + n gives at least 100. Suppose we add numbers one by one and test whether 100 has been reached. We will stop when 100 has been reached. Here we do not know when we are going to stop as a number. A count is not going to work here. Only a condition is to be checked for this. Such iteration is called an indefinite iteration. Using sequencing, branching and iteration, all the computation can be carried out. Definite Iteration
  • 19. PSEUDO CODE Instead of using flow chart, pseudo code can be used to represent a procedure for doing something. Pseudo code is in-between English and the high-level computer languages. In English the sentences may be long and may not be precise. In the computer languages the syntax has to be followed meticulously. If these two irritants are removed then we have the pseudo code. There are only a few basic sentence types in this. They are also small in their size. But they have the power to specify any procedure. We have one more felicity. We can use the usual brackets in the usual sense of combining many things together. By indentation also we can club statements together. It is easy to understand things written in pseudo code. The flow chart fundamental control structures for branching and iteration correspond to the following pseudo code. • If .... then .... else .... • If .... then .... • For ..... to .... do ...... • While .... do .....
  • 20. PSEUDO CODE A few examples for these are as follows. • If a > b then print a else print b • If a < 10 then b = c + d • For i = 1 to 20 do n = n + i • While sum < 100 do sum = sum + i i = i + 1 Note that in the while .. do example, the two lines with indentation are to be clubbed together and treated as one unit for execution. The corresponding flow charts for the above examples are given below:
  • 21. PSEUDO CODE Note that all these control structures have only one entry point and only one exit point. That is after executing the things mentioned in these statements, the control is transferred to the next statement. That is, after this statement computer takes up the next statement for execution. This is one of the strong points of these control structures. This makes the understanding and debugging (finding and removing errors) easier.
  • 22. PSEUDO CODE The pseudo codes corresponding to the problem we have worked out in an earlier section are given below. Compare the flow charts and the pseudo codes, and ascertain their equivalence • Finding the volume. start read length, breadth and height. volume = length x breadth x height print volume End Only sequence is used in the above example. • Write in words. start read n if n is 0 then write ‘zero’ 1 then write ‘one’ 2 then write ‘two’ 3 then write ‘three’ End
  • 24. PSEUDO CODE There are a few points to be noted. • Within one ‘if then else’ statement, there is another ‘if then else’ statement. To show this clearly indentation is used. • Only the inner statement is written with extra indentation. All the statements in a sequence have the same indentation. • Just as we use brackets in Mathematics, here also we use brackets for bunching. • Since the procedures written in the pseudo code look similar to a program, it is very easy to convert it into a high-level language computer program
  • 25. WALKTHROUGH As a first step in writing a program, a flow chart or pseudo code is created, to represent the solution method. This comes under the designing a solution for the problem. From this, the program is written with the specific syntax rules of a particular language. Before writing the program, one must be sure of the correctness of the method used.  Hence it is necessary to check the correctness of the flow charts and pseudo codes. First we shall see what an algorithm (solution method) is. Then we shall see a method, called walkthrough, of checking the pseudo code or flow chart. An algorithm is a procedure with the following properties. • There should be a finite number of steps. • Each step is executable without any ambiguity. • Each step is executable within a finite amount of time, using a finite amount of memory space. • The entire program should be executed within a finite amount of time.
  • 26. CREATING A PROGRAM Writing a small program is easy. A flow chart or pseudo code can be drawn for this first. Then from this the program can be written easily. But this method does not work in the case of real life programs, which are big. A systematic approach is very much essential in this case. To create a program, the problem should be divided into many smaller problems. We should know the method of putting together the results of these sub problems to get the result for the bigger problem. This is one step in creating a program. This step is repeatedly used, until the problem becomes small enough to write a flow chart or pseudo code. This method of approach is called the ‘Top Down Approach’. In each step we concentrate on a single thing, find how to get the solution by combining the results of smaller problems. In the case of computer programs, when this method was used first, more importance was given to the procedures, that is, the method of executing things, and not for the data. It is called ‘Structured Programming’. When dividing a problem into smaller parts, if both the procedure and the data are taken into account, then we have what is called the ‘Object Oriented Approach’.