Flowcharts are diagrams that show the steps of a process. Simple flowcharts are easy to create, and because the shapes are simple and clear, they're also easy to read.

Note. You can also automatically create a simple flowchart from your data using the Data Visualizer in Visio. See Create diagrams with the Data Visualizer for more information.

The Simple Flow Diagram template in Visio contains shapes that you can use to visually represent a variety of processes. It is especially useful for displaying simple business processes, such as the proposal development process shown in the figure below.

In addition to the Simple Flowchart template, Visio provides a variety of more specific diagram templates, such as data flow diagrams, timelines, and software models.

Create a flowchart

    Launch the Visio application.

    Double click the icon Simple block diagram.

    To connect flowchart elements, hover over the first shape and click the arrow pointing to the shape you want to connect to. If the second shape is not next to the first, you need to drag the small arrow to the center of the second shape.

    To change the direction of the connector arrow, select the connection, and then on the tab in the group Shape styles click item Line Arrows and select the desired direction and type of arrow.

Automatic alignment and spacing

    Press CTRL+A to select all objects on the page.

    On the tab home in a group ordering press the button Position and select the item Auto alignment and spacing.

If this doesn't work, cancel it by pressing CTRL+Z and use the other button menu options alignment and Position.

What are flowcharts

When opening a template Simple block diagram the set of elements opens Simple flowchart shapes. Each figure in this set represents one or another step in the process. But the figures do not have any universal meaning, their meaning is determined by the creators and users of flowcharts. Most flowcharts use three or four kinds of figures, and this range is expanded only as needed.

At the same time, the names of shapes in Visio indicate their use. The most common shapes are described below.

What are flowcharts

Visio 2010 has many other, specialized stencils and shapes that you can use in your flowchart. See the article for more information on other shapes.

Note: Can't find the shape you want? For more information about how to find other shapes, see Organize and find shapes using the Shapes window.

Create a flowchart

    Open a tab File.

    Tab File not displayed

    If tab File is not displayed, continue to the next step in the procedure.

    Choose a team Create and paragraph block diagram and then in the list Available Templates select item Simple block diagram.

    Click the button Create.

    For each step in the process you are documenting, drag the appropriate flowchart shape into your document.

    Note: For information about using shapes to represent each step in the process, see .

    By default are used rectangular

    Straight connecting lines

    To return to normal editing on a tab home in a group Service press the button Pointer.

    To add text to a shape or connector, select it and enter text. When you have finished entering text, click in an empty area of ​​the page.

    To change the direction of the connector arrow, select the connection, and then in the group, click the arrow to the right of the caption Line, hover over the item Arrows and select the desired direction.

Printing a large flowchart

Before you start printing, you need to make sure that the drawing page displayed in Visio contains the entire flowchart. Any shapes that extend off the page in Visio will not print.

To print a large flowchart, do the following:

What are flowcharts

When you open the Simple Flow Diagram template, the Simple Flow Diagram Shapes stencil also opens. Each shape in the stencil corresponds to a specific process step.

Of the shapes included in the Simple Flowchart Shapes stencil, only a few are widely used. These figures are described below. For more information about the remaining shapes, see the link (Less popular flowchart shapes) at the end of this section.

Less popular flowchart shapes

    Dynamic connector. This connecting line passes around the figures lying on its path.

    This is a connecting line with adjustable curvature.

    This is a text box with a border that changes in size depending on the amount of text entered. The width can be set by dragging the sides of the shape. This shape does not represent a step in the process, but is useful for placing labels on a flowchart.

    Note. This is a box in square brackets that changes size depending on the amount of text entered. The width can be set by dragging the sides of the shape. Like AutoFit Field, this shape does not represent a step in the process. Use it to add notes to flowchart shapes.

    Manual input. This is the stage at which a person provides information to a process.

    Manual operation. This is a step that must be completed by a person.

    Internal storage. This shape represents the data that is stored on the computer.

    Direct data. This shape represents data that is stored in such a way that each individual record can be directly accessed. This corresponds to the way data is stored on a computer's hard drive.

    Serial data. This figure represents data that is stored sequentially (for example, data on a magnetic tape). Such data can only be read sequentially. For example, to access record 7, you must first look at records 1–6.

    Card and paper tape. This figure represents a punch card or paper tape. In early computer systems punched cards and paper tapes were used to write and read data, and to store and run programs.

    Display. This shape represents data that is displayed to the user (usually on a computer screen).

    Training. This figure indicates the initialization of variables in preparation for the execution of the procedure.

    parallel mode. This figure shows where two different processes can run at the same time.

    Cycle limit. This figure shows the maximum possible number of repetitions of the loop before moving on to the next stage.

    Transfer of control. This figure denotes a stage at which, under certain conditions, a transition occurs not to the next, but to another stage.

Create a flowchart

    On the menu File Create, then to item block diagram and select the item Simple block diagram.

    For each step in the process you are documenting, drag the appropriate flowchart shape into your document.

    Connect the flowchart shapes in one of the following ways.

    Connecting two figures to each other

    Connecting one shape to several using a single connection point

    By default are used rectangular connecting lines, and connecting a point on a shape to three other shapes looks like the picture below.

    To make connectors radiate directly from the center point of the first shape and lead to points on all other shapes, you must specify Straight connecting lines as shown in the figure below.

    On the toolbar Standard click tool Pointer to return to normal mode edits.

    To add text to a shape or connector, select it and enter text. When you have finished entering text, click in an empty area of ​​the page.

    To change the direction of the connector, in the menu, hover over Operations and select the item Reverse the ends.

Printing large flowcharts

The easiest way to print a flowchart that is larger than paper is to print it on multiple sheets and then glue them together.

Before you start printing, you need to make sure that the drawing page displayed in Visio contains the entire flowchart. Any shapes that extend off the page in Visio will not print. To check if the flowchart fits on the document page, use the preview in the dialog box Page settings(menu File, paragraph Page settings, tab Print setup).

1. Block diagram. which is too large for the Visio drawing page.

2. A flowchart that is placed on a Visio drawing page.

Change the page size of a Visio drawing to fit the flowchart

    When the flowchart is open, in the menu File select item Page settings.

    Open a tab Page Size.

    On the tab Page Size click .

To see how the flowchart will look when printed, in the menu File select item Preview . The illustration below shows the flowchart that will be printed on four Letter size sheets.

Printing Large Flowcharts on Multiple Sheets of Paper

    On the menu File select item Page settings.

    On the tab Print setup in field Paper in the printer select the desired paper size if it is not already set. Don't press the button OK.

    Open a tab Page Size and click Resize to content. The preview window now shows the difference between new page and paper in the printer.

    Click the button OK.

    On the menu File select item Preview to see how the flowchart will look when printed.

    Note: Shaded boxes may appear between pages. They correspond to the areas that will be printed on both sheets. This allows you to glue the sheets in such a way that there are no empty spaces on the block diagram.

    After printing is complete, you can trim the margins, arrange the pages appropriately, and glue them together.

Algorithm- an exact finite system of rules described in some language that determines the content and procedure for 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 ways to perform arithmetic operations in decimal system calculus, described by the Uzbek mathematician Muhammad bin Al-Khwarizmi. The word algorithm is the result of the European pronunciation of the words of Al-Khwarizmi. Initially, the algorithm was understood as a way to perform arithmetic operations on decimal numbers. In the future, this concept began to be used to refer to any sequence of actions leading to the solution of the task. Any algorithm does not exist on its own, but is intended for a specific performer (human, robot, computer, programming language, etc.). The meaning of the word " algorithm" is very similar to the meanings of the words "recipe", "method", "process". However, unlike a recipe or process, an algorithm is characterized by the following properties:

discreteness, mass character, certainty, effectiveness, formality.

discreteness(discontinuity) is a property of the algorithm that characterizes its structure: each algorithm consists of separate completed actions, they say “It is divided into steps”.

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

Certainty(determinacy, accuracy) - a property of the algorithm, indicating that each step of the algorithm must be strictly defined and not allow different interpretations. The order in which the individual steps are to be performed must also be strictly defined.

Efficiency- 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. Discuss “what, how and why?” the developer of the algorithm must, and the performer formally (without thinking) executes the proposed commands in turn and obtains the required result.

1.2.Ways of description (types) of algorithms.

Consider the following ways of describing 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 compiling a verbal description. The algorithm is recorded in an arbitrary form in natural, for example, Russian. This method of description is not widely used, since it is not strictly formalized (by “formal” we mean that the description is absolutely complete and takes into account all possible situations that may arise during the solution); allows ambiguity of interpretation when describing some actions; suffers from verbosity.

Pseudocode- 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 its exact recording in the programming language. Pseudocode uses some formal constructions and common mathematical symbolism. There are no strict syntax rules for writing pseudocode. This makes it easier to write the algorithm during design 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 facilitates the transition from pseudocode to writing the algorithm in a programming language. There is no single or formal definition of pseudocode, so various pseudocodes are possible, differing in the set of words and constructions used.

block diagram- description of the structure of the algorithm using geometric shapes with connection lines showing the order in which individual instructions are executed. This method has a number of advantages. Due to its visibility, it provides the "readability" of the algorithm and clearly displays the order of execution of individual commands. In the block diagram, each formal construction 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 representation 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 act as executors of 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 with the help of block diagrams turned out to be a very convenient means of depicting algorithms and has become widespread.

block diagram algorithm - graphic image algorithm in the form of interconnected arrows (transition lines) and blocks - graphic symbols, each of which corresponds to one step of the algorithm. Inside the block, a description of the corresponding action is given.

The table shows the most commonly used characters.

Symbol name

Designation and filling example

Explanation

Computational action or sequence of actions

Checking conditions

Modification

Cycle start

predefined process

Calculations by subroutine, standard subroutine

Input Output

I/O in general

start-stop

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

Document

Output of results

Flowchart symbols

Block " process» is used to denote an action or sequence of actions that changes the meaning, form of presentation or placement of data. To improve the visibility of the diagram, several separate processing blocks can be combined into one block. The presentation of individual operations is quite free.

Block " solution» is used to denote conditional control transitions. Each "decision" block should indicate the question, condition, or comparison that it defines.

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

Block " predefined process' is used to indicate references to auxiliary algorithms, which exist autonomously in the form of some independent modules, and for calls to library subroutines.

For example, here are the block diagrams of the algorithm for finding the maximum of two values:

block diagram we will call such a graphical representation of the algorithm, when individual actions (or commands) are presented in the form of geometric shapes - blocks. Inside the blocks, information about the actions to be performed is indicated. The connection between the blocks is depicted using lines called communication lines, denoting the transfer of control.

There is a State Standard that defines the rules for creating flowcharts. The configuration of blocks, as well as the order of graphic design of block diagrams, are regulated by GOST 19.701-90 "Schemes of algorithms and programs". In table. 2.1 shows the designations of some elements, which will be quite enough to depict algorithms when performing student work.

Rules for drawing up flowcharts:

    Each block diagram must have a block " Start" and one block " End».

    « Start» must be connected to the block « End» flow lines for each of the branches on the block diagram.

    There should be no blocks in the block diagram, except for the block " End”, from which the flow line does not exit, as well as blocks from which control is transferred “to nowhere”.

    Blocks must be numbered. Numbering blocks are placed from top to bottom and from left to right, the block number is placed at the top left, in the break of its outline.

    Blocks are interconnected by flow lines that determine the sequence of block execution. The flow lines should run parallel to the sheet borders. If the lines gofrom right to left orupwards , then the arrows at the end of the line are required, otherwise they can be omitted.

    With respect to blocks, lines can be incoming and coming out. The same flow line is output for one block and input for another.

    From the block Start» Unlike all other blocks, the flow line only exits, since this block is the first in the flowchart.

    Block " End' has only an input, as it is the last block in the block diagram.

    For ease of reading, it is desirable that the flow line enters the Process block from the top and exits from the bottom.

    In order not to clutter up the block diagram with complex intersecting lines, flow lines can be broken. At the same time, at the place of the gap, connectors, inside which the numbers of connected blocks are indicated. There should be no breaks in the block diagram that are not labeled with connectors.

    In order not to clutter up the block, you can provide information about data, variable designations, etc. place in comments to the block.

Block name

Block designation

Block assignment

Terminator

Start/End of program or subprogram

Data processing (computational action or sequence of computational actions)

Branching, selection, condition checking. The block specifies a condition or a question that determines the further direction of the algorithm execution.

Training

Counting Cycle Header

predefined process

Referring to a procedure

Data input/output


Types of Algorithms

The type of algorithm is determined by the nature of the task being solved in accordance with its commands. There are three types of algorithms: linear, branching, cyclic.

Linear algorithm consists of an ordered sequence of actions that does not depend on the values ​​of the initial data, while each command is executed only once strictly after the command that precedes it.

Such, for example, is the calculation algorithm for the simplest non-alternative formulas, which has no restrictions on the values ​​of the variables included in these formulas. As a rule, linear processes are an integral part of a more complex algorithm.

branching Algorithms are called in which, depending on the value of some expression or on the fulfillment of some logical condition further actions can be produced in one of several directions.

Each of the possible directions for further action called branch.

In block diagrams, branching is implemented by a special block " Solution". This block provides the possibility of two outputs. In the "Decision" block itself, a logical condition is recorded, on the fulfillment of which further actions depend.

There are several types of branching algorithms.

1. "Bypass" - such a branch when one of the branches does not contain any operator, i.e. sort of bypasses several actions of another branch.

2. "Branching" - this type of branching, when each of the branches contains a certain set of actions.

3. "Multiple Choice" - a special type of branching, when each of several branches contains a certain set of actions. The choice of direction depends on the value of some expression.

Cyclic Algorithms are used in cases where it is required to implement repeatedly repeated calculations of the same type. Cycle is a sequence of actions that can be performed repeatedly, i.e. more than once.

Distinguish:

      loops with a known number of repetitions (or with a counter);

      cycles with an unknown number of repetitions (cycles with precondition and cycles with postcondition).

In any loop, there must be a variable that controls the exit from the loop, i.e. determines the number of iterations of the loop.

The sequence of actions that must be performed on each cycle step(i.e. at each repetition of the loop), is called loop body or working part of the cycle.

Defining algorithms with the help of block diagrams turned out to be a very convenient means of depicting algorithms and has become widespread.

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

The table shows the most commonly used characters.

Flowchart symbols
Symbol name Designation and filling example Explanation
Process Computational action or sequence of actions
Solution Checking conditions
Modification Cycle start
predefined process Calculations by subroutine, standard subroutine
Input Output I/O in general
start-stop Beginning, end of the algorithm, entry and exit to the subroutine
Document Output of results

Block " » is used to denote an action or sequence of actions that changes the meaning, form of presentation or placement of data. To improve the visibility of the diagram, several separate processing blocks can be combined into one block. The presentation of individual operations is quite free.

Block " » is used to denote conditional control transitions. Each "decision" block should indicate the question, condition, or comparison that it defines.

Block " » is used to organize cyclic structures. (The word "modification" means "modification, transformation"). Inside the block, a cycle parameter is written, for which its initial value, boundary condition, and step for changing the parameter value for each repetition are indicated.

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

For example, here are the block diagrams of the algorithm for finding the maximum of two values:

Block diagram of the algorithm

An example flowchart of the algorithm for calculating the factorial of a number N

Scheme- a graphical representation of a definition, analysis or problem solving method that uses symbols to display operations, data, flow, equipment, etc. (GOST 19.701-90).

block diagram- a common type of diagrams that describes algorithms or processes, depicting steps in the form of blocks of various shapes, interconnected by arrows.

Execution standards

The rules for the execution of schemes are determined by the following documents:

For software documentation:

These documents, in particular, regulate the methods of constructing circuits and appearance their elements.

Main elements of algorithm schemes

Name Designation Function
Terminator
(start-stop)
The element displays input from external environment or exit from it (the most common use is the beginning and end of the program). The corresponding action is written inside the figure.
Process Performing one or more operations, processing data of any kind (changing the value of data, presentation form, location). Inside the figure, the operations themselves are written directly, for example, the assignment operation: a = 10*b + c.
Solution Displays a switch type decision or function with one input and two or more alternative outputs, of which only one can be selected after evaluating the conditions defined within this element. The entrance to an element is indicated by a line that usually enters the top vertex of the element. If there are two or three exits, then usually each exit is indicated by a line coming out of the remaining vertices (side and bottom). If there are more than three outputs, then they should be shown as a single line coming out of the top (often the bottom) of the element, which then branches. The corresponding calculation results can be written next to the lines representing these paths. Examples of solutions: in the general case - comparison (three outputs: > , < , = ); in programming − conditional statements if(two outputs: true, false) and case(multiple exits).
predefined process The symbol displays the execution of a process consisting of one or more operations, which is defined elsewhere in the program (in a subroutine, module). Inside the symbol, the name of the process and the data transferred to it are written. For example, in programming, a call to a procedure or function.
Data
(input Output)
Converting data into a form suitable for processing (input) or displaying the results of processing (output). This symbol does not define the data medium (special symbols are used to indicate the type of data medium).
cycle boundary The symbol consists of two parts - respectively, the beginning and end of the cycle - the operations performed inside the cycle are placed between them. Cycle conditions and increments are written inside the symbol of the beginning or end of the cycle - depending on the type of organization of the cycle. Often, for the image on the block diagram of the cycle, instead of this symbol, the decision symbol is used, indicating the condition in it, and one of the output lines is closed higher in the block diagram (before the cycle operations).
Connector The symbol represents an exit to a part of a circuit and an entrance from another part of that circuit. Used to break a line and continue it elsewhere (example: splitting a flowchart that does not fit on the sheet). Corresponding connecting symbols must have one (but unique) designation.
Comment Used for more detailed description step, process, or group of processes. The description is placed on the side of the square bracket and is covered by it throughout the height. The dotted line goes to the described element, or a group of elements (in this case, the group is highlighted by a closed dashed line). Also, the comment symbol should be used in cases where the amount of text in any other symbol (for example, a process symbol, a data symbol, etc.) exceeds its volume.

Description of other circuit elements can be found in the relevant GOST (listed above).

The order of actions is set by connecting the vertices with arcs, which allows us to consider flowcharts not only as a visual interpretation of the algorithm, convenient for human perception, but also as a weighted directed graph. However, not any directed graph, composed of vertices of the above types, is a correct algorithm . For example, more than one arc cannot go out of an operator vertex. Therefore, in practice, one usually confines oneself to considering a subclass of graph-schemes of algorithms that satisfy the properties of safety, liveliness, and stability.

Dragon schemes

Recently, structural, mathematically rigorous block diagrams have appeared, which are called "dragon diagrams". With the advent of dragon diagrams, flowcharts began to lose their importance, as they were inferior to dragon diagrams in every respect.

Notes

see also

  • Link diagram

Wikimedia Foundation. 2010 .

See what "Algorithm flowchart" is in other dictionaries:

    block diagram of the algorithm- control chart - [L.G. Sumenko. English Russian Dictionary of Information Technologies. M .: GP TsNIIS, 2003.] Topics information technology in general Synonyms control diagram EN control diagram ...

    block diagram- - block diagram [Luginsky Ya. N. et al. English Russian Dictionary of Electrical Engineering and Power Industry. 2nd edition M .: RUSSO, 1995 616 p.] block diagram Conditional image of the algorithm, ... ... Technical Translator's Handbook

    block diagram (of a program or algorithm)- — [Ya.N. Luginsky, M.S. Fezi Zhilinskaya, Yu.S. Kabirov. English Russian Dictionary of Electrical Engineering and Power Industry, Moscow, 1999] Electrical engineering topics, basic concepts EN flow diagram ... Technical Translator's Handbook

    In programming, a graphical representation of a program or algorithm using standard graphic elements (rectangles, diamonds, trapezoids, etc.) denoting commands, actions, data, etc. In English: Flowchart See also: ... ... Financial vocabulary

    block diagram- - a conditional image of an algorithm, computer program, decision-making process, workflow, etc., designed to identify their structure and common sequence operations. B.'s example with. see the article Algorithm ... Economic and Mathematical Dictionary

    This term has other meanings, see Block. An example of a block diagram of an algorithm for calculating the factorial of a number N Scheme is a graphical representation of a definition, analysis, or method for solving a problem that uses the symbol ... Wikipedia

    FLOW DIAGRAM- a conditional image of the algorithm for solving the problem, workflow, the sequence of performing work operations or procedures using arrows, connecting lines and geometric shapes of various shapes containing control symbols or ... ... Big Economic Dictionary

    step-by-step flowchart- is a detailed graphical representation of the structural organization of the algorithm, in which each stage of the data processing process is represented in the form of numbered geometric shapes (or blocks) ... Explanatory Translation Dictionary

    Block diagram of Dijkstra's algorithm. Search algorithms on gr ... Wikipedia

    certification of information technologies in the field of quality of service information- Official confirmation by the certification body or other specially authorized body of the existence of necessary and sufficient conditions for use information technology, ensuring the stability of the implementation of service quality standards ... ... Technical Translator's Handbook

Books

  • Imperatives of Production Efficiency, Nikolai Aleksandrovich Zhdankin. On the basis of the study, the issues of developing a strategy for a large company in metallurgy are considered. Examples of analysis of the internal and external environment of the enterprise are given. Produced… electronic book