s
19 708 Pages

en informatique la programmation structurée est un paradigme de programmation émergé parmi sixties et soixante-dix dans le cadre de programmation procédurale. Les concepts introduits par la programmation structurée sont à la base de beaucoup d'autres paradigmes de procédure ultérieurs, notamment orienté objet.

Les origines conceptuelles

peuvent être tracés les idées clés de la programmation structurée retour à la critique la structure de contrôle la saut inconditionnel (ou goto, « Aller à »), ce qui représente, en sixties, l'instrument fondamental pour la définition de algorithmes logiciels complexes. Dans un article célèbre 1968, Aller à la Déclaration Considered Harmful, Edsger Dijkstra Il étudié en profondeur les effets délétères de la goto sur la qualité des logiciels, et en particulier sur sa lisibilité et mutabilité (le soi-disant problème de code spaghetti).

Une autre publication populaire qui est essentiel à la programmation structurée émergente était Diagrammes de flux, et les machines de Turing langues avec seulement deux règles de formation, quand Corrado Böhm et Joseph a montré la Jacopini leur fameux théorème. Selon ce théorème, tout programme écrit en utilisant goto ne pouvait pas être réécrite, si longtemps d'avoir trois autres types de structures de contrôle: séquence, sélection et cycle. Le résultat de Böhm-Jacopini peut également être exprimé en disant que, compte tenu de tout organigramme, il existe au moins une autre que la parité d'entrée produit toujours la même sortie que le premier et dans lequel les nœuds de l'organigramme respecter un certain ensemble de contraintes.

La structure de contrôle

icône Loupe mgx2.svg Le même sujet en détail: organisme d'inspection.

Les structures de contrôle autorisées par langues structurées, et les règles syntaxiques et sémantiques de leur utilisation, peuvent varier dans les détails spécifiques; Toutefois, un certain nombre d'exigences de base doivent être respectées:

  • état complet. Un langage structuré doit fournir séquence, au moins un type de structure alternative, et au moins un type de structure itératif;
  • seul point d'entrée et de sortie. Idéalement, chaque structure de contrôle, des instructions complètes contrôlée, Il doit pouvoir être considéré comme un simple macro-instruction du point de vue d'ensemble de contrôle, avec un point d'entrée clairement identifié et un point de sortie clairement identifié.
  • modularité. Chaque structure de contrôle peut avoir entre ses instructions de filiales, récursive, d'autres structures de commande (illimitée).

Les deux dernières contraintes signifient que, en ce qui concerne la flux de contrôle, chaque structure de commande définit une sphère complètement isolé des autres, et incapable d'interférer avec ou de subir des interférences. Ceci est une condition préalable à l'application des méthodes de conception et de développement traditionnellement liés à la programmation structurée, tels que conception descendante et le développement par raffinements successifs.

séquence

la schéma ci-dessous montre la structure Général de la séquence. En rouge est montré le seul point d'entrée, dans le seul point de sortie vert.

séquence d'instructions

sélection

Le schéma ci-dessous montre deux exemples d'alternatives structurées (à gauche un if..then..else, à droite un if..then). En rouge est montré le seul point d'entrée, dans le seul point de sortie vert.

Deux types d'itérations structurées

itération

Le schéma ci-dessous montre deux exemples d'itérations structurées (laissé un while..do .., à droite un REPEAT..UNTIL ..). En rouge est montré le seul point d'entrée, dans le seul point de sortie vert.

Deux types de solutions structurées

De nouvelles représentations graphiques.

programmation structurée
Dans les schémas de scatuli bleus ou Nassi-Schneiderman, inventé pour la nouvelle théorie. En vert, vous voyez leurs équivalents.

modularité

Le schéma suivant montre un exemple de composition de deux structures de contrôle: une structure de sélection est inséré dans un processus itératif. On peut noter que la composition entière maintient un seul point d'entrée et un point de sortie.

Iteration des alternatives

Les langages de programmation structurés

la langages de programmation structurés Ils ont commencé à émerger au tournant du soixante-dix. incorporation idées Böhm et Jacopini, ils ont offert un ensemble complet de structures de commande, ou au moins une forme de séquence, une alternative et une itération. En fait, dans la plupart des cas, ils ont reçu quelques variantes pour chaque famille de structures de contrôle. Presque tous les concepteurs de ces langues, cependant, ont gardé la goto comme outil possible pour la structure de commande (sconsigliandone souvent utilisé).

Dans la plupart des cas, ces langues ont introduit une partie de blocage, qui étaient souvent fondées sur des caractéristiques connexes de la langue, comme le règles balais pour les identifiants (par exemple, précédent constantles variables).

Parmi la langue typique du paradigme structuré peut citer:

  • pascal
  • Algol
  • C ++

La programmation structurée dans l'histoire de la programmation

La programmation structurée représente une étape fondamentale de l'évolution de la programmation que l'on appelle courant dominant, à-dire la séquence des paradigmes qui, au fil des ans, passant de l'un à l'autre, ont dominé le monde de l'industrie du logiciel. En particulier, à la fois le prochain paradigme de programmation modulaire que le paradigme de la programmation orientée objet Ils ont maintenu les mêmes principes de programmation structurée en ce qui concerne la structuration du « ordinaire » et le contrôle « séquentielle », que par l'introduction de nouveaux mécanismes pour faire face aux problèmes (nés plus tard) de la gestion des exceptions et le développement de programmes concurrents.

Articles connexes

liens externes

autorités de contrôle LCCN: (FRsh85129214 · GND: (DE4058133-0 · BNF: (FRcb11966709k (Date)