# Program Design Tools

The methods used to create a program are known as program design tools. In a programming language, a program is the representation of an algorithm or flowchart or Pseudocode.

## Algorithm

One of the most commonly used program design tools is an algorithm. The algorithm is the suitable solution to the problem.

An algorithm is the step-by-step solution of the problem written in formal language. After the finite steps, an algorithm must generate some output.

#### Characteristics of the algorithm

• Each and every step of the algorithm should be precise and clear.
• The algorithm should have a finite step.
• After the finite step, it should produce some output.
• Every step of the algorithm should be written in simple English language.

Example 1 : Algorithm to add any two numbers:

``````Step 1: Start
Step 2: Read two numbers A and B
Step 3: C=A+B
Step 4: Display C
Step 5: End
``````

Example 2 : Write an algorithm to find the area and the perimeter of the rectangle Algorithm:

``````Step1: start
Step3: P=2*(L+B)
Step4: A=L*B
Step5: display P
Step6: display A
Step7: end
``````

Algorithm provides many advantages in programming. Some advantage of writing algorithm is given below.

• It translates the problem into a program.
• It helps us to find the error or debugging.
• It is language independent
• To write an algorithm there is no slandered format.
• We can write algorithms by using any simple language.

Since algorithms provided many advantages in programming. But it also has the disadvantage to write an algorithm. Some disadvantages of algorithms are.

• It’s a time-consuming process.
• If the problem becomes large it difficult to write an algorithm.

## Flow chart

The flow chart is the graphical representation of the algorithm. It is one of the widely used program design tools.

It shows steps in sequential order and is widely used in presenting the flow of algorithms, workflow, or processes. It uses a predefined symbol to represent the problem. In the flowchart, a problem is solved step by step just like an algorithm but in pictorial form.

It helps programmers in developing the program logic and to serve as documentation for future reference for a completed program.

1. It helps for program coding
2. It helps to detect deficiencies in the program statement.
3. Flow chart helps to programmer to find the logic of the program.
4.  It translates the problem into a program.

1. Time-consuming process
2. To draw a flowchart various symbols must remember.
3. If the problem becomes very large it is difficult or draws the flow chart.

Symbols used in flow chart are:

Example 1: Draw flow chart for addition of two numbers

2.  Draw flow chart to find whether given number is odd or even.

## Pseudocode

Pseudocode is an informal way of programming description that does not require any strict programming language syntax. It is not an actual programming language. So it cannot be compiled into an executable program.

Pseudocode is a more basic type of an algorithm that incorporates some natural language to improve the understandability of high-level programming constructs or to make them more human-friendly.

It uses short terms or simple English language syntaxes to write code for programs before it is actually converted into a specific programming language.

Example 1 :

``````If student's grade is greater than or equal to 60
Print "passed"
else
Print "failed".``````