Règles du bon pseudocode

Quelques raccourcis :

Le pseudocode est un langage pour exprimer clairement et formellement un algorithme. Ce langage est près d'un langage de programmation comme Pascal, C# ou C++, sans être identique à l'un ou à l'autre. Il exprime des idées formelles dans une langue près du langage naturel de ses usagers (pour nous, le français) en lui imposant une forme rigoureuse.

Quelques trucs suivent pour vous aider à rédiger du « bon » pseudocode.

Identification

Il est essentiel d'identifier l'auteur de tout document remis au professeur, même s'il ne s'agit « que » de pseudocode. Assurez-vous de respecter les règles d'identification en vigueur dans votre cours.

Nomenclature

Pour une réflexion plus poussée sur la nomenclature, voir ../../Sujets/Developpement/Pratique-programmation.html#nomenclature

Quelques règles ne nommage simples suivent :

Règles générales

En pseudocode :

Correct Incorrect
PI ← 3,14159
Lire rayon
volume ← 4 / 3 * PI * rayon ^ 3
Écrire volume
PI ← 3,14159;
Lire rayon;
volume ← 4 / 3 * PI * rayon ^ 3;
Écrire volume;
Correct Incorrect
TAUX_CHANGE_CANADIEN ← 0,79
lire montantCanadien
montantAmérican ← montantCanadien * TAUX_CHANGE_CANADIEN
// ou encore
montantAmérican ← montantCanadien *
                  TAUX_CHANGE_CANADIEN
Écrire montantAméricain
TAUX_CHANGE_CANADIEN ← 0,79
lire montantCanadien
// présentation confuse
montantAmérican ← montantCanadien *
TAUX_CHANGE_CANADIEN
Écrire montantAméricain
Correct Incorrect
PI ← 3,14159
Lire rayon
volume ← 4 / 3 * PI * rayon ^ 3
Écrire volume
const float PI ← 3,14159
float rayon,
      volume
Lire rayon
volume ← 4 / 3 * PI * rayon ^ 3
Écrire volume

Opérations primitives

Le symbole ← utilisé pour l'affectation en pseudocode est un emprunt direct au langage APL, qui a inspiré plusieurs autres langages

À propos des opérations primitives exprimées en pseudocode :

Correct Incorrect
Lire hauteur
Lire largeur
Lire nom
// une constante ne peut être lue au clavier, par définition
Lire HAUTEUR
// le littéral "largeur" est du texte; ce n'est pas une variable
Lire "largeur"
// la primitive Lire ne lit qu'une variable à la fois
Lire hauteur, largeur ,nom
Correct
Écrire surface
Écrire TAILLE
Écrire 3
Écrire "J'aime mon prof"
// affichera 5
Écrire 2 + 3
// affichera le texte 2 + 3
Écrire "2 + 3"
// Présumant une fonction Sqrt qui calcule et retourne la racine carrée
// de son paramètre, ce qui suit affichera 4
Écrire Sqrt(16)
Correct Incorrect
PI ← 3,14159
Lire hauteur
surface ← hauteur ^ 2
résultat ← Sqrt(4)
message ← "J'aime mon prof"
// on ne peut modifier un littéral
3 ← hauteur
"J'aime mon prof" ← message
// on ne peut modifier un appel de fonction
Sqrt(4) ← résultat
// on ne peut modifier une expression
2 + 3 ← 5
Correct Incorrect
PI ← 3,14159
E ← 2,71828
Lire hauteur
surface ← hauteur ^ 2
résultat ← Sqrt(4)
message ← "J'aime mon prof"
PI ← 3,14159, E ← 2,71828
Lire hauteur, largeur
Écrire "J'aime mon prof" nomDuProf "!"
Correct Incorrect
PI ← 3,14159
E ← 2,71828
MESSAGE ← "J'aime mon prof"
PI ← 3,14159
// on ne peut lire la valeur d'une constante : cette valeur est fixée a priori
Lire PI
MESSAGE ← "J'aime mon prof"
// on ne peut plus modifier une constante une fois celle-ci initialisée
MESSAGE ← "Moi aussi!"

Exemple simple d'un programme calculant et affichant le volume d'une sphère, étant donné son rayon, le tout exprimé en pseudocode. Notez la constante en majuscules, les noms de variables, la notation pour l'affectation, etc.

PI ← 3,14159
Lire rayon
volume ← 4 / 3 * PI * rayon^3
Écrire volume

Autres opérations

Le pseudocode ne se limite pas aux opérations primitives.

Opérations arithmétiques

Les opérateurs arithmétiques admis sont les suivants :

Notation en pseudocode

Équivalent en notation mathématique

Sens

a + b

Addition de a et de b

a - b

Valeur de a à laquelle on aurait soustrait b

a * b

Produit de a et de b

a / b

Quotient de la division de a par b (indéfini si )

a % b

Reste de la division de a par b (indéfini si )

a ^ b

Résultat de l'élévation de a à la puissance b

Sur le plan de la notation, le pseudocode se limite à du texte susceptible d'être écrit au clavier. De même, la multiplication doit être exprimée explicitement

Correct Incorrect
PI ← 3,14159
Lire x
y ← 2 * x
volume ← 4 / 3 * PI * rayon ^ 3
Écrire Sqrt(x+y)
 ← 3,14159
Lire x
y ← 
volume ← 
Écrire 

Opérations relationnelles

Les opérateurs relationnels admis sont les suivants :

Notation en pseudocode

Équivalent en notation mathématique

Sens

a < b

a est plus petit que b (a précède b)

a <= b

a est plus petit ou égal à b

a > b

a est plus grand que b (a suit b)

a >= b

a est plus grand ou égal à b

a = b

a est égal à b

a != b

a est différent de b

Opérations logiques

Les opérateurs logiques admis sont les suivants :

 Notation en pseudocode   Équivalent en notation mathématique   Sens 
a ET b

Vrai seulement si a et b sont tous deux vrais

a OU b

Faux seulement si a et b sont tous deux faux

NON a

Vrai seulement si a est faux

Tests

Un programme peut être testé même lorsqu'il n'existe que sous forme de pseudocode :