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

LogicCoder Tutorial 1 of 7: PROGRAM FLOWCHART SYMBOLS

In this web page I attempt to help you understand the basic concepts and principles on which LogicCoder is built. With this knowledge, you will find it easier to appreciate the way LogicCoder works and your learning curve should be easier to climb. There are also useful information about Computer Program Flowchart, Program Logic Control Structures and the Program Development cycle.

A Program Flowchart Symbol is a graphical representation of a of a categorical activity that can take place at a given point in time during the run of a program on a computer system. The use of flowchart symbols for creating and communicating flowchart documents have been standardised. Hence, there are standard symbols to be used when making a flowchart to communicate a program algorithm.

LogicCoder uses standard ISO Flowchart symbols. LogicCoder also uses additional"compound" symbols that the user can fragment when quickly drawing a program flowchart. There are Structured rules that a user must follow when using LogicCoder to draw the control logic of a program in a flowchart. Similarly, logicExtractor expects the implementation code in a source program to follow standard syntax and semantics rules for the programming language. LogicExtractor will use a properly written source program to generate a structured flowchart presented in a consistent and neat screen layout using standard ISo flowchart symbols.

In this Tutorial you will learn about (1) What program Flowcharting is and its relationship to the control logic of a computer program (2) Basic Elements of a structured program control logic, (3) The advantages/disadvantages of using flowcharts to illustrate a control logic and (4) Standard ISO Flowcharting symbols and Flowcharting symbols used by LogicCoder.


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. Click HERE for a free tutorial version of LogicCoder for ANSI C/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.


This section gives a concise introduction to the concepts and principles of flowcharting as a means for illustrating program algorithms to be executed on digital computer systems. The main objective is to help you understand the basic principles on which LogicCoder operates and to provide you with a conceptual guide for design of your program algorithms. This on-line documentation is not intended to be a detailed practical guide. Reference sources that gives more practical learning material including programming language concepts and design techniques are given at the link to additional learning resources.


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

  1. Sequence - for executing a list of processes in time order
  2. Loop - for repetitive processing in time order and
  3. Case - for making decisions on alternative or complex selection processing

The manner in which these restrictions are implemented in LogicCoder are hinted at in the rules given in the following sections.


I have listed here, some of the advantages from using flowcharts.

  • They are self-documenting.
  • Allow easy review and maintenance of a software system. This results in less time spent on debugging
  • Helps to develop reusable algorithmic structures hence they are useful for identifying the logic of generic systems. Hence they help the user to develop concise generalise algorithmic solutions to similar problems.
  • Force careful and concise solution to the logic of a program problem.
  • A simplified consistent means for developing program logic


You show the flow of program control in a flowchart by connecting flowcharting symbols together in a systematic manner. Each non-line symbol except for connectors in the flowchart represents some processing to be done at that point in the program. Each symbol represents a specific kind of operation that can be done on the computer. The symbols illustrated below does not exhaust those used in many technical documentation on computer systems. Symbols used in some documentation are appropriate to the kind of operations on computer systems they are intended to represent. The set of flowchart symbols illustrated below are appropriate to the kind of operations implemented by LogicCoder. However, LogicCoder has variant of these symbols that represents operations unique to LogicCoder. The most commonly used flowcharting symbols and a brief explanation of their use is listed below.



Indicates process such as calculation, Data movement or any other kind of internal processing that affects the value of data in a program.

Program flowchart Input/Output symbol

Indicates the point in the program where data is made available to the program through some input device or where processed data is made available for output from the program. LogicCoder provides additional Input/Output and Process symbols that can be used to illustrate more complex or specific kinds of Input/Output or Process operations in a flowchart.

Program flowchart Decission symbol

Shows the point in the program execution sequence where a jump takes place base on the outcome of a tested condition. In LogicCoder, Decision symbols are used only for establishing loops, case and switch-case structures.

Program flowchart Connector symbol

Shows the exit from a case, a switch-case control structure or a common point where two or more control logic merges to create a single flow path. LogicCoder uses two concentric circles to distinguish a normal connector from a Switch Case connector. The Switch Case connector is illustrated and explained below.

Program Flowchart Terminal symbol

Shows the start or end point in the flow of control logic in a single flowchart. A complete flowchart must always have only one terminal symbol that indicates its beginning and a terminal symbol that indicates its termination. LogicCoder looks for a terminal symbol that indicates the start of the flowchart when doing an interconnection operation.

Program Flowchart Predefine symbol

Shows a series of predefined processes that can be encapsulated as a single process and therefore represented as a subroutine, i.e. function, procedure or method. LogicCoder also uses the predefine symbol to represent an abstracted control structure. The detailed logic of the control structure is preserved.

Program Flowchart Internal Storage symbol

Shows an output operation where data is stored internally on the computer system. This storage is usually on a mass storage device such as a Hard disk or CD ROM. LogicCoder does not use this symbol.

Program Flowchart Page Connector symbol

Used in multi-page documents to show the point in the program logic where control is pass from the logic on a given page to the logic on another page. Use this symbol when you need to restrict the size of your flowchart document. This may be due to the fact that you ant to print your flowchart on a printer that is restricted. However, LogicCoder will not be able to connect a flowchart that uses the off-page connector symbol.

Flow of control arrows

Shows the flow of program control or data flow. Flow-lines can have any one of four directions. LogicCoder does not use arrows to determine the flow of control logic in a flowchart. The way this is done is explain further on in the manual. LogicCoder provides a function that you can use to see the flow of control logic in a flowchart as determine by LogicCoder.

Program Flowchart Comment symbol

Used to show points in the program logic where comments are written for the purpose of internal documentation. LogicCoder insert comments written in this symbol into the generated source program.


Special compound symbols used by LogicCoder

Loop Decision symbol

A Loop Decision constitute the Entry/Exit point to a loop control structure. You use the Loop Decision symbol to quickly draw this point in a flowchart. You must then use the Fragment Structure function in LogicCoder to break this symbol into its constituent.

Case Decision symbol

A case decision constitute the entry point to the case structure. Use this symbol whenever you want to quickly draw a case structure in a flowchart. Use the Fragment Structure function to break this symbol into its constituent before you try to write a source program with LogicCoder.

Exit Connector symbol

The Exit Connector is the exit point in a case or Switch-Case structure. A Case or Switch-Case structure must always have only one exit point indicated by the exit connector. Use the Fragment Structure function to break this symbol into its constituent before you try to write a source program with LogicCoder.


LogicCoder uses additional symbols. These symbols are usually composite or variant of existing symbols. Therefore, their usage and meaning is easy to follow and understand. Composite flowchart symbols are also called compound symbols. LogicCoder provides function that allows you to fragment a compound symbol into its constituent. Composite symbols are useful for drawing large or complex flowcharts quickly. The variant symbols are listed below.



There are only three atomic structures from which any other kinds or forms of more complex structures can be developed! These are listed as follows:


An Explanation
Basic Form

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.

Sequence of processes in a program



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.

Elements of the loop logic 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.

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. Here is a link to some more practical illustration on the use of flowcharts to solve programming problem. The meterials here are easier to use/learn with!

We have special variation of each of these three basic control elements. For example, a select case structure is a more complex but special form of the case structure. Any program implemented on a digital computer system by way of the stored program concept can be abstracted as a sequence of processes in time order. All loops have the same basic elements but can be used to implement complex processing consisting of other control elements such as a case structure or other loops

The manner in which these restrictions are implemented in LogicCoder are hinted at in the rules given in the following sections.

Select a version of LogicCoder for purchase.





Home | Contact us | Online Service | Links