La description du fonctionnement des systèmes peut se faire de différentes manières:
Le pseudo-code (ou LDA: langage de description des algorithmes) est une écriture simplifiée des algorithmes qui ne nécessite pas de connaître de langage de programmation (exple: python, C...).
Il n'y a pas de norme qui régisse ce langage. Toutefois, le site ISNCodeLab décrit de manière précise le langage pseudo-code. Je me contenterai par la suite de décrire les bases.
ALGORITHME Nom_de_l_algorithme
//zone de déclaration des constantes,variables et des routines
DEBUT
//zone des instructions
FIN
En anglais:
ALGORITHM
BEGIN
END
ALGORITHME calcul-surface-ou-volume
//cette algorithme permet de calculer la surface ou
// le volume pour une hauteur fixe en fonction du choix utilisateur.
CONSTANTES
Hauteur=2 //ici hauteur fixe
VARIABLES
REEL: coteA, coteB, Surface, Volume //les cotés A,B,Surface et volume seront de type réel
ENTIER: Choix
DEBUT
ECRIRE ("Rentrer la dimension A:") //écris sur l'écran rentrer la dimension A et met
//la réponse dans la variable CoteA:
LIRE coteA
ECRIRE("Rentrer la dimension B:")
LIRE coteB
ECRIRE("Pour connaitre la surface(taper 1) et le volume(taper 2):")
LIRE Choix
SI Choix=1 ALORS
Surface=coteA*coteB //calcul de la surface
AFFICHER (Surface) //affiche le résultat à l'écran
SINON SI Choix=2 ALORS
Volume=coteA*coteB*Hauteur
AFFICHER (Volume) //affiche le résultat à l'écran
FIN_SI
FIN_SI
FIN
Remarques:
Cette partie permet de définir tous les éléments qui seront utilisés dans la zone instruction. On retrouvera dans cette partie les constantes, variables et routines (procédures et fonctions).
CONSTANTES
(CONSTANTS)
Exemple: A=1
Une constante ne peut pas être modifiée.
VARIABLES
(VARIABLES)
Exemple: a←valeur ou a:=valeur
Rq: faire alt et 27 pour obtenir la ←
La valeur (par exemple 1) sera affectée à la variable a. Cette valeur pourra changée durant l’exécution de l'algorithme.
ROUTINES
Non développée
Remarques:
Cette partie permet de décrire les instructions qui vont être réalisées
Pour les structures de choix, il faut bien faire attention d'indenter (espace) votre algorithme pour la compréhension.
SI ALORS SINON
(IF-THEN-ELSE-ENDIF)
SI expression booléenne ALORS
Instruction
...
SINON
Instruction
...
FIN_SI
Rq: le SINON est facultatif.
Une expression booléenne permet une comparaison (a=1 ou a<2 ou a=vrai ...)
Les symboles sont les suivants:
=:égal à ; <>différent de; < inférieur à ; > supérieur à ; <= inf ou égal à; >= supérieur ou égal à.
Si l'on veut utiliser plusieurs variables, on utilise les fonctions logiques:
Choix multiples : SELON
(CASE...OF-OTHERS-ENDCASE)
SELON variable
valeur1_variable: Instruction
valeur2_variable: Instruction
...
AUTREMENT : Instruction
FIN_SELON
Ce type de structure permet:
TANT_QUE
(WHILE-ENDWHILE)
TANT_QUE expression booléenne
Instruction
...
FIN_TANT_QUE
REPETER-JUSQU'A
(REPAT-UNTIL)
REPETER
Instruction
....
JUSQU'A expression booléenne
POUR
(FOR - TO - ENDFOR)
POUR variable ALLANT DE valeur début A valeur fin (PAR_PAS_DE incrément)
Instruction
...
FIN_POUR
Rq: la liste des instructions seront exécutées en fonction d'une variable dont la valeur variera entre une valeur de début et de fin en fonction d'un incrément (si cet incrément est 1, il n'est pas nécessaire d'indiquer le pas). De plus, il est tout à fait possible d'avoir un incrément négatif.
Exple: l'instruction1 sera ici exécutée 3 fois. une fois pour la x=0, puis pour x=2 et enfin pour x=4
POUR x ALLANT DE 0 A 4 (PAR_PAS_DE 2)
Instruction1
FIN_POUR