Graphe NSD

Graphe NSD

Structogramme

Sommaire

Description algorithmique

Il existe plusieurs méthodes graphiques pour décrire un algorithme. Elles permettent de décrire les différentes opérations sous forme d’un schéma indiquant les différents ordres et conditions traités.

La méthode présentée ici est un modèle proposé par Nassi-Schneidermann : le structogramme ou graphe NSD. C’est une description graphique des instructions nécessaires à résoudre le problème. Il s'agit de graphes emboîtés qui permettent de représenter des traitements séquentiels, des tests et des répétitions.

Les éléments suivant la norme DIN 66261

Un structogramme se lit du haut vers le bas, comme d'ailleurs n'importe quel code source. Voici les éléments et structures les plus importants:

Généralités

En général, le nom du programme ou de la méthode est écrit en haut du structogramme. On distingue entre un structogramme d'un simple programme et celui d'une méthode (procédure ou fonction):

Programme

Le structogramme d'un programme à des coins "carrés".

NSD PROGRAMME.png

Méthode

Le structogramme d'une procédure ou fonction est représenté avec des coins "ronds". Si la méthode possède des paramètres ou donne un retour, cela est généralement aussi noté dans l'entête.

Voici l'exemple d'un programme qui calcule l'aire d'un cercle.

NSD METHODE.png

Instruction

Les instructions sont écrites dans des boites carrées.

Voici un exemple d'un programme qui calcule la somme de deux nombres entrés au clavier.

NSD CALCUL SOMME.png

  • Tout d'abord, le programme lit le nombre "A",
  • puis le nombre "B".
  • Ensuite il calcule la somme des deux et sauvegarde celle-ci dans la variable "SOMME".
  • Finalement, le résultat, c'est à dire le contenu de la variable "SOMME", est affiché à l'écran.

Structure alternative

Ces structures permettent de distinguer, sur base d'une condition, dans quelle direction le programme doit évoluer. En effet, le programme peut ainsi distinguer deux ou plusieurs voies et exécuter en fonction de cela différentes instructions.

La structure "if"

La structure alternative permet au programme de distinguer, selon une expression booléenne (=condition) donnée, deux cas différents. Le résultat de l'expression booléenne est soit VRAI (en anglais "true"), soit FAUX (en anglais "false"). Si le résultat est VRAI, la partie gauche (V) du structogramme est exécutée, sinon, la partie droite (F) est suivie.

(V) se trouve toujours à gauche et (F) toujours à droite.

NSD IF COMPLET.png

Il est aussi possible, que la partie droite reste vide, c'est à dire qu'aucune instruction ne soit exécutée si la condition est fausse. Dans ce cas on dessine un ensemble vide dans la case (F).

NSD IF SIMPLE.png

La structure "case"

La structure "case" permet de distinguer plusieurs case selon la valeur d'une expression donnée. Elle permet de distinguer théoriquement un nombre illimté de cas. Si aucun des cas donné ne valide l'expression, la dernière colonne "sinon" est exécutée.

NSD CASE.png

(Sur l'exemple ci-dessus, il n'y a pas d'instructions à exécutées, c'est pourquoi toutes les colonnes contiennent des ensembles vides.)

Structure répétitive

Une structure répétitive, encore appelée une "boucle", permet de répéter une ou plusieurs instructions un certain nombre de fois. Il existent différents types de structures répétitives:

La structure "for"

La structure répétitive "for", en français "pour", sert à répéter des instructions données un certain nombre de fois. Cette structure peut être utilisée, si on connaît d'avance le nombre de répétitions dont on a besoin. La forme générique est la suivante:

NSD FOR.png

Cette boucle possède un compteur <COMPTEUR> qui va d'une valeur initiale <VAL_DEBUT> à und valeur finale <VAL_FIN>. A chaque étappe, le compteur est incrémenté d'une unité.

Ainsi, le programme suivant affiche 10 fois le mot "Hello" à l'écran.

NSD DIX FOIS HELLO.png

La structure "while"

Fortement similaire à la structure de la boucle POUR, elle diffère au niveau de sa forme. Si le boucle POUR forme un "C" la boucle WHILE (TANTQUE) forme un "L" retournée, la condition est mise dans l'en-tête comme pour la boucle POUR.

La condition se présente sous la forme "TANTQUE i < j"

La structure "repeat"

Fortement similaire à la structure de la boucle TANTQUE, elle diffère au niveau de sa forme. Si le boucle TANTQUE forme un "L" retournée la boucle REPEAT (JUSQU'A ou BOUCLE TANTQUE) forme un "L", la condition est mise dans le pied du "L".

Littérature

Nassi, I.; Shneiderman, B.: Flowchart techniques for structured programming, SIGPLAN Notices XII, août 1973.

Logiciels

Liens externes

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Structogramme ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Graphe NSD de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Structogramme — Le structogramme ou graphe NSD, modèle[1] proposé par Nassi Schneidermann, est une description graphique des instructions nécessaires à résoudre le problème. Il s agit de graphes emboîtés qui permettent de représenter des traitements séquentiels …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”