Conventions Algorithmiques (Tunisie 2024/2025)
Maîtrisez l’écriture des algorithmes selon les conventions officielles du Ministère de l’Éducation tunisien. Préparez-vous efficacement pour le bac !
Conventions Algorithmiques
Un algorithme suit la structure suivante :
ALGORITHME Nom
DEBUT
Traitements
FIN
Déclaration des objets
DEBUT
Traitements
FIN
Déclaration des objets
Objet | Type / Nature |
---|---|
Recommandations : Respectez l’indentation et utilisez des noms significatifs pour les objets.
Type | Description |
---|---|
Entier | Nombre entier (ex. : 5, -10) |
Réel | Nombre à virgule (ex. : 3.14) |
Booléen | Vrai ou Faux |
Caractère | Un seul caractère (ex. : 'A') |
Chaîne de caractères | Séquence de caractères (ex. : "Bonjour") |
Exemple :
nombre : Entier
prix : Réel
estValide : Booléen
lettre : Caractère
message : Chaîne
prix : Réel
estValide : Booléen
lettre : Caractère
message : Chaîne
Tableaux
Objet | Type / Nature | Accès |
---|---|---|
Tableau unidimensionnel | Tableau de N Type_élément |
T[i] |
Tableau bidimensionnel | Tableau de N lignes * M colonnes Type_élément |
M[i,j] |
Enregistrements
Objet | Type / Nature | Accès |
---|---|---|
Enregistrement | Enregistrement Nom_champ1 : Type_champ1; Nom_champ2 : Type_champ2; ... Fin |
E.Nom_champ |
Fichiers
Objet | Type / Nature |
---|---|
Fichier texte | Fichier Texte |
Fichier de données | Fichier de Type_élément |
Exemple :
T : Tableau de 10 Entier
M : Tableau de 5 lignes * 3 colonnes Réel
Etudiant : Enregistrement
nom : Chaîne
note : Réel
Fin
F : Fichier de Entier
M : Tableau de 5 lignes * 3 colonnes Réel
Etudiant : Enregistrement
nom : Chaîne
note : Réel
Fin
F : Fichier de Entier
Opération | Syntaxe |
---|---|
Entrée | Lire (Objet) |
Sortie | Écrire ("Message", Objet, Expression) Écrire_nl ("Message", Objet, Expression) |
Affectation | Objet ← Expression |
Lire (nombre)
Écrire ("Le résultat est : ", nombre * 2)
resultat ← nombre + 5
Écrire ("Le résultat est : ", nombre * 2)
resultat ← nombre + 5
Type | Syntaxe |
---|---|
Simple | Si Condition Alors Traitement FinSi |
Complète | Si Condition Alors Traitement1 Sinon Traitement2 FinSi |
Généralisée | Si Condition1 Alors Traitement1 Sinon Si Condition2 Alors Traitement2 ... [Sinon TraitementN] FinSi |
Choix multiples | Selon Sélecteur Valeur1: Traitement1 ... [Sinon TraitementN] Fin Selon |
Si note >= 10 Alors
Écrire ("Réussi")
Sinon
Écrire ("Échoué")
FinSi
Écrire ("Réussi")
Sinon
Écrire ("Échoué")
FinSi
Type | Syntaxe |
---|---|
Pour | Pour Compteur de Début à Fin [Pas = valeur_pas] Faire Traitement Fin Pour |
Tant que | Tant que Condition Faire Traitement Fin Tant que |
Répéter | Répéter Traitement Jusqu'à Condition |
Pour i de 1 à 5 Faire
Écrire (i)
Fin Pour
Écrire (i)
Fin Pour
Type | Syntaxe | Remarque |
---|---|---|
Fonction | Fonction Nom_fonction (pf1: type1, ...): Type_résultat DEBUT Traitement Retourner Résultat FIN |
Retourne un résultat simple |
Procédure | Procédure Nom_procédure (pf1: type1, ...) DEBUT Traitement FIN |
Pas de résultat retourné |
Passage par référence | @param |
Modifie la variable passée |
Fonction Factorielle (n: Entier): Entier
DEBUT
Si n = 0 Alors
Retourner 1
Sinon
Retourner n * Factorielle(n-1)
FinSi
FIN
DEBUT
Si n = 0 Alors
Retourner 1
Sinon
Retourner n * Factorielle(n-1)
FinSi
FIN
Arithmétiques
Opération | Opérateur |
---|---|
Somme | + |
Soustraction | - |
Multiplication | * |
Division | / |
Division entière | Div |
Reste | Mod |
Comparaison
Opération | Opérateur |
---|---|
Égal | = |
Différent | ≠ |
Strictement supérieur | > |
Supérieur ou égal | ≥ |
Strictement inférieur | < |
Inférieur ou égal | ≤ |
Appartient | ∈ |
Logiques
Opération | Opérateur |
---|---|
Négation | Non |
Conjonction | Et |
Disjonction | Ou |
Ensembles : {v1,v2,...}
, [vi..vf]
Numériques
Fonction | Rôle |
---|---|
Arrondi(x) | Entier le plus proche |
RacineCarré(x) | Racine carrée de x |
Aléa(vi, vf) | Entier aléatoire dans [vi, vf] |
Ent(x) | Partie entière de x |
Abs(x) | Valeur absolue de x |
Caractères
Fonction | Rôle |
---|---|
Ord(c) | Code ASCII de c |
Chr(d) | Caractère du code ASCII d |
Chaînes
Fonction | Rôle |
---|---|
Long(ch) | Longueur de ch |
Pos(ch1, ch2) | Position de ch1 dans ch2 |
Convch(x) | Nombre en chaîne |
Estnum(ch) | Vérifie si ch est numérique |
Valeur(ch) | Chaîne en nombre |
Sous_chaine(ch, d, f) | Extrait de d à f |
Effacer(ch, d, f) | Supprime de d à f |
Majus(ch) | Chaîne en majuscules |
Fichiers de données
Fonction | Rôle |
---|---|
Ouvrir("Chemin\Nom", Nom_logique, "Mode") | Ouvre un fichier ("rb", "wb", "ab") |
Lire(Nom_logique, Objet) | Lit un objet |
Ecrire(Nom_logique, Objet) | Écrit un objet |
Fin_fichier(Nom_logique) | Vérifie la fin du fichier |
Fermer(Nom_logique) | Ferme le fichier |
Fichiers textes
Fonction | Rôle |
---|---|
Ouvrir("Chemin\Nom", Nom_logique, "Mode") | Ouvre un fichier ("r", "w", "a") |
Lire(Nom_logique, ch) | Lit tout le fichier |
Lire_ligne(Nom_logique, ch) | Lit une ligne |
Ecrire(Nom_logique, ch) | Écrit une chaîne |
Ecrire_nl(Nom_logique, ch) | Écrit avec retour à la ligne |
Fin_fichier(Nom_logique) | Vérifie la fin du fichier |
Fermer(Nom_logique) | Ferme le fichier |