Comment créer des schémas fonctionnels complexes. Créer un organigramme simple

Éléments de base d'un schéma fonctionnel. Types d'organigrammes.

La description d'un algorithme à l'aide de schémas blocs s'effectue en dessinant une séquence de figures géométriques dont chacune implique l'exécution d'une action spécifique de l'algorithme. L'ordre des actions est indiqué par des flèches. L'écriture d'algorithmes à l'aide d'organigrammes est réglementée par GOST. L'apparence des principaux blocs utilisés lors de l'écriture de diagrammes fonctionnels est illustrée dans la figure.

Représenter l'algorithme du programme sous la forme d'un schéma fonctionnel présente deux inconvénients :

· suppose un niveau de détail trop faible, qui cache souvent l'essence des algorithmes complexes

· et vous permet d'utiliser non structurel méthodes de transfert de contrôle (goto), et souvent sur le diagramme d'algorithme, elles semblent plus simples que les méthodes structurelles équivalentes.

En plus des diagrammes, vous pouvez utiliser pseudocodes, Formes de flux Et Diagrammes de Nussi-Schneiderman. Toutes les méthodes répertoriées, d’une part, sont basées sur les mêmes structures de base et, d’autre part, permettent différents niveaux de détail.

Chaque symbole Flow-form correspond à une structure de contrôle et est représenté par un rectangle. Pour démontrer l'imbrication des structures, le symbole Flow-form s'insère dans la zone correspondante du rectangle de tout autre symbole. Les symboles sous forme de flux correspondant aux structures de contrôle principales et supplémentaires sont illustrés à la figure A1.

<Действие>
UN)
b)
V)
G)
d)

Figure A2 - Symboles des diagrammes de Nussi-Schneiderman pour les structures de base :

a - suivant ; b - ramification ; c - choix ; r - cycle au revoir ; d - cycle vers

La principale différence entre les diagrammes de Nussi-Schneiderman et les formulaires Flow réside dans le fait que la zone destinée à indiquer les conditions et les options de branchement est représentée sous forme de triangles (Figure A2). Cette désignation offre une plus grande clarté à l'algorithme.

Un inconvénient commun des formes de flux et des diagrammes de Nussi-Schneiderman est la complexité de la construction d'images de symboles, ce qui complique l'utilisation pratique de ces notations pour décrire de grands algorithmes.

Contrairement aux organigrammes, les pseudocodes ne limitent pas le niveau de détail des opérations, mais, n'étant pas graphiques, ils affichent moins bien leur imbrication.

Il est impossible de décrire un algorithme non structurel à l'aide de pseudocodes, de formes de flux et de diagrammes de Nussi-Schneiderman, car ils manquent de conventions pour le transfert de contrôle non structurel. Leur utilisation concentre dans un premier temps le concepteur uniquement sur les méthodes structurelles de transfert de contrôle, et nécessite donc une analyse approfondie de l'algorithme.

Selon la séquence d'actions dans l'algorithme, on distingue les algorithmes suivants :

· linéaire,

· ramifié

· et structure cyclique.

Dans les algorithmes de structure linéaire, les actions sont exécutées séquentiellement les unes après les autres.

Dans les algorithmes à structure ramifiée, en fonction de la réalisation ou du non-respect d'une condition, diverses séquences d'actions sont effectuées. Chacune de ces séquences d’actions est appelée une branche de l’algorithme.

Dans les algorithmes de structure cyclique, en fonction de la réalisation ou du non-respect d'une condition, une séquence répétitive d'actions est effectuée, appelée corps de la boucle. Une boucle imbriquée est une boucle qui se trouve à l’intérieur du corps d’une autre boucle. Il existe des cycles avec précondition et postcondition :

Un cycle itératif est un cycle dont le nombre de répétitions n'est pas précisé, mais est déterminé lors de l'exécution du cycle. Dans ce cas, une répétition de la boucle est appelée une itération.

Donc : Avec toute la variété des algorithmes de résolution de problèmes, trois principaux types de processus informatiques peuvent être distingués :

· linéaire,

· ramifié

· Et cyclique,

pour la mise en œuvre desquels les programmes utilisent les structures de contrôle de base correspondantes :

· suivant,

· ramification,

· au revoir.

En plus des langages de base, les langages de programmation procédurale de haut niveau utilisent trois autres constructions (structures) qui sont facilement implémentées via les langages de base :

· choix,

· cycle vers,

· cycle avec un nombre de répétitions donné.

Les six modèles répertoriés ont été utilisés comme base programmation structurée. Le mot « structurel » dans le nom souligne le fait que seules les structures répertoriées sont utilisées en programmation. D’où le concept de « programmation sans aller ». Les programmes écrits en utilisant uniquement des opérateurs de transfert de contrôle structurel sont appelés structurés. , pour souligner leur différence avec les programmes dont la mise en œuvre utilisait des méthodes de transfert de contrôle de bas niveau.

L'algorithme développé est implémenté sous forme de codes de programme ( programmes) dans l'un des langages de programmation.

Dans la vie, nous rencontrons souvent des situations différentes dans lesquelles nous accomplissons les mêmes actions spécifiques. Afin de nous réveiller à l’heure, nous devons penser à allumer l’alarme. Afin de satisfaire notre faim, nous devons suivre les mêmes étapes pour préparer de délicieux plats. Afin de faire un travail qui nous est familier, nous faisons aussi souvent la même chose.

Ce comportement peut être appelé différemment selon le contexte dans lequel il est considéré. Si l’on considère les choses du point de vue de l’efficacité opérationnelle, ces actions peuvent être appelées habitudes ou compétences. Si l'on le considère du point de vue de l'affichage du processus, alors la description de la séquence d'actions, dont la stricte exécution conduit à la solution des tâches assignées en un certain nombre d'étapes, est appelée un algorithme d'action.

Comment sont créés les algorithmes d’action ?

Nous sommes constamment confrontés à cela dans la vie de tous les jours. Quelles actions prenons-nous pour recharger notre compte de téléphone mobile ? Chacun de nous est différent. Puisqu'il existe plusieurs façons de reconstituer un compte, nous le faisons tous différemment. Cependant, le résultat est toujours le même : l’apparition de fonds sur le téléphone.

Ou un autre exemple : pour copier une image ou un texte, faites un clic droit sur l'image, puis sélectionnez « Copier », placez-la à l'emplacement souhaité, cliquez avec le bouton droit sur « Coller », et le résultat est obtenu.

Tout cela est une certaine séquence d'actions, à la suite de laquelle la tâche est résolue par divers moyens. Mais pour l'instant, il ne s'agit que de nos connaissances, qui se transforment en compétences et en capacités, et si ce processus est décrit, nous pourrons alors voir clairement l'algorithme de nos actions et le transmettre à d'autres personnes. Tout n'est pas clair avec les mots et n'est pas toujours clair.

Décrivez la séquence d'actions - on s'en souviendra

Créer algorithme d'actions possible en décrivant ou en décrivant sa séquence. Est-ce que tout le monde sait ce qu’il faut faire pour planter un arbre ? Peut-être que les étapes de base sont claires pour tout le monde, mais tout le monde ne se souvient pas quand arroser un arbre, avant ou après la plantation. L'algorithme créé permettra d'effectuer toutes les actions dans le bon ordre.

Pour décrire une séquence d’actions plus complexe, vous devrez essayer de toutes les écrire en détail. Un exemple peut être tiré de toutes sortes de règles et d'instructions - elles expliquent très clairement les étapes que nous devons suivre. Mais il existe des situations dans lesquelles une certaine action est suivie non pas d'une étape, mais de plusieurs, en fonction du résultat précédent. Dans ce cas, les actions proposées sont également écrites afin que la personne puisse facilement s'orienter dans différentes situations et savoir ce qu'elle doit faire.

L'algorithme des actions dans les graphiques est un organigramme

Si nous représentons graphiquement les algorithmes d’action, en utilisant des formes géométriques avec des lignes de connexion indiquant l’ordre dans lequel l’action est effectuée, nous obtiendrons un organigramme. Un organigramme est de loin supérieur aux règles, instructions et algorithmes d’actions séquencés en termes de clarté et de lisibilité.

Imaginez que vous ayez besoin d’enseigner quelque chose à une autre personne. Vous connaissez parfaitement toutes les actions dans un certain ordre. Votre tâche est de montrer comment cela doit être fait et de transmettre vos connaissances afin que l'autre personne s'en souvienne et le sache tout comme vous. La transmission orale des connaissances permet l'improvisation et un certain arbitraire. La meilleure façon est d’utiliser un organigramme expliquant la séquence et les options possibles. À titre d'exemple, voici un guide amusant pour apprendre les schémas de blogging :

La meilleure condition pour obtenir des résultats est la répétition des actions. Cela affecte certainement la rapidité d’obtention des résultats à l’avenir. Plus vous devrez répéter les mêmes actions souvent, plus vite vous apprendrez à effectuer la séquence d'actions, ce qui signifie qu'à chaque fois, vous aurez besoin de moins de temps pour la terminer.

Les organigrammes sont utilisés dans les ventes

Dans le domaine de la vente, une telle formation consistant à développer des algorithmes et à les représenter sous forme d'organigrammes est très répandue. Le plus souvent, ils sont utilisés dans des scénarios de conversations téléphoniques dans les centres d’appels et pour des appels « à froid ». La culture d'entreprise prend de l'ampleur, c'est pourquoi de nombreuses entreprises ne permettent plus aux salariés de faire des « gags », même talentueux, mais leur proposent d'agir selon un scénario pré-élaboré, représentant le « visage de l'entreprise » à différentes étapes. L'effet apparaît littéralement après plusieurs jours passés à faire les choses « sur papier ». Au fil du temps, l'employé se souvient de bon nombre des algorithmes décrits et, à l'avenir, il pourra communiquer librement sans craindre la direction que pourrait prendre la conversation.

Les algorithmes d'action et les schémas de blog ne sont pas développés uniquement dans le domaine de la vente. Ils sont largement utilisés dans la formation et la pratique des médecins, des programmeurs, des informaticiens et de nombreuses spécialités techniques.

Cela vaut la peine d’essayer d’apprendre à fonctionner en utilisant des organigrammes similaires. Après tout, lorsque vous rencontrez pour la première fois une abondance d’actions et de tâches incompréhensibles au début, vous pensez à quel point il vous manque un organigramme développé. Après de nombreux tourments, vous ne pouvez plus le supporter et vous commencez à vous développer et à créer par vous-même. Les personnes efficaces n’aiment pas les temps d’arrêt. Et les organigrammes simplifient grandement la vie et vous permettent de comprendre la résolution de problèmes complexes.

Services de développement d'organigrammes

Il existe des services sur Internet qui peuvent vous aider à créer de tels organigrammes. L'un d'eux est Сacoo. Avec son aide, vous pouvez facilement transformer vos algorithmes en divers diagrammes, organigrammes et graphiques. Vous constaterez que c'est une activité très agréable et joyeuse de transformer ce que vous savez en science pour d'autres personnes.

- la bonne humeur vous est garantie. Au stade initial, vous pouvez utiliser les fonctionnalités d'un compte gratuit, mais à l'avenir, vous devrez payer pour l'accès. Naturellement, l’accès gratuit présente des limites par rapport aux accès payants. Mais pour l'apprentissage et les premiers pas, la fonctionnalité est largement suffisante.

Après avoir développé des algorithmes d'action et les avoir convertis en diagrammes fonctionnels avec l'aide de Cacoo, vous pouvez créer une bonne humeur pendant longtemps non seulement pour vous-même, mais aussi pour les autres personnes qui apprennent les bases.

Créez des diagrammes de blocs de jeu pour vos enfants

Pour résumer ce qui précède, je note que vous pouvez désormais utiliser des algorithmes d'action et des organigrammes dans diverses situations de la vie. Même vos enfants prendront un grand plaisir à effectuer les tâches qui ne sont pas les plus intéressantes, en suivant des instructions claires. Si vous avez des idées où et comment l'utiliser algorithme d'actions, partagez dans les commentaires, chers lecteurs. J'aimerais vraiment connaître vos algorithmes.

Mon organigramme

C'est l'organigramme que j'ai trouvé la première fois. Pour agrandir une image, cliquez dessus. Après être allé à Cacoo, sous l’entrée « voir la figure », cliquez sur l’image. Il s'ouvrira dans une grande fenêtre. Bonne chance!

NORME D'ÉTAT DE L'UNION URSS

SYSTÈME DE DOCUMENTATION LOGICIEL UNIFIÉ

DIAGRAMMES D'ALGORITHMES, PROGRAMMES, DONNÉES ET SYSTÈMES

CONVENTIONS ET RÈGLES DE MISE EN ŒUVRE

GOST 19.701-90
(ISO 5807-85)

COMITÉ D'ÉTAT DE L'URSS POUR LA GESTION ET LES NORMES DE LA QUALITÉ DES PRODUITS

NORME D'ÉTAT DE L'UNION URSS

Date d'introduction 01.01.92

Cette norme s'applique aux conventions (symboles) dans les diagrammes d'algorithmes, de programmes, de données et de systèmes et établit des règles pour l'exécution des diagrammes utilisés pour afficher divers types de problèmes de traitement de données et des moyens pour les résoudre.

La norme ne s'applique pas à la forme des entrées et des symboles placés à l'intérieur ou à côté des symboles qui servent à clarifier les fonctions qu'ils remplissent.

Les exigences de la norme sont obligatoires.

1. DISPOSITIONS GÉNÉRALES

1.1. Les diagrammes d'algorithmes, de programmes, de données et de systèmes (ci-après dénommés diagrammes) sont constitués de symboles ayant une signification donnée, d'un court texte explicatif et de lignes de connexion.

1.2. Les schémas peuvent être utilisés à différents niveaux de détail, le nombre de niveaux dépendant de la taille et de la complexité du problème de traitement des données. Le niveau de détail doit être tel que les différentes parties et les relations entre elles soient comprises dans leur ensemble.

1.3. Cette norme définit les symboles à utiliser dans la documentation relative au traitement des données et fournit des conseils sur les conventions à utiliser dans :

1) schémas de données ;

2) diagrammes de programme ;

3) schémas de fonctionnement du système ;

4) schémas d'interaction avec le programme ;

5) diagrammes de ressources système.

1.4. La norme utilise les concepts suivants :

1) symbole de base - un symbole utilisé dans les cas où le type (type) exact d'un processus ou d'un support de stockage est inconnu ou où il n'est pas nécessaire de décrire le support de stockage réel ;

2) symbole spécifique - un symbole utilisé dans les cas où le type (type) exact d'un processus ou d'un support de stockage est connu ou lorsqu'il est nécessaire de décrire le support de stockage réel ;

3) diagramme - une représentation graphique de la définition, de l'analyse ou de la méthode de résolution d'un problème, dans laquelle des symboles sont utilisés pour afficher les opérations, les données, le flux, l'équipement, etc.

2. DESCRIPTION DU CIRCUIT

2.1. Schéma de données

2.1.1. Les schémas de données représentent le cheminement des données dans la résolution des problèmes et définissent les étapes de traitement ainsi que les différents supports de stockage utilisés.

2.1.2. Le schéma de données se compose de :

1) symboles de données (les symboles de données peuvent également indiquer le type de support de stockage) ;

2) symboles du processus qui doit être effectué sur les données (les symboles de processus peuvent également indiquer des fonctions exécutées par l'ordinateur) ;

3) symboles linéaires indiquant les flux de données entre les processus et (ou) les supports de stockage ;

2.1.3. Les symboles de données précèdent et suivent les symboles de processus. Le schéma de données commence et se termine par des caractères de données (à l'exception des caractères spéciaux ).

2.2. Aperçu du programme

2.2.1. Les diagrammes de programme affichent la séquence des opérations dans un programme.

2.2.2. Le schéma du programme comprend :

1) symboles de processus indiquant les opérations de traitement de données réelles (y compris les symboles définissant le chemin à suivre, en tenant compte des conditions logiques) ;

2) symboles linéaires indiquant le flux de contrôle ;

3) des symboles spéciaux utilisés pour rendre le diagramme plus facile à écrire et à lire.

2.3. Schéma de fonctionnement du système

2.3.1. Les diagrammes de fonctionnement du système décrivent le contrôle des opérations et le flux de données dans le système.

2.3.2. Le schéma de fonctionnement du système comprend :

1) symboles de données indiquant la présence de données (les symboles de données peuvent également indiquer le type de support de données) ;

2) des symboles de processus, indiquant les opérations à effectuer sur les données, et définissant également le chemin logique à suivre ;

3) des symboles linéaires indiquant les flux de données entre les processus et (ou) les supports de stockage, ainsi que le flux de contrôle entre les processus ;

4) des symboles spéciaux utilisés pour faciliter l'écriture et la lecture de l'organigramme.

2.4. Schéma d'interaction du programme

2.4.1. Les diagrammes d'interaction du programme affichent le chemin d'activation du programme et l'interaction avec les données correspondantes. Chaque programme dans le diagramme d'interaction de programme n'est affiché qu'une seule fois (dans le diagramme de fonctionnement du système, un programme peut être affiché dans plusieurs flux de contrôle).

2.4.2. Le schéma d'interaction du programme comprend :

1) symboles de données indiquant la présence de données ;

2) symboles de processus indiquant les opérations qui doivent être effectuées sur les données ;

3) des symboles linéaires représentant le flux entre les processus et les données, ainsi que le lancement des processus ;

4) des symboles spéciaux utilisés pour rendre le diagramme plus facile à écrire et à lire.

2.5. Diagramme des ressources système

2.5.1. Les diagrammes de ressources système décrivent la configuration des données et des unités de traitement nécessaires pour résoudre une tâche ou un ensemble de tâches.

2.5.2. Le diagramme des ressources système comprend :

1) symboles de données affichant les périphériques d'entrée, de sortie et de stockage de l'ordinateur ;

2) symboles de processus représentant les processeurs (unités centrales de traitement, canaux, etc.) ;

3) symboles linéaires affichant le transfert de données entre les dispositifs d'entrée/sortie et les processeurs, ainsi que le transfert de contrôle entre les processeurs ;

4) des symboles spéciaux utilisés pour rendre le diagramme plus facile à écrire et à lire.

Des exemples de mise en œuvre de circuits sont donnés dans.

3. DESCRIPTION DES SYMBOLES

3.1. Symboles de données

3.1.1. Symboles de données de base

3.1.1.1. Données

Le symbole affiche des données, le support de stockage n'est pas défini.

3.1.1.2. Données mémorisées

Le symbole affiche les données stockées sous une forme adaptée au traitement ; le support de stockage n'est pas défini.

3.1.2. Caractères de données spécifiques

3.1.2.1. Mémoire vive

Le symbole affiche les données stockées dans le dispositif de mémoire vive.

3.1.2.2. Mémoire à accès série

Le symbole représente les données stockées dans un périphérique de stockage à accès série (bande magnétique, cassette à bande magnétique, cassette à bande).

3.1.2.3. Périphérique de stockage à accès direct

Le symbole représente les données stockées dans un périphérique de stockage à accès direct (disque magnétique, tambour magnétique, disquette).

3.1.2.4. Document

Le symbole affiche les données présentées sur le support sous une forme lisible (schéma de la machine, document à lecture optique ou magnétique, microfilm, rouleau de ruban adhésif avec données récapitulatives, formulaires de saisie des données).

3.1.2.5. Saisie manuelle

Le symbole affiche les données saisies manuellement lors du traitement à partir de tout type d'appareil (clavier, interrupteurs, boutons, stylo lumineux, bandes de codes-barres).

3.1.2.6. Carte

Le symbole affiche des données présentées sur un support de type carte (cartes perforées, cartes magnétiques, cartes avec étiquettes lisibles, cartes avec étiquette détachable, cartes avec étiquettes scannables).

3.1.2.7. Bande de papier

Le symbole affiche des données présentées sur un support sous la forme d'une bande de papier.

3.1.2.8. Afficher

Le symbole affiche des données présentées sous une forme lisible par l'homme sur un support sous la forme d'un dispositif d'affichage (écran d'observation visuelle, indicateurs de saisie d'informations).

3.2. Symboles de processus

3.2.1.Symboles de processus de base

3.2.1.1. Processus

Le symbole représente une fonction de traitement de données de toute nature (effectuer une opération spécifique ou un groupe d'opérations entraînant une modification de la valeur, de la forme ou du placement de l'information, ou la détermination de plusieurs directions de flux à suivre).

3.2.2. Symboles spécifiques au processus

3.2.2.1. Processus prédéfini

Le symbole affiche un processus prédéfini composé d'une ou plusieurs opérations ou étapes de programme définies ailleurs (dans un sous-programme, un module).

3.2.2.2. Opération manuelle

Le symbole représente tout processus effectué par une personne.

3.2.2.3. Préparation

Le symbole représente la modification d'une instruction ou d'un groupe d'instructions pour affecter une fonction ultérieure (réglage d'un commutateur, modification d'un registre d'index ou initialisation d'un programme).

3.2.2.4. Solution

Le symbole représente une fonction de type décision ou interrupteur qui possède une entrée et un certain nombre de sorties alternatives, dont une et une seule peut être activée après évaluation des conditions définies dans le symbole. Les résultats de calcul correspondants peuvent être écrits à côté des lignes représentant ces chemins.

3.2.2.5. Activités parallèles

Le symbole représente la synchronisation de deux ou plusieurs opérations parallèles.

Exemple.

Note. Les processus C, D et E ne peuvent pas démarrer tant que le processus A n'est pas terminé ; de même, le processus F doit attendre que les processus B, C et D se terminent, mais le processus C peut démarrer et/ou se terminer avant que le processus D ne démarre et/ou ne se termine, respectivement.

3.2.2.6. Limite de boucle

Le symbole en deux parties représente le début et la fin du cycle. Les deux parties du symbole ont le même identifiant. Conditions d'initialisation, d'incrémentation, de terminaison, etc. sont placés à l’intérieur du symbole au début ou à la fin, selon l’emplacement de l’opération qui vérifie la condition.

Exemple.

3.3. Symboles de ligne

3.3.1.Symbole de ligne de base

3.3.1.1. Doubler

Le symbole représente le flux de données ou de contrôle.

Des flèches directionnelles peuvent être ajoutées selon les besoins ou pour améliorer la lisibilité.

3.3.2.Symboles de ligne spécifiques

3.3.2.1. Transfert de contrôle

Le symbole représente un transfert direct de contrôle d'un processus à un autre, avec parfois la possibilité d'un retour direct au processus initiateur une fois que le processus initié a rempli ses fonctions. Le type de transfert de contrôle doit être indiqué dans le symbole (par exemple demande, appel, événement).

3.3.2.2. Lien

Le symbole affiche la transmission de données sur le canal de communication.

3.3.2.3. Ligne pointillée

Un symbole représente une relation alternative entre deux ou plusieurs symboles. De plus, le symbole est utilisé pour délimiter la zone annotée.

Exemple 1.

Lorsqu'une sortie parmi plusieurs sorties alternatives est utilisée comme entrée dans un processus, ou lorsqu'une sortie est utilisée comme entrée dans des processus alternatifs, ces symboles sont reliés par des lignes pointillées.

Exemple 2.

Une sortie utilisée comme entrée du processus suivant peut être connectée à cette entrée à l’aide d’une ligne pointillée.

3.4. Symboles spéciaux

3.4.1. Connecteur

Le symbole représente la sortie d'une partie du circuit et l'entrée d'une autre partie de ce circuit et sert à rompre une ligne et à la continuer à un autre endroit. Les symboles de connecteur correspondants doivent contenir le même indicateur unique.

3.4.2. Terminateur

Le symbole représente la sortie vers l'environnement externe et l'entrée de l'environnement externe (début ou fin du diagramme de programme, utilisation externe et source ou destination des données).

3.4.3.Un commentaire

Le symbole est utilisé pour ajouter des commentaires descriptifs ou des notes explicatives à des fins d'explication ou de notes. Les lignes pointillées d'un symbole de commentaire sont associées à un symbole correspondant ou peuvent délimiter un groupe de symboles. Le texte des commentaires ou des notes doit être placé près de la forme englobante.

Exemple.

3.4.4. Passer

Le symbole (trois points) est utilisé dans les diagrammes pour indiquer l'omission d'un symbole ou d'un groupe de symboles dans lequel ni le type ni le nombre de symboles ne sont précisés. Le symbole est utilisé uniquement à l'intérieur ou entre les symboles linéaires. Il est principalement utilisé dans les diagrammes représentant des solutions générales avec un nombre inconnu de répétitions.

Exemple.

4 RÈGLES POUR L'APPLICATION DES SYMBOLES ET L'EXÉCUTION DES SCHÉMAS

4.1. Règles d'utilisation des symboles

4.1.1. Un symbole est destiné à identifier graphiquement la fonction qu'il représente, quel que soit le texte contenu dans ce symbole.

4.1.2. Les symboles du diagramme doivent être régulièrement espacés. Gardez les connexions à une longueur raisonnable et réduisez le nombre de longues lignes au minimum.

4.1.3. La plupart des symboles sont conçus pour permettre d'inclure du texte dans le symbole. Les formes de symboles spécifiées dans la présente norme sont destinées à servir de guide pour les symboles réellement utilisés. Les angles et autres paramètres affectant la forme appropriée des symboles ne doivent pas être modifiés. Les symboles doivent être, si possible, de la même taille.

Les caractères peuvent être dessinés dans n'importe quelle orientation, mais l'orientation horizontale est préférée autant que possible. Refléter la forme d'un caractère dénote la même fonction, mais n'est pas préféré.

4.1.4. La quantité minimale de texte nécessaire pour comprendre la fonction d'un symbole donné doit être placée à l'intérieur du symbole donné. Le texte lu doit être écrit de gauche à droite et de haut en bas, quel que soit le sens du flux.

Exemple.

Si la quantité de texte placée à l'intérieur d'un symbole dépasse ses dimensions, un symbole de commentaire doit être utilisé.

Si l'utilisation de symboles de commentaires risque de perturber ou de perturber le déroulement du diagramme, le texte doit être placé sur une feuille séparée et un renvoi au symbole doit être fourni.

4.1.5. Les schémas peuvent utiliser un identifiant de symbole. Il s'agit de l'identifiant associé à un symbole donné, qui identifie le symbole à des fins de référence dans d'autres éléments de documentation (par exemple, une liste de programmes). L'ID du symbole doit être situé à gauche au-dessus du symbole.

Exemple.

4.1.6. Les diagrammes peuvent utiliser des descriptions de symboles, c'est-à-dire toute autre information, par exemple pour montrer une utilisation particulière d'un symbole avec une référence croisée, ou pour améliorer la compréhension d'une fonction dans le cadre d'un diagramme. La description du symbole doit être située à droite au-dessus du symbole.

Exemple.

4.1.7. Dans les diagrammes système, les symboles représentant les supports de stockage représentent souvent les méthodes d'entrée/sortie. Pour être utilisé comme référence à la documentation, le texte sur le diagramme pour les symboles représentant les méthodes de sortie doit être placé à droite au-dessus du symbole, et le texte pour les symboles représentant les méthodes de saisie doit être placé à droite en dessous du symbole.

Exemple.

4.1.8. Les diagrammes peuvent utiliser une représentation détaillée, indiquée par un symbole de barre pour le processus ou les données. Le symbole de la barre indique que des informations plus détaillées sont disponibles ailleurs dans le même ensemble de documentation.

Un symbole de bande est tout symbole comportant une ligne horizontale tracée à l’intérieur en haut. Entre cette ligne et la ligne supérieure du symbole se trouve un identifiant indiquant une représentation détaillée de ce symbole.

Le caractère de fin doit être utilisé comme premier et dernier caractère de la représentation détaillée. Le premier caractère de fin doit contenir une référence, qui est également présente dans le caractère barre.

Symbole avec bande Vue détaillée

4.2. Règles pour établir des connexions

4.2.1. Les flux de données ou les flux de contrôle dans les diagrammes sont représentés sous forme de lignes. Le sens d'écoulement de gauche à droite et de haut en bas est considéré comme standard.

Dans les cas où une plus grande clarté est nécessaire dans le diagramme (par exemple, lors de l'établissement de connexions), des flèches sont utilisées sur les lignes. Si le flux s'effectue dans une direction autre que la direction standard, les flèches doivent indiquer cette direction.

4.2.2. Les lignes qui se croisent doivent être évitées dans les diagrammes. Les lignes qui se croisent n'ont aucun lien logique entre elles, c'est pourquoi les changements de direction aux points d'intersection ne sont pas autorisés.

Exemple.

4.2.3. Deux ou plusieurs lignes entrantes peuvent être combinées en une seule ligne sortante. Si deux lignes ou plus fusionnent en une seule ligne, l'emplacement de la fusion doit être décalé.

Exemple.

4.2.4. Les lignes des diagrammes doivent s'approcher du symbole soit par la gauche, soit par le haut, et provenir de la droite ou du bas. Les lignes doivent être dirigées vers le centre du symbole.

4.2.5. Si nécessaire, les lignes des diagrammes doivent être interrompues pour éviter les intersections inutiles ou les lignes trop longues, ainsi que si le diagramme comporte plusieurs pages. Le connecteur au début de la cassure est appelé connecteur externe et le connecteur à la fin de la cassure est appelé connecteur interne.

Exemple.

Connecteur externe Connecteur interne

4.3. Conventions spéciales

4.3.1. Sorties multiples

4.3.1.1. Plusieurs sorties d'un symbole doivent être affichées :

1) plusieurs lignes de ce symbole vers d'autres symboles ;

2) une ligne à partir d'un symbole donné, qui se divise ensuite en le nombre de lignes correspondant.

Exemples.

4.3.1.2. Chaque sortie de symbole doit être accompagnée des valeurs de condition correspondantes pour montrer le chemin logique qu'elle représente, afin que ces conditions et les références correspondantes soient identifiées.

Exemples.

4.3.2. Vue répétitive

4.3.2.1. Au lieu d'un seul symbole avec un texte associé, plusieurs symboles superposés, chacun contenant un texte descriptif, peuvent être utilisés (en utilisant ou en générant plusieurs supports de stockage ou fichiers, en produisant plusieurs copies de rapports imprimés ou de formats de cartes perforées).

4.3.2.2. Lorsque plusieurs caractères représentent un ensemble ordonné, l’ordre doit être du recto (premier) vers l’arrière (dernier).

4.3.2.3. Les lignes peuvent entrer ou provenir de n’importe quel point sur les symboles qui se chevauchent, mais les exigences doivent être remplies. La priorité ou l'ordre séquentiel de plusieurs symboles n'est pas modifié par le point d'entrée ou de sortie d'une ligne.

Exemple.

5. APPLICATION DES SYMBOLES

Nom du symbole

Schéma de données

Aperçu du programme

Schéma de fonctionnement du système

Schéma d'interaction du programme

Diagramme des ressources système

Symboles de données

Basique

Données mémorisées

Spécifique

Mémoire vive

Mémoire à accès séquentiel

Périphérique de stockage à accès direct

Document

Saisie manuelle

Bande de papier

Diagramme nous appellerons une telle représentation graphique de l'algorithme lorsque des actions individuelles (ou commandes) sont représentées sous la forme de figures géométriques - blocs. À l’intérieur des blocs sont indiquées des informations sur les actions à effectuer. La connexion entre les blocs est représentée à l'aide de lignes appelées lignes de communication, indiquant un transfert de contrôle.

Il existe une norme d'État qui définit les règles de création d'organigrammes. La configuration des blocs, ainsi que l'ordre de conception graphique des schémas fonctionnels, sont réglementés par GOST 19.701-90 "Schémas d'algorithmes et de programmes". Dans le tableau 2.1 montre les désignations de certains éléments, qui seront tout à fait suffisantes pour décrire les algorithmes lors de l'exécution des travaux des étudiants.

Règles d'élaboration des schémas fonctionnels :

    Chaque organigramme doit avoir un bloc " Commencer" et un bloc " Fin».

    « Commencer"doit être connecté au bloc" Fin» des lignes de flux le long de chacune des branches disponibles dans le schéma fonctionnel.

    Il ne doit y avoir aucun bloc dans le diagramme, à l'exception du bloc " Fin", d'où la ligne d'écoulement ne sort pas, ainsi que des blocs à partir desquels le contrôle est transféré "vers nulle part".

    Les blocs doivent être numérotés. Numérotage les blocs sont dessinés de haut en bas et de gauche à droite, le numéro du bloc est placé en haut à gauche, dans l'espace de son contour.

    Les blocs sont reliés les uns aux autres par des lignes de flux qui déterminent la séquence d'exécution des blocs. Les lignes d'écoulement doivent être parallèles aux bords de la feuille. Si les lignes disparaissentde droite à gauche ouen bas en haut , alors les flèches à la fin de la ligne sont obligatoires, sinon vous n’avez pas besoin de les installer.

    Par rapport aux blocs, les lignes peuvent être boîte de réception Et sortir. La même ligne de flux est sortante pour un bloc et entrante pour un autre.

    À partir du bloc " Commencer"Contrairement à tous les autres blocs, la ligne de flux ne fait que sortir, puisque ce bloc est le premier du diagramme.

    Bloc " Fin" n'a qu'une entrée puisqu'il s'agit du dernier bloc de l'organigramme.

    Pour faciliter la lecture, il est souhaitable que la ligne de flux entre dans le bloc Processus par le haut et ressorte par le bas.

    Pour éviter d'encombrer l'organigramme avec des lignes d'intersection complexes, les lignes de flux peuvent être interrompues. Dans ce cas, sur le lieu de la rupture, ils placent connecteurs, à l'intérieur duquel sont indiqués les numéros de blocs connectés. Il ne doit y avoir aucune interruption dans le schéma fonctionnel qui ne soit pas marquée par des connecteurs.

    Afin de ne pas encombrer le bloc, vous pouvez fournir des informations sur les données, les désignations des variables, etc. placer dans commentaires au bloc.

Nom du bloc

Désignation du bloc

Objectif du bloc

Terminateur

Début/Fin du programme ou du sous-programme

Traitement des données (action informatique ou séquence d'actions informatiques)

Ramification, choix, vérification des conditions. Le bloc indique une condition ou une question qui détermine la direction ultérieure d'exécution de l'algorithme

Préparation

En-tête du cycle de comptage

Processus prédéfini

Se référant à la procédure

Entrée/sortie de données


Types d'algorithmes

Le type d'algorithme est déterminé par la nature du problème à résoudre conformément à ses commandes. Il existe trois types d'algorithmes : linéaire, ramifié, cyclique.

Algorithme linéaire consiste en une séquence ordonnée d'actions, indépendantes des valeurs des données sources, chaque commande étant exécutée une seule fois strictement après la commande qui la précède.

Il s'agit par exemple d'un algorithme de calcul utilisant les formules non alternatives les plus simples, qui n'a aucune restriction sur les valeurs des variables incluses dans ces formules. Généralement, les processus linéaires font partie d’un algorithme plus complexe.

ramification sont appelés algorithmes dans lesquels, en fonction de la valeur d'une expression ou de la réalisation d'une condition logique, d'autres actions peuvent être effectuées dans l'une des plusieurs directions.

Chaque direction possible d’une action ultérieure appelé bifurquer.

Dans les diagrammes fonctionnels, le branchement est implémenté par un bloc spécial " Solution". Ce bloc offre la possibilité de deux sorties. Dans le bloc « Décision » lui-même, une condition logique est écrite, dont le respect détermine d'autres actions.

Il existe plusieurs types d'algorithmes de branchement.

1. "Contourne" – une telle branche lorsqu'une des branches ne contient pas un seul opérateur, c'est-à-dire comme pour contourner plusieurs actions d'une autre branche.

2. "Branchage" – ce type de branchement lorsque chaque branche contient un certain ensemble d'actions.

3. "Choix multiple" – un type particulier de branchement, lorsque chacune de plusieurs branches contient un certain ensemble d'actions. Le choix de la direction dépend de la valeur d'une expression.

Cyclique les algorithmes sont utilisés dans les cas où il est nécessaire de mettre en œuvre des calculs répétés et répétés du même type. Faire du vélo est une séquence d'actions qui peuvent être effectuées de manière répétée, c'est-à-dire plus d'une fois.

Il y a:

      boucles avec un nombre connu de répétitions (ou avec un compteur) ;

      cycles avec un nombre inconnu de répétitions (cycles avec précondition et cycles avec postcondition).

Dans toute boucle, il doit y avoir une variable qui contrôle la sortie de la boucle, c'est-à-dire détermine le nombre de répétitions de la boucle.

La séquence d'actions qui doivent être effectuées sur chaque étape du cycle(c'est-à-dire à chaque fois que le cycle est répété), est appelé corps de la boucle ou partie active du cycle.

Schèmeil s'agit d'une abstraction d'un processus ou d'un système qui affiche clairement les parties les plus importantes. Les schémas ont été largement utilisés depuis l'Antiquité jusqu'à nos jours - dessins de pyramides anciennes, cartes de terrains, schémas de circuits électriques. De toute évidence, les anciens marins voulaient échanger des cartes et ont donc développé un système unifié de notations et de règles pour leur mise en œuvre. Des accords similaires ont été développés pour la représentation de diagrammes algorithmiques et sont inscrits dans GOST et les normes internationales.

Opère sur le territoire de la Fédération de Russie système unifié de documentation du programme (USPD), dont fait partie la norme d'État - GOST 19.701-90 « Schémas d'algorithmes pour programmes, données et systèmes ». Malgré le fait que les notations décrites dans la norme puissent être utilisées pour représenter des diagrammes de ressources système, des diagrammes d'interaction de programme, etc., cet article décrit uniquement le développement de diagrammes d'algorithmes de programme.

Le GOST considéré est presque entièrement conforme à la norme internationale OIN 5807:1985.

Éléments de l'organigramme de l'algorithme

Un diagramme fonctionnel est un ensemble de symboles correspondant aux étapes de l’algorithme et aux lignes qui les relient. Ligne pointillée utilisé pour relier un symbole à un commentaire. ligne continue reflète les dépendances de contrôle entre les symboles et peut être doté d'une flèche. La flèche peut ne pas être indiquée lorsque l'arc est dirigé de gauche à droite et de haut en bas. Selon la clause 4.2.4, les lignes doivent s'approcher du symbole par la gauche ou par le haut et venir d'en bas ou par la droite.

Il existe d'autres types de lignes utilisées, par exemple, pour représenter des schémas fonctionnels d'algorithmes parallèles, mais elles, ainsi qu'un certain nombre de symboles spécifiques, ne sont pas prises en compte dans le présent article. Seuls les symboles de base sont considérés, qui sont toujours suffisants pour les étudiants.

Terminateur pour le début et la fin d'une fonction

Chaque fonction commence et se termine par un terminateur. Le type de la valeur de retour et des arguments de la fonction est généralement spécifié dans les commentaires du bloc terminateur.

Opérations d'entrée et de sortie de données

GOST définit de nombreux symboles d'entrée/sortie, par exemple la sortie sur des bandes magnétiques, des écrans, etc. Si la source de données n'est pas critique, le symbole du parallélogramme est généralement utilisé. Les détails des E/S peuvent être spécifiés dans les commentaires.

Effectuer des opérations sur des données

Un bloc d'opérations contient généralement une ou plusieurs opérations d'affectation (GOST ne l'interdit pas) qui ne nécessitent pas d'appel de fonctions externes.

Bloc illustrant le branchement de l'algorithme

Le bloc en forme de losange possède une entrée et plusieurs sorties signées. Si un bloc a 2 sorties (correspond à un opérateur de branchement), le résultat de la comparaison leur est signé - « oui/non ». Si plus de lignes sortent du bloc (opérateur de sélection), le nom de la variable est écrit à l'intérieur, et les valeurs de cette variable sont écrites sur les arcs sortants.

Appel d'une procédure externe

Les appels aux procédures et fonctions externes sont placés dans un rectangle avec des lignes verticales supplémentaires.

Début et fin de cycle

Les symboles de début et de fin d'une boucle contiennent un nom et une condition. La condition peut ne pas être présente dans l'un des symboles de la paire. L'emplacement de la condition détermine le type d'opérateur correspondant aux symboles dans le langage de haut niveau - un opérateur avec une précondition (while) ou une postcondition (do ... while).

Préparation des données

Le symbole « préparation des données » sous quelque forme que ce soit (il n'y a pas d'explications ni d'exemples dans GOST) spécifie les valeurs d'entrée. Généralement utilisé pour définir des cycles de compteur.

Connecteur

Si l'organigramme ne tient pas sur une feuille, un symbole de connecteur est utilisé pour refléter la transition du flux de contrôle entre les feuilles. Le symbole peut être utilisé sur une feuille si, pour une raison quelconque, il n'est pas pratique de tracer une ligne.

Un commentaire

Un commentaire peut être connecté soit à un bloc, soit à un groupe. Un groupe de blocs est mis en évidence sur le schéma par une ligne pointillée.

Exemples de diagrammes fonctionnels

À titre d'exemple, des schémas fonctionnels d'algorithmes de tri très simples sont construits, l'accent étant mis sur diverses implémentations de boucles, car Les élèves font le plus grand nombre d’erreurs dans cette partie.

Tri par insertion

Tableau dans l'algorithme tri par insertion divisé en parties triées et non encore traitées. Initialement, la partie triée est constituée d'un élément et augmente progressivement.

A chaque étape de l'algorithme, le premier élément de la partie brute du tableau est sélectionné et inséré dans la partie triée afin que l'ordre requis des éléments soit préservé. L'insertion peut être effectuée soit à la fin du tableau, soit au milieu. Lors de l'insertion au milieu, vous devez déplacer tous les éléments situés « à droite » de la position d'insertion d'un élément vers la droite. L'algorithme utilise deux boucles - dans la première, les éléments de la pièce brute sont sélectionnés et dans la seconde, l'insertion est effectuée.


Organigramme de l'algorithme de tri par insertion

Le diagramme ci-dessous utilise un symbole de branche pour organiser la boucle. Dans la boucle principale (je< n) Parcourt les éléments de la partie brute du tableau. Si tous les éléments sont traités, l'algorithme se termine ; sinon, une position d'insertion est recherchée. moi queélément. La position recherchée sera stockée dans la variable j suite à l'exécution d'une boucle interne qui décale les éléments jusqu'à ce qu'un élément dont la valeur soit inférieure soit trouvé. moi que.

Sur diagramme montre comment le symbole de transition peut être utilisé - il peut être utilisé non seulement pour connecter des parties de circuits situées sur différentes feuilles, mais également pour réduire le nombre de lignes. Dans certains cas, cela permet d’éviter de franchir des lignes et rend l’algorithme plus facile à comprendre.

Tri à bulles

Tri à bulles, ainsi que tri par insertion, utilise deux boucles. Dans une boucle imbriquée, une comparaison par paires d'éléments est effectuée et, si leur ordre est violé, un réarrangement est effectué. À la suite de l'exécution d'une itération de la boucle interne, il est garanti que l'élément maximum soit déplacé vers la fin du tableau. La boucle externe s'exécute jusqu'à ce que l'ensemble du tableau soit trié.


Organigramme de l'algorithme de tri à bulles

Le diagramme montre l'utilisation des symboles de début et de fin de boucle. La condition de boucle externe (A) est vérifiée à la fin ( avec postcondition), cela fonctionne tant que la variable a échangé a le sens vrai. La boucle interne utilise condition préalable pour parcourir des paires d’éléments comparés. Si les éléments sont dans le mauvais ordre, ils sont réorganisés en appelant procédure externe (échanger). Afin de comprendre l'objet de la procédure externe et l'ordre de ses arguments, il est nécessaire de rédiger des commentaires. Si la fonction renvoie une valeur, un commentaire peut être écrit dans le caractère de fin de fin.

Tri par sélection

DANS tri par sélection le tableau est divisé en parties triées et brutes. Au départ, la partie triée est vide, mais progressivement elle augmente. L'algorithme recherche l'élément minimum de la partie non traitée et l'échange avec le premier élément de la même partie, après quoi on considère que le premier élément a été traité (la partie triée est augmentée).


Organigramme de tri par sélection

Le schéma fonctionnel montre un exemple d'utilisation du bloc « préparation », et montre également que dans certains cas, il est possible de décrire l'algorithme de manière plus « élargie » (sans entrer dans les détails). Les détails d'implémentation ne sont pas pertinents pour le tri par sélection. trouver l'index de l'élément minimum du tableau, ils peuvent donc être décrits par un symbole d'appel de procédure externe. S'il n'y a pas de schéma fonctionnel de l'algorithme de procédure externe, cela ne ferait pas de mal d'écrire un commentaire sur le symbole d'appel ; une exception peut être les fonctions avec des noms significatifs comme échanger, trier, … .