How to set up smartphones and PCs. Informational portal
  • home
  • Reviews
  • Algorithm block diagram designations. Creating a simple flowchart

Algorithm block diagram designations. Creating a simple flowchart

Nowadays, every designer and programmer is faced with the construction of various kinds of diagrams and flowcharts. When information technology had not yet occupied such an important part of our life, the drawing of these structures had to be done on a sheet of paper. Fortunately, all these actions are now performed using automated software installed on the user's computer.

It is quite easy to find a huge number of editors on the Internet that provide the ability to create, edit and export algorithmic and business graphics. However, it is not always easy to figure out which application is needed in a particular case.

Due to its multifunctionality, a product from Microsoft can be useful both for professionals who have been building various structures for more than one year, and for ordinary users who need to draw a simple diagram.

Like any other program from the Microsoft Office series, Visio has all the tools necessary for comfortable work: creating, editing, connecting and changing additional properties of shapes. A special analysis of the already built system has also been implemented.

Dia

The second place in this list is quite rightly located Dia, which contains all the functions necessary for a modern user to build circuits. In addition, the editor is distributed free of charge, which makes it easy to use for educational purposes.

A huge standard library of forms and relationships, as well as unique capabilities not offered by modern counterparts - this awaits the user when contacting Dia.

Flying Logic

If you are looking for software with which you can quickly and easily build the necessary circuit, then the Flying Logic software is exactly what you need. It lacks a cumbersome complex interface and a huge amount of visual settings for diagrams. One click - adding a new object, the second - creating a union with other blocks. You can also combine elements of the diagram into groups.

Unlike its counterparts, this editor does not have a large number of different forms and relationships. Plus, there is the possibility of displaying additional information on the blocks, which is described in detail in the review on our website.

BreezeTree Software FlowBreeze

FlowBreeze is not a standalone program, but a plug-in to a stand-alone module that greatly facilitates the development of diagrams, flowcharts and other infographics.

Of course, FlowBreeze is software mostly intended for professional designers and the like, who understand all the intricacies of functionality and understand what they are giving their money for. It will be extremely difficult for average users to understand the editor, especially given the interface in English.

Edraw max

Like the previous editor, Edraw MAX is a product for advanced users who are professionally involved in such activities. However, unlike FlowBreeze, it is a standalone software with countless possibilities.

Edraw is very similar in interface style and work. It is not for nothing that they call him the main competitor of the latter.

AFCE Algorithm Flowcharts Editor

This editor is one of the least common among those presented in this article. This is due to the fact that its developer - an ordinary teacher from Russia - completely abandoned the development. But his product is still in some demand today, since it is perfect for any schoolchild or student who is studying the basics of programming.

In addition to this, the program is completely free, and its interface is made exclusively in Russian.

FCEditor

The concept of the FCEditor program is fundamentally different from the others presented in this article. First, the work takes place exclusively with algorithmic block diagrams, which are actively used in programming.

Secondly, the FSEDitor builds all structures independently, in an automatic mode. All the user needs is to import the ready-made source code in one of the available programming languages, and then export the code converted to the schema.

BlockShem

Unfortunately, BlockShem offers far fewer features and user-friendliness. Automation of the process in any form is completely absent. In BlockScheme, the user must manually draw the shapes, and then combine them. This editor is more likely to be a graphical one, rather than an object one, intended for creating diagrams.

The library of shapes, unfortunately, is extremely poor in this program.

As you can see, there is a large selection of software for building block diagrams. Moreover, applications differ not only in the number of functions - some of them imply a fundamentally different principle of operation, distinct from analogues. Therefore, it is difficult to advise which editor to use - everyone can choose exactly the product that he needs.

A flowchart is a graphical representation of a process that clearly shows the systematic sequence of all stages of the task, as well as all the groups that are involved in this process. Such a scheme is a system of graphic symbols (blocks) and transition lines (arrows) between them. Each of these blocks corresponds to a specific step in the algorithm. Inside such a symbol, a description of the action is given.

What are block diagrams used for?

These systems are designed to perform the following functions:

Design a new process;

Describe and document the current algorithm;

Develop modifications to this process or investigate links with the likely occurrence of errors and failures;

Determine when, where and how the current algorithm can be changed in order to check the stability of the entire system.

Development of a sequence of operations

Any block diagram is built on the basis of an action algorithm that describes the operation of a device or program. Therefore, the system itself is first built. "Algorithm" refers to the description of the sequence of operations for solving a given problem. In fact, these are the rules for performing the necessary processes.Before starting to build an algorithm, it is necessary to clearly define the problem: what needs to be obtained as a result, what initial information is needed, and what is already available, are there any restrictions for obtaining it. After that, a list of actions is drawn up that must be carried out to obtain the desired result.

Algorithm types

In practice, the following types of block diagrams are most often used:

Graphic, that is, they are based on geometric symbols;

Verbal: compiled using ordinary words of a particular language;

Pseudocodes: represent a semi-formalized description that includes elements of a programming language and literary phrases, as well as generally accepted mathematical symbols;

Software: only programming languages ​​are used for recording.

Device block diagram: description

A graphical representation of a sequence of actions includes an image of an algorithm describing the connections of functional blocks of a given diagram, which correspond to the execution of one or more actions. The block diagram of the array consists of individual elements, the dimensions and construction rules of which are determined by the state standard. For each type of action (data entry, calculation of expression values, checking conditions, controlling the repetition of actions, finishing processing, etc.), there is a separate one presented in the form of a block. These symbols are connected by lines that define the sequence of actions.

The main elements used in drawing up flowcharts

The complete list of graphic symbols used to describe the algorithm consists of 42 elements. We will not give all of it, but consider only the main thing.

Elements of the block diagram:

1. Process means a computational action or a sequence of such actions that change the values, data placement or form of presentation. For clarity of the diagram, such elements can be combined into one block. This symbol has the form of a rectangle, inside which comments are written, accompanying the execution of an operation (or a group of operations).

2. Solution. This block is used to indicate the transition of control on a certain condition. Each such element specifies the question, comparison, or condition that defines it. In other words, a decision is a choice of direction for the execution of a program or algorithm depending on some variable condition. The graphical appearance of this element is a diamond. The aforementioned symbol can be used as an image of the following unified structures: choice, full and incomplete fork, cycle "before" and "bye".

3. Modification. This block marks the beginning of the cycle. It is used to organize a cyclic structure. Inside such an element, the parameter of the circle of actions is recorded, its initial values, the boundary condition, and also the step of changing the parameter for subsequent repetition are indicated. In other words, modification is the execution of changing commands or their groups, operations that change the program. The graphic representation of this symbol is a hexagon.

4. Predefined process means calculation according to a given or standard program. It is used to indicate access to an auxiliary algorithm, which exists autonomously in the form of separate independent modules, as well as to refer to library routines. Graphically, the appearance of this symbol is represented by a rectangle with two vertical margins along the edges. This element is used to indicate calls to functions, procedures, program modules.

5. Input-output of data in general form.

6. Start and stop. This element means the beginning and end of the algorithm, as well as entering and exiting the program. Graphically, this symbol resembles a rectangle, which has arcs instead of side lines.

7. Document means the output of the results of work to print. Graphically, such an element resembles a rectangle, only a half-wave is drawn instead of the lower straight line.

8. Manual input means the start of data in the process of processing by the operator using a device that is paired with a computer (keyboard). The graphic symbol for manual input is a quadrilateral with the side lines parallel, the lower one perpendicular to them, and the upper oblique.

9. Display means the input or output of information in the case when the device is directly connected to the processor. The moment the data starts playing, the operator can make changes while it is being processed. Graphically, this element represents a figure in which the lower and upper lines are parallel, the right one is an arc, and the left one consists of two straight lines in the form of an arrow.

10. Flow lines are arrows that indicate the sequence of links. No block diagram of the structure can do without this element. There are certain rules for the style of these symbols. Let's list them:

These elements must be parallel to the outer perimeter lines or the borders of the page on which this block diagram is depicted;

The direction of the line from top to bottom or from left to right is considered the main one, it is not indicated by arrows, other cases of directions are indicated by them;

Changing the direction of this element is made only at an angle of 90 °.

11. Connector. This element is intended to indicate communication on interrupted flow lines. These symbols are used when the block diagram of the program is built from several parts. Then the flow line from one part should end with a “connector”, and the new part should start with this symbol. The same serial number is placed inside such an element. The graphical representation of the "connector" is a circle.

12. Interstitial connector. The purpose of this element is similar to the previous one, only it is used to connect block diagrams located on different pages. The image of such an element is represented by a pentagon in the form of a house.

13. Commentary is the relationship between the various elements of the explanatory flowchart. This element allows you to include formulas and other information.

Building block diagrams

A graphical construction of an algorithm is a part of the documentation for a device or program, which is always available in abundance. However, in most cases, software doesn't need a block diagram at all. Only a few require the construction of an algorithm that takes up several sheets, while the rest are quite symbolic. A simple block diagram shows the structure of program branching in only one aspect. However, even such a structure is clearly visible only if the algorithm fits on one sheet. In the opposite case, when the flowchart is located on several pages connected by page transitions, it is very difficult to get the right idea about it. If it is placed on one sheet, then for a large program this image of the algorithm turns into its general plan with a list of the main blocks and stages. Of course, such a schedule does not follow schematic standards, but it does not need them, since the process is completely individual. The rules regarding the type of symbols, arrows, and numbering order are only necessary for parsing detailed block diagrams.

Arrays and Algorithm Building

An array is a collection of information of the same type that is stored in sequential memory clusters and has a common name. Such cells are called "system elements". All clusters are numbered in order. This number is called the "array element index". How to create a block diagram for such a system? Let's consider an example of creating an algorithm for an elementary type. The simplest system is conventionally in the form of a string. Let's set a name for this array - "A". Let's assume that our system consists of eight cells (from 1 to 8). Each of these clusters contains a random number called an "array element". To refer to a specific cell, you must specify the name in (). Let's consider an example in which the block diagram of an array is designed to fill the system with random numbers and then display the information on the screen. What is such an algorithm? This is an elementary system. In fact, it has no practical application, but it is convenient for the educational process. The block diagram under consideration (an example of construction is described below) contains only seven main elements connected by transition lines.

Description of the task execution sequence

1. The first element of the diagram will be the "Start" symbol.

2. The second block is "Process", inside which we enter "random initialization".

3. The next element is "Modification", in the block we enter the value of the array cells.

4. Further, according to the specified function, there is a redirection to the next block of the "process", in which the call to specific clusters of the system is set, indicating the limitation of random numbers in the range from zero to one hundred. After carrying out this operation, there is a return to the third block, and through it - further to the fifth.

5. In this block "Modifications", according to the entered function, there is a redirection to the next element.

6. "Output" displays information about the new contents of the array on the monitor with the subsequent direction to the previous block. Next - to the last element.

7. "End" of the algorithm.

On the basis of such a block diagram, a program is drawn up that will ensure the operation of the presented algorithm.

"Flowchart Editor"

If you are wondering how to draw up a flowchart, then be aware that there are special programs that are designed to create and edit such systems. The convenience of the graphical display of the algorithm is that the user is not tied to the syntax of a specific programming language. The constructed block diagram is equally suitable for all languages ​​(for example, C, Pascal, BASIC and others). In addition, the editor can be used to build diagrams and check the health of circuits. Such a program is specialized software. It provides a diverse set of tools necessary for building block diagrams, which makes it more convenient than usual. Additional options allow you to optimize the process of composing a system with its further transformation into functions and procedures of a programming language. In addition, the flowchart editor offers a set of templates that can significantly speed up the work of a novice user. After all, it is known that when building an algorithm, repetitive structures are often used, for example, various versions of cycles, alternatives (complete and incomplete), multiple branches, etc. The editor allows you to select elements frequently used in flowcharts and add them to the created diagram. This eliminates the need to draw them anew each time. In addition, using the editor, you can import functions and procedures implemented in any known programming language. This option is useful for parsing the structure of an algorithm written in an unfamiliar language. The system requirements of the program in question are quite modest, which allows you to use it on any

Conclusion

Summing up, it should be noted that the detailed schemes for constructing algorithms are already outdated. As a description of the process, they are not interesting to anyone. At best, flowcharts are suitable for teaching beginners who cannot think algorithmically. The elements proposed at one time with their content were a high-level language, they united the operators of the machine language into separate groups. At the moment, each graphic element corresponds to a specific operator. This means that the symbol itself has turned into a random, and most importantly, a useless drawing lesson, which can easily be abandoned. Today, even transition lines have become superfluous, since each operator has already been defined. In fact, the graphical construction of algorithms is more praised than applied in practice. A highly experienced programmer rarely draws a block diagram before writing a program. When the standard of the organization requires a graphical algorithm, then they draw it after the end of the work.

Strictly speaking, the term "block diagram" does not exist. Instead of this phrase, it is correct to say "algorithm scheme", but now that is not the case. My article is about whether it is possible to quickly and conveniently draw algorithms, while also making it free. It would be great if there was a free analogue of the online editor Gliffy, and luckily for us there is.

The algorithms in Pencil are very easy to draw. For this there is a dedicated library of primitives with building blocks and connectors. It looks like this:

When you draw blocks, they snap automatically to the grid, making them easy to align. Having drawn one block, another block can be "magnetised" to it from below or from the side, everything will be smooth.

If you hover over a block and click the mouse once, there will be a mode of resizing the block and dragging. If you click a second time, the block can be rotated (round red dots will appear at the edges).

The basic basic features are available, almost like in Visio: blocks can be combined into groups, dragged and copied, placed above or below in layers, connectors magnetically to the center, etc.

Disadvantages are also present, for example, the corner connector does not work very correctly: it sometimes transforms into an unimaginable zigzag when you try to select and drag it. But these drawbacks are so insignificant that they did not prevent Pencil from taking its rightful place in my collection of everyday developer tools.

Algorithm- an exact finite system of rules described in a certain language that determines the content and order of actions on some objects, the strict implementation of which gives a solution to the problem. The concept of an algorithm, which is fundamental in mathematics and computer science, arose long before the advent of computer technology. The word "algorithm" appeared in the Middle Ages, when Europeans got acquainted with the methods of performing arithmetic operations in the decimal number system, described by the Uzbek mathematician Muhammad bin Al-Khorezmi. The word algorithm is the result of the European pronunciation of the words Al-Khorezmi. Initially, the algorithm was understood as a way of performing arithmetic actions on decimal numbers. In the future, this concept began to be used to denote any sequence of actions leading to the solution of the task. Any algorithm does not exist by itself, but is intended for a specific performer (human, robot, computer, programming language, etc.). algorithm "is very similar to the meanings of the words" recipe "," method "," process ". However, unlike a recipe or process, an algorithm has the following properties:

discreteness, mass character, definiteness, effectiveness, a formality.

Discreteness(discontinuity) is a property of an algorithm that characterizes its structure: each algorithm consists of separate complete actions, they say, "Divided into steps."

Mass character- applicability of the algorithm to all problems of the type under consideration, for any initial data. For example, an algorithm for solving a quadratic equation in the field of real numbers must contain all possible outcomes of the solution, i.e., having considered the values ​​of the discriminant, the algorithm finds either two different roots of the equation, or two equal, or concludes that there are no real roots.

Certainty(determinism, accuracy) - a property of an algorithm indicating that each step of the algorithm must be strictly defined and not allow for different interpretations. Also, the order of performing the individual steps must be strictly defined.

Effectiveness- the property that any algorithm must complete in a finite (may be very large) number of steps. Formality - this property indicates that any performer who is able to perceive and execute the instructions of the algorithm, acts formally, i.e. is distracted from the content of the task and only strictly follows the instructions. To argue "what, how and why?" the developer of the algorithm must, and the executor formally (without thinking) alternately executes the proposed commands and gets the required result.

1.2.Description methods (types) of algorithms.

Consider the following ways to describe the algorithm: verbal description, pseudocode, block diagram, program.

Verbal description represents the structure of the algorithm in natural language. For example, any household appliance (iron, electric saw, drill, etc.) has an instruction manual, i.e. a verbal description of the algorithm in accordance with which this device should be used. There are no rules for composing a verbal description. The algorithm is written in an arbitrary form in a natural language, for example, Russian. This method of description is not widespread, since it is not strictly formalized (“formal” means that the description is absolutely complete and takes into account all possible situations that may arise in the course of the decision); allows for ambiguity of interpretation when describing some actions; suffers from verbosity.

Pseudocode- a description of the structure of the algorithm in a natural, partially formalized language, which makes it possible to identify the main stages of solving the problem, before writing it down exactly in the programming language. The pseudocode uses some formal constructs and common mathematical notation. There are no strict syntax rules for writing pseudocode. This makes it easier to write the algorithm when designing and allows you to describe the algorithm using any set of commands. However, pseudocode usually uses some of the constructs inherent in formal languages, which makes it easier to move from pseudocode to writing an algorithm in a programming language. There is no single or formal definition of pseudocode, therefore various pseudocodes are possible, differing in the set of used words and constructions.

Block diagram- description of the structure of the algorithm using geometric figures with lines-links showing the order of execution of individual instructions. This method has several advantages. Due to its clarity, it provides the "readability" of the algorithm and clearly displays the order of execution of individual commands. In the block diagram, each formal structure corresponds to a certain geometric figure or a set of figures connected by lines.

Descriptions of the algorithm in verbal form, in pseudocode, or in the form of a block diagram allow some arbitrariness in the presentation of commands. At the same time, they are so sufficient that it allows a person to understand the essence of the matter and execute the algorithm. In practice, computers are the executors of the algorithms. Therefore, an algorithm intended for execution on a computer must be written in a language "understandable" to it, such a formalized language is called programming language.

Program- description of the structure of the algorithm in the language of algorithmic programming.

Defining algorithms using flowcharts has proven to be a very convenient means of depicting algorithms and has become widespread.

Block diagram algorithm - a graphical representation of the algorithm in the form of interconnected by means of arrows (transition lines) and blocks- graphic symbols, each of which corresponds to one step of the algorithm. A description of the corresponding action is given inside the block.

The table shows the most frequently used symbols.

Symbol name

Designation and example of filling

Explanation

Computational action or sequence of actions

Checking conditions

Modification

Cycle start

Predefined process

Calculations by subroutine, standard subroutine

Input Output

General I / O

Start-stop

Beginning, end of algorithm, entry and exit to a subroutine

Document

Output of results

Flowchart Symbols

Block " process»Is used to indicate an action or a sequence of actions that change the meaning, form of presentation or placement of data. To improve the clarity of the diagram, several separate processing blocks can be combined into one block. Representation of individual operations is fairly free.

Block " solution"Is used to indicate conditional control transitions. Each block "solution" must indicate the question, condition or comparison that it defines.

Block " modification»Is used to organize cyclic structures. (The word "modification" means "modification, transformation"). The loop parameter is written inside the block, for which its initial value, boundary condition and step of changing the parameter value are specified for each repetition.

Block " predefined process»Is used to indicate calls to auxiliary algorithms that exist autonomously in the form of some independent modules, and for calls to library routines.

As an example, we present the block diagrams of the algorithm for finding the maximum of two values:

In this lesson, we will analyze in practice: how to compose algorithms of different types, as well as how to "read" an algorithm using a ready-made flowchart.

The following situations are possible: at the moment when we approached the road, a red or green light was on. If the green light was on, then you can cross the road. If the red light was on, then you need to wait for the green one - and then cross the road.

Thus, the algorithm looks like this:

  1. Go to the traffic light.
  2. Look at its light.
  3. If it is green, then cross the road.
  4. If the red light is on, then wait until the green light is on, and then cross the road.

The block diagram of this algorithm is as follows:

Rice. 3. Block diagram for example 2.

Drawing up cyclic algorithms

Let's consider an example of drawing up a cyclic algorithm. We have already discussed converting numbers from decimal to binary several times. Now is the time to clearly articulate this algorithm.

Recall that its principle is to divide a number by 2 and record the remainders resulting from the division.

Example 3. Create an algorithm for converting numbers from decimal to binary.

That is, the algorithm will look like this:

  1. If the number is 0 or 1, then this will be its binary representation.
  2. If the number is greater than 1, then we divide it by 2.
  3. We write the resulting remainder of the division into the last bit of the binary representation of the number.
  4. If the resulting quotient is 1, then we add it to the first bit of the binary representation of the number and stop computing.
  5. If the resulting quotient is greater than 1, then we replace the original number with it and return to step 2).

The block diagram of this algorithm looks like this:

Rice. 4. Block diagram for example 3.

Note: Consider if you can somehow simplify the above flowchart.

"Reading" algorithms

Example 4. According to the given flowchart, perform the actions of the algorithm for the number 23.

Rice. 5. Block diagram for example 4.

In this lesson, we examined examples of composing algorithms, as well as an example of "reading an algorithm" according to a ready-made flowchart.

In the next lesson, we will discuss games and winning strategies.

How to kill Koschei?

Probably everyone remembers a fairy tale from childhood, which tells about the whereabouts of the death of Koshchei the Immortal: “My death is at the end of the needle, which is in the egg, the egg is in the duck, the duck is in the hare, the hare is sitting in the chest, the chest is firmly closed and buried under the largest oak tree on the Buyan island, in the middle of the sea-okey ... "

Rice. 6. Koschey the Immortal and Vasilisa the Wise ().

Suppose, instead of Ivan Tsarevich, Ivan the Fool was thrown to fight Koshchei. Let's help Vasilisa the Wise compose such an algorithm so that even Ivan the Fool could kill Koschei.

  1. Of course, you first need to find the Buyan Island (we will assume that Ivan the Fool is capable of such things).
  2. Since the chest is buried under the largest oak tree, you first need to find the largest oak tree on the island.
  3. Then you need to dig up the chest itself.
  4. Before you get the hare, you need to break a strong lock.
  5. Now you can get the hare.
  6. You need to get a duck from the hare.
  7. Get the egg from the duck.
  8. Break the egg and take out the needle.
  9. Break the needle.

This is also a linear algorithm, albeit longer than the one for starting Paint.

Its block diagram looks like this:

Rice. 7. Block diagram.

At the crossroads…

And again, let's turn to fairy-tale characters in search of examples of various algorithms. When it comes to algorithms with branching, then, of course, one cannot but recall the hero standing at a crossroads near a stone.

Rice. 8. Bogatyr at the crossroads ().

The stone says:

“If you go to the right, you will lose your horse, you will save yourself; if you go to the left, you will lose yourself, you will save the horse; if you go straight, you will lose yourself and your horse. "

Let's try to compose an algorithm of actions, which was compiled by the author of the inscription on the stone for travelers?

  1. If we go to the right, we will lose our horse. If we do not go to the right, then we are left with two options (we believe that the traveler will not return back): go straight and to the left.
  2. If we go to the left, we will lose ourselves, and we will save the horse.
  3. If we go straight, we will lose both ourselves and the horse.

The block diagram of this algorithm looks like this:

Rice. 9. Block diagram.

Turnip

Russian folk tales did not leave us without a cyclic algorithm. And, oddly enough, he hid in one of the most uncomplicated fairy tales - "The Turnip".

Rice. 10. Turnip.

Let us recall the plot of a fairy tale: the grandfather pulls, pulls - he cannot pull. Then new characters come to the aid of the grandfather in turn - and so on until the mouse comes.

Let's try to compose an algorithm for the actions of all the characters in the fairy tale so that they can still pull the Turnip.

  1. Initially, the grandfather approached the Turnip and tried to pull it out.
  2. Since it was not possible to pull the Turnip out, the help of the next character was needed.
  3. And this happens until the mouse appears (or, in other words, until the Turnip is pulled out).

As a flowchart, this algorithm looks like this:

Rice. 11. Block diagram.

  1. Bosova L.L. Informatics and ICT: Textbook for Grade 6. - M .: BINOM. Knowledge laboratory, 2012
  2. Bosova L.L. Informatics: Workbook for grade 6. - M .: BINOM. Knowledge laboratory, 2010.
  3. Bosova L.L., Bosova A.Yu. Informatics lessons in grades 5-6: Methodological guide. - M .: BINOM. Knowledge laboratory, 2010.
  1. Internet portal "Community of mutual assistance of teachers" ().
  2. Internet portal "Nsportal.ru" ().
  3. Internet portal "Festival of Pedagogical Ideas" ().
  1. §3.3, 3.4 (Bosova L.L. Informatics and ICT: Textbook for grade 6);
  2. Try to compose a linear algorithm of 5-6 figures by yourself;
  3. Make a flowchart of the cyclic algorithm for completing homework;

Top related articles