home castoo
chapitre programmation
programmation procédurale

Fiche mémo
La programmation procédurale

Février 2019

Pour décortiquer un process trois structures de base doivent sufire

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.

Structure de base.

Procédurale structures de base

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.


Utiliser les procédures avec un langage dit "évolué".

Procédurale langage évolué

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.


Utiliser les procédures avec un langage dit "de bas niveau".

Procédurale langage bas niveau 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.


Retour accueil programmation

Bricolage Robotique Informatique Peinture Voyage
Téléc. portail Le robot "mécano" Astuces informatique Henri Bertrou Auvergne
Bat. Iphone 6S Le robot "solaire" Réseau couche app. Jean-Michel Castille Floride
Robot piscine Servo et IR" Réseau Les couches New York
Xiaomi M365 Le robot "thymio" Réseaux Outils L'Ouest américain
Mac Mini Le robot "Rovio" Unités grandeur inf. L'Ile Maurice
Putty SSH Windows L'Italie / Venise
Bases Raspberry Tunisie
Termius IPhone/IPad Grece
Le vieux ZX 81
...
Navigation La Rochelle CNC / Imp3D Electronique Programmation
Rencontre dauphins Les Minimes Construction CNC Alim. TPL 5110 Doc. programme
Analyse NMEA 0183 Le Vieux port CNC du commerce Carte ESP8266 Indent programme
graph. NMEA 0183 L'Ile de Ré Martyr CNC ESP8266 1 relai Prog. objet
Analyse trames AIS A visiter Réa. imp. 3D ESP8266 Alarme Prog. procédurale
Analyse AIS TCP-IP Cura impression 3D ESP8266 MQTT
Sortie en ketch Plateau CR10 ESP8266 Temp.
Echange GPS C80 Anémomètre.
HP Sun-Odyssey CNC / 3D en vrac MCP9808 Librairie
LCD yanmar Saisie Oled
Testeur nmea esp1 i2c