Data Structures

Explain Problem Solving Techniques

Develop a program to compute the roots of a quadratic equation by accepting the coefficients

The process of working through details of a problem to reach a solution. There are three approaches to
problem solving:
1. Algorithm
2. Flowchart
3. Pseudo Code

Algorithm: The algorithm is a step-by-step procedure to be followed in solving a problem. It provides a scheme to solve a particular problem in finite number of unambiguous steps. It helps in implementing the solution of a problem using any of the programming languages.

In order to qualify as an algorithm, a sequence of instructions must possess the following characteristics:
Definiteness: Instructions must be precCSE and unambiguous i.e. each and every instruction should be clear and should have only one meaning.
Finiteness: Not even a single instruction must be repeated infinitely. i.e., each instruction should be performed in finite time.
Termination: After the algorithm gets executed, the user should get the desired result

Key features of an algorithm:
Any algorithm has a finite number of steps and some steps may involve decision making, repetition. Broadly speaking, an algorithm exhibits three key features that can be given as:
Sequence: Sequence means that each step of the algorithm is executed in the specified order.
Decision: Decision statements are used when the outcome of the process depends on some condition.
Repetition: Repetition which involves executing one or more steps for a number of times can be implemented using constructs like the while, do-while and for loops. These loops executed one or more steps until some condition is true.

Example: To compute the Area of Rectangle
ALGM: AREA_of_RECTANGLE
[This algorithm takes length and breadth, the sides of the rectangle as input and computes the area of rectangle using the formula area=length * breadth. Finally it prints the area of rectangle]
STEPS:
Step 1:[Initialize]
Start
Step 2: [Input the sides of Rectangle]
Read length, breadth
Step 3:[Compute the area of rectangle]
Area length*breadth
Step 4:[Display the Area]
Print Area
Step 5: [Finished]
Stop




Flowcharts: A flowchart is a graphical or symbolic representation of an algorithm. They are basically used to design and develop complex programs to help the users to visualize the logic of the program so that they can gain a better understanding of the program and find flaws, bottlenecks, and other less obvious features within it. Basically, a flowchart depicts the “flow” of a program. The following table
shows the symbols used in flowchart along with its descriptions.





Advantages of Flowcharts:
A flowchart is a diagrammatic representation that illustrates the sequence of steps that must be performed to solve a problem. They are usually drawn in the early stages of formulating computer solutions to facilitate communication between programmers and business people.
Flowcharts help programmers to understand the logic of complicated and lengthy problems. They help to analyze the problem in a more effective manner

Flowchart can be used to debug programs that have error(s).
E.g.: To compute the Area of Rectangle

Limitations of using Flowcharts:
Drawing flowcharts is a laborious and a time consuming activity. Flowchart of a complex program becomes, complex and clumsy. At times, a little bit of alteration in the solution may require complete redrawing of the flowchart Essentials of what is done may get lost in the technical details of how it is done.
There are no well-defined standards that limits the details that must be incorporated in a flowchart




Pseudo code: It is a form of structured English that describes algorithms. It facilitates the designers to
focus on the logic of the algorithm without getting bogged down by the details of language syntax. Pseudocode is a compact and informal high-level description of an algorithm that uses the structural
conventions of a programming language. It is meant for human reading rather than machine reading, so it omits the details that are not essential for humans. Such details include keywords, variable declarations, system-specific code and subroutines. There are no standards defined for writing a pseudocode because it is not an executable program. Flowcharts can be considered as a graphical alternative to pseudocode, but are more spacious on paper.
E.g.: To compute the area of Rectangle
Begin
Input length, breadth
Area=length*breadth
Print Area
End

Leave a comment

Your email address will not be published. Required fields are marked *