Copyright 2001 (c) Logic Code Generator Ltd; You must not take information from this web page and reuse without the owner's permission!


There is a difference in the use of the terms "Algorithm" and "Program control logic". This is even more so in the area of Theoretical Analysis of computer algorithms. I was doing some research at one point and I made a claim that I had discovered a new algorithm for solving a problem. I wrote up the solution and gave it to my supervisor. He had a quick look at it and then tells me that he does not understand it and that I should do a proper explanation. I did a re-explanation in writing and then resubmit. Again, he said that he did not understand it and that I should properly explain it. I offer to submit a working program with a flowchart to explain but he said he did not want a flowchart or a program. Only an explanation would do. You see, a proper explanation allows correct theoretical analysis. Get a free tutorial version of LogicCoder for ANSI C++ and BASIC.

Algorithms are usually more attached to a specific logic problem whereas a Control Logic is more attached to a device on which an algorithm is to be implemented. You can use a flowchart to illustrate a control logic as well as an algorithm..


Flowcharting is the art of illustrating program algorithms graphically using standard symbols and their interconnection. A program algorithm is the sequence of logical steps that must be executed on a machine in order to derive the solution to a programming problem.

There is no known standard accepted technique that restricts the design of program flowcharts using standard flowcharting symbols. In LogicCoder there are restrictions that the user must follow before program code can be generated by the system from a design. These restrictions may appear to be counterproductive when deriving the design for certain programming problems. In this case, the programming problem is usually trivial in nature. However, years of teaching and programming experience have shown that the advantages from the approach used in LogicCoder strongly outweigh the disadvantages. These rules ensure that all control logic structures are well defined, can be easily identified, edited or abstracted. In later version of LogicCoder we show how these rules are developed further to create data flow diagrams and for identification of parallelism in an algorithm. Hence, LogicCoder provides facilities for you to convert elements of a uni-processor algorithm to a parallel system. We define a uni-processor algorithm as an algorithm which when implemented on a Digital Computer System under the Stored Program Concept is executed in time sequence as determine by its flow of control logic. At any instance in time, the system is executing only one intended instruction or group of instructions associated with the flowchart logic. Each symbol in a flowchart except connectors and lines represents a process that can be implemented on a digital computer that operates under the stored program concept. In this system of flowcharting, there are only three basic kinds of control logic structures



Structured program flowcharts are those program flowcharts that are designed to illustrate the control logic of a program with the use of fundamental principles that implement the following atomic control structures:

1. Sequence - for executing a list of processes in time order. The two predefine symbols can represent any other complex processes such as other sequences or control structures consisting of loops or case structures as explained below.

2. Loop - for repetitive processing in time order and and in control of a test condition. The loop control logic allow the same processing to be applied to a whole set of data values in order to arrive at a given solution for a processing problem. You can also have a sequence or another loop within the body of a loop or you can have a case structure.

3. Case - for making decisions on alternative or complex selection processing. There are more complex forms of the case structure and there are specialized forms for doing multiple or switch type selection in a computer program. Either or both arms can also have a sequence, a loop or other case structures.

1. Sequence 2. Loop 3. Case
Sequence of processes in a program Elements of the loop logic structure
Elements of the Case structure


Well folks! This is what program design is all bout! It is now up to you to make it as complex as you would like it to be.

Copy right © May 2002
Logic Code Generator Ltd

United Kingdom

You must not take information from this web page and reuse without the owner's permission!