![]() |
Fiche mémo |
Février 2019 |
En programmation procédurale on n'utilise jamais les "GOTO" ou saut de toutes sortes comme c'est possible de le faire en BASIC. On défini le programme en PROCEDURES qui se confortent entre elles. Ces procédures peuvent avoir besoin d'informations en entrée, on les appel simplement des parametres.
Il est nécessaire de réfléchir à votre problème avant de vous lancer dans la création du code, le présenter sous cette forme présente différents avantages.
La traduction en code vers un langage ou un autre en est grandement simplifiée.
Les mots clé comme "TANT QUE", "SINON" sont facile à détecter au premier coup d'oeil.
Les décalages du texte s'appellent "l'indentation",
les respecter dès la phase d'analyse du problème facilite la compréhension visuelle.
Cette pratique d'indentation, il faudra la conserver
pour le codage de votre programme...
Chaque bloc doit remplir une fonction et avoir un nom qui permet d'identifier facilement son utilité.
Comme le bloc ne contient pas de "GOTO" il n'y a qu'une entrée et qu'une sortie. Parfois cette contrainte oblige à bien réfléchir pour trouver le "TANT QUE"
nécessaire pour aboutir à ce résultat !
Chaque "action" d'une procédure, si elle n'est pas réalisable en une seule opération par le langage que vous allez
utiliser devra faire l'objet d'une création d'une nouvelle procédure.
Dans cet exemple le langage est capable de remplir simplement les actions mentionnées. Je dis le langage mais ces tâches sont en réalité
réalisées facilement par le système d'exploitation de la machine.
Dans l'exemple "l'action" Afficher une ligne a été transformée en procédure pour vous montrer le principe, mais en réalité tous les langages
de programmation dit de "haut niveau" son capable de remplir cette fonction directement. Très souvent cette fonction de base s'appelle "PRINT".
Par contre si le développement du programme est réalisé avec un langage de "bas niveau" tel que l'assembleur ou pire le langage machine, cette simple "action"
"Afficher ligne" va demander l'écriture de dizaines de procédures.
Le cas présenté dans cet exemple est complétement assimilé par les ordinateurs puisqu'il fait partie de sa structure (ligne d'écran) il est donc intégré
dans le système d'exploitation de la machine.
Ici on comprend bien que les ordinateurs n'ont pas la science infuse et que les procédures de gestion de notre poulailler
ne sont pas intégrées dans le système d'exploitation de la machine, ni même dans les commandes d'un langage dit "évolué".
Cet exemple un peu plus complexe nous laisse présager de toute la puissance de l'analyse procédurale. Si nous attaquons le problème 'bille en tête'
on voit bien qu'il va nous falloir des centaines d'actions pour expliquer à la machine comment ouvrir une porte de poulailler ou pour attraper une poule
et rapidement on ne s'y retrouvera plus dans la complexité de notre code.
Les procédures vont nous permettre de découper notre code en de multiple
blocs de procédures simples qu'il suffira d'assembler. Les avantages sont nombreux, certains blocs pourront être réutilisés plusieurs fois, certains
autres pourront être développés par un ami programmeur ou récupérés sur internet sur un projet qui traitait par exemple de l'ouverture d'une porte de voiture...
Voilà les quelques conseils que je souhaitais vous laisser si vous êtes débutant. Aujourd'hui on parle beaucoup de la programmation objet, ces deux approches ne sont pas opposées mais complémentaires. Les langages évolués supportent les deux types d'approches et elles cohabitent dans les programmes.