Écrivez un algorithme dans la syntaxe du cours, puis exécutez-le instruction par instruction : chaque ligne modifie les variables, comme dans un débogueur. Les fonctions et les procédures sont prises en charge : à chaque appel, leurs paramètres et leurs variables locales apparaissent dans le panneau Variables.
Algorithme Nom Variables a, b : entier x : réel nom : chaîne c : caractère ok : booléen Constante TVA = 0.2 Début // instructions Fin
Types : entier, réel, chaîne, caractère, booléen. Commentaires : // ligne ou /* bloc */. Majuscules et accents sont facultatifs.
x ← 5 // ou x <- 5
Lire(a, b)
Ecrire("a vaut ", a)
EcrireAvecSaute("a vaut ", a)
Message ← "n = " & nEcrire n’ajoute pas de retour à la ligne : le texte suivant continue sur la même ligne. EcrireAvecSaute (ou EcrireAvecSaut) passe à la ligne après l’affichage. "
" force aussi un saut. Opérateurs : + - * / ^ Div Mod & (concaténation) ; comparaisons = <> ≠ < > <= >= ; logiques Et Ou Non ; valeurs Vrai Faux.
Si condition Alors instructions SinonSi condition2 Alors instructions Sinon instructions FinSi
SinonSi et Sinon sont facultatifs.
Selon N Faire
1 : Ecrire("Janvier")
2, 3 : Ecrire("Février ou mars")
4..6 : Ecrire("Printemps")
Sinon Ecrire("Autre")
FinSelonUn cas peut contenir une valeur, plusieurs valeurs séparées par des virgules, ou un intervalle a..b.
TantQue condition Faire instructions FinTantQue
La condition est testée avant chaque tour.
Pour i ← 1 jusqu'à 10 Pas 2 Faire instructions FinPour
Le pas est facultatif (1 par défaut) et peut être négatif.
Variables Note : tableau[1..30] de réel A : tableau[10] de chaîne M : tableau[1..3, 1..4] de entier Début Note[1] ← 12.5 Lire(Note[i + 1]) M[2, 3] ← Note[1] * 2 Fin
Une dimension : tableau[min..max] ou tableau[taille]. Deux dimensions : tableau[lignes, colonnes]. L’indice peut être une valeur, une variable ou une expression ; les crochets ou les parenthèses sont acceptés. Une taille peut être une constante.
Répéter instructions Jusqu'à condition
Le corps s’exécute au moins une fois ; la boucle s’arrête quand la condition devient vraie.
Fonction Carre(n : entier) : entier Variables r : entier // variable locale Début r ← n * n Retourner r FinFonction // appel, dans une expression : x ← Carre(4) Ecrire(Carre(3) + 1)
Le type écrit après les parenthèses est celui du résultat. Retourner renvoie la valeur et termine la fonction.
Procédure AfficherEtoiles(n : entier)
Variables
i : entier
Début
Pour i ← 1 jusqu'à n Faire
Ecrire("*")
FinPour
FinProcédure
// appel, sur sa propre ligne :
AfficherEtoiles(5)Une procédure ne retourne pas de valeur. Retourner écrit seul permet d’en sortir avant la fin.
Procédure Echanger(Var a, b : entier) Fonction Somme(a : entier, b : réel) : réel Fonction Moyenne(T : tableau[1..5] de réel) : réel
Sans Var, le paramètre reçoit une copie de la valeur (passage par valeur). Avec Var, il désigne la variable de l’appelant (passage par référence) : l’appel doit alors donner un nom de variable. Les variables déclarées en haut de l’algorithme sont globales ; celles déclarées dans un sous-programme sont locales et n’existent que pendant l’appel. Les fonctions et procédures se déclarent avant le Début de l’algorithme, ou après son Fin.