A design technique that programmers use to break down an algorithm into modules is known as

The Tradition of Sharing

Help your friends and juniors by posting answers to the questions that you know. Also post questions that are not available.


Why should I post the question or an answer?

To start with, Sr2Jr’s first step is to reduce the expenses related to education. To achieve this goal Sr2Jr organized the textbook’s question and answers. Sr2Jr is community based and need your support to fill the question and answers. The question and answers posted will be available free of cost to all.


The pleasure of all reading is doubled when one lives with another who shares the same. -Katherine Mansfield


A real-life problem is complex and big. If a monolithic solution is developed it poses these problems −

  • Difficult to write, test and implement one big program

  • Modifications after the final product is delivered is close to impossible

  • Maintenance of program very difficult

  • One error can bring the whole system to a halt

To overcome these problems, the solution should be divided into smaller parts called modules. The technique of breaking down one big solution into smaller modules for ease of development, implementation, modification and maintenance is called modular technique of programming or software development.

Advantages of Modular Programming

Modular programming offers these advantages −

  • Enables faster development as each module can be developed in parallel

  • Modules can be re-used

  • As each module is to be tested independently, testing is faster and more robust

  • Debugging and maintenance of the whole program easier

  • Modules are smaller and have lower level of complexity so they are easy to understand

Identifying the Modules

Identifying modules in a software is a mind boggling task because there cannot be one correct way of doing so. Here are some pointers to identifying modules −

  • If data is the most important element of the system, create modules that handle related data.

  • If service provided by the system is diverse, break down the system into functional modules.

  • If all else fails, break down the system into logical modules as per your understanding of the system during requirement gathering phase.

For coding, each module has to be again broken down into smaller modules for ease of programming. This can again be done using the three tips shared above, combined with specific programming rules. For example, for an object oriented programming language like C++ and Java, each class with its data and methods could form a single module.

Step-by-Step Solution

To implement the modules, process flow of each module must be described in step by step fashion. The step by step solution can be developed using algorithms or pseudocodes. Providing step by step solution offers these advantages −

  • Anyone reading the solution can understand both problem and solution.

  • It is equally understandable by programmers and non-programmers.

  • During coding each statement simply needs to be converted to a program statement.

  • It can be part of documentation and assist in program maintenance.

  • Micro-level details like identifier names, operations required, etc. get worked out automatically

Let’s look at an example.

A design technique that programmers use to break down an algorithm into modules is known as

Control Structures

As you can see in the above example, it is not necessary that a program logic runs sequentially. In programming language, control structures take decisions about program flow based on given parameters. They are very important elements of any software and must be identified before any coding begins.

Algorithms and pseudocodes help analysts and programmers in identifying where control structures are required.

Control structures are of these three types −

Decision Control Structures

Decision control structures are used when the next step to be executed depends upon a criteria. This criteria is usually one or more Boolean expressions that must be evaluated. A Boolean expression always evaluates to “true” or “false”. One set of statements is executed if the criteria is “true” and another set executed if the criteria evaluates to “false”. For example, if statement

Selection Control Structures

Selection control structures are used when program sequence depends upon the answer to a specific question. For example, a program has many options for the user. The statement to be executed next will depend on the option chosen. For example, switch statement, case statement.

Repetition / Loop Control Structures

Repetition control structure is used when a set of statements in to be repeated many times. The number of repetitions might be known before it starts or may depend on the value of an expression. For example, for statement, while statement, do while statement, etc.

A design technique that programmers use to break down an algorithm into modules is known as

As you can see in the image above, both selection and decision structures are implemented similarly in a flowchart. Selection control is nothing but a series of decision statements taken sequentially.

Here are some examples from programs to show how these statements work −

A design technique that programmers use to break down an algorithm into modules is known as

A design technique that programmers use to break down an algorithm into modules is known as

When module can modify the argument in the calling part of the program?

When an argument is passed by reference, the module can modify the argument in the calling part of the program. T or F: Passing an argument by value is a means of establishing two-way communication between modules.

Does calling a module and defining a module mean the same thing?

Calling a module and defining a module mean the same thing. A flowchart shows the hierarchical relationships between modules in a program. A hierarchy chart does not show the steps that are taken inside a module. A statement in one module can access a local variable in another module.

What are algorithms used for quizlet?

A sequence of logical instructions for carrying out a task. In computing, algorithms are needed to design computer programs."

What is a group of statements that exists within a program for the purpose of performing a specific task?

A function is a group of statements that exist within a program for the purpose of performing a specific task.