Programmation structuree

Programmation structuree

Programmation structurée

La programmation structurée constitue un sous-ensemble de la programmation impérative. C'est un paradigme important de la programmation, apparu vers 1970. Elle dérive de travaux de Nicklaus Wirth pour son Algol W et reçut son coup d'envoi avec l'article fondateur de Dijkstra dans Communications of the ACM nommé GO TO statement considered harmful[1].

Elle est en effet célèbre pour son essai de suppression de l'instruction goto ou du moins pour la limitation de son usage à des cas inhabituels et graves (que l'on nommerait aujourd'hui (2008) des exceptions).

Sommaire

Histoire

Au début des années 1970, des ouvrages de Jean-Dominique WARNIER (1920-1990) ont exprimé les principes de la Logique de Construction de Programmes (LCP). Selon ces principes, la structure hiérarchique d'un programme se seraient déduits logiquement de la structure des données utilisées. La construction du programme commence par la structuration des données qu'il doit produire en sortie.

Usage

La programmation structurée est possible dans n'importe quel langage de programmation procédural, mais certains comme le FORTRAN IV s'y prêtaient très mal. Vers 1970, la programmation structurée devint une technique populaire, et les langages de programmation procéduraux intégrèrent à l'image d'Algol et en le dépassant des mécanismes rendant aisée la programmation structurée (faisant tomber en désuétude des langages parfois novateurs, mais qui facilitaient une programmation dé-structurée). Parmi les langages de programmation les plus structurants, on trouve PL/I, Pascal et, plus tardivement pour les projets de très grande taille, Ada.

Pour l'écriture de fragments assez courts, la programmation structurée recommande une organisation hiérarchique simple du code. On peut le faire dans la plupart des langages de programmation modernes par l'utilisation de structures de contrôles while, repeat, for, if .. then .. else. Il est également recommandé de n'avoir qu'un point d'entrée pour chaque boucle (et un point de sortie unique dans la programmation structurée originelle), et quelques langages l'imposent. Cette technique, bien qu'un peu contraignante (c'est-à-dire qu'il serait parfois utile d'avoir un traitement différent selon la façon dont on est sorti d'une boucle sans avoir à effectuer de test ultérieur), facilite ensuite considérablement le débogage ultérieur.

Les programmeurs décomposent leur code en modules (appelés fonctions et procédures dans certains langages) ne dépassant guère 60 lignes, afin d'être présente en entier sous les yeux. On recommande aux programmes d'éviter l'usage des variables globales afin de prévenir les effets secondaires (side effects) : les sous-programmes utilisent donc des variables locales et agir sur des arguments fournis explicitement en paramètre, par valeur (leur contenu) ou par référence (l'adresse de ce contenu). Ces techniques aident à créer des petits morceaux de code, faciles à comprendre isolément et sans nécessité d'avoir à en connaître le contexte.

Méthodologie associée

La programmation structurée est souvent utilisée conjointement à la méthodologie de développement par décompositions successives (top-down design), mais ne se confond pas avec elle : Smalltalk, bon langage de conception top-down, n'est par exemple guère structuré). Dans cette approche les programmeurs décomposent la structure, à large échelle, d'un programme en termes d'opérations plus petites, implémentent et testent ces petites opérations, et les assemblent pour réaliser le programme. Cela n'est évidemment possible que sur des domaines applicatifs déjà bien connus, sans quoi la décomposition risque dès le départ de ne pas être la bonne, ce qui est très difficile à modifier ensuite.

À la fin du XXe siècle la plupart des programmeurs avaient adopté la programmation structurée. Dijkstra rappelait qu'un programme devait d'abord être compris par le programmeur et ses collègues chargés de la maintenance, et que si cette tâche était accomplie, le reste - le faire exécuter à la machine - n'était plus que formalité.

Références

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Programmation structur%C3%A9e ».

Wikimedia Foundation. 2010.

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

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Programmation structurée — La programmation structurée constitue un sous ensemble de la programmation impérative. C est un paradigme important de la programmation, apparu vers 1970. Elle dérive de travaux de Nicklaus Wirth pour son Algol W et reçut son coup d envoi avec l… …   Wikipédia en Français

  • programmation structurée — struktūrinis programavimas statusas T sritis automatika atitikmenys: angl. structured coding; structured programming vok. strukturelle Programmierung, f rus. структурированное программирование, n; структурное программирование, n pranc.… …   Automatikos terminų žodynas

  • programmation structurée — ● loc. f. ►PROG Programmation dans laquelle on utilise des structures de contrôle (boucles do, for, while...) standardisées qui permettent d écrire un code plus clair et plus simple à maintenir …   Dictionnaire d'informatique francophone

  • PROGRAMMATION — Un ordinateur est une machine universelle pour le traitement de l’information. Il doit pouvoir être utilisé aussi bien pour des calculs numériques que pour la gestion d’un stock de pièces détachées ou des travaux de secrétariat. Il est donc… …   Encyclopédie Universelle

  • Programmation — informatique Pour les articles homonymes, voir Programmation (homonymie). La programmation dans le domaine informatique est l ensemble des activités qui permettent l écriture des programmes informatiques. C est une étape importante de la… …   Wikipédia en Français

  • Programmation imperative — Programmation impérative En informatique, la programmation impérative est un paradigme de programmation qui décrit les opérations en termes de séquences d instructions exécutées par l ordinateur pour modifier l état du programme. Sommaire 1… …   Wikipédia en Français

  • Programmation Génétique — La programmation génétique est une méthodologie automatique inspirée par la théorie de l évolution telle qu elle a été définie par Charles Darwin dans le cas particulier des mécanismes biologiques. Elle se fixe pour but de trouver par… …   Wikipédia en Français

  • Programmation genetique — Programmation génétique La programmation génétique est une méthodologie automatique inspirée par la théorie de l évolution telle qu elle a été définie par Charles Darwin dans le cas particulier des mécanismes biologiques. Elle se fixe pour but de …   Wikipédia en Français

  • Programmation évolutionnaire — Programmation génétique La programmation génétique est une méthodologie automatique inspirée par la théorie de l évolution telle qu elle a été définie par Charles Darwin dans le cas particulier des mécanismes biologiques. Elle se fixe pour but de …   Wikipédia en Français

  • Programmation (homonymie) — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Informatique La programmation informatique est l ensemble des activités qui permettent l écriture des programmes informatiques. On distingue… …   Wikipédia en Français

Share the article and excerpts

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