Toutes les constructions, tables de déclaration, fonctions prédéfinies et opérations sur les fichiers prises en charge par le moteur AlgoTN.
Organisation d’un programme, procédures et fonctions avec paramètres par valeur ou par adresse (@).
algorithme nom
debut
...
finLe bloc principal commence juste après l’en-tête et se termine par FIN. Il peut appeler des routines déclarées séparément après ce FIN. Les tables TDNT et TDOG s’assemblent automatiquement dans l’en-tête.
procedure permuter(@a : entier, @b : entier)
debut
...
finUne procédure peut être appelée depuis le bloc principal, une autre procédure ou une fonction. Le préfixe @ passe une variable par adresse : sa modification est visible chez l’appelant.
fonction somme(a : entier, b : entier) : entier
debut
retourner a + b
finUne fonction renvoie une valeur avec RETOURNER et peut être appelée dans une procédure.
Comment déclarer vos tableaux, matrices, enregistrements et variables dans les tables flottantes.
tab = tableau de 20 entier
mat = tableau de 4 lignes * 4 colonnes reelDans TDNT : définit un tableau ou une matrice, avec des indices à partir de 0. La forme courte « Tableau de 4 * 4 Reel » fonctionne aussi. Dans TDOG ou TDOL, choisissez « Tableau / Matrice… » pour saisir directement le type.
eleve = enregistrement
nom : chaine
moy : reel
finDans la table TDNT : définit une structure à plusieurs champs, accessibles avec la notation pointée (ex: E.nom ← "Sami").
tdog (globaux) & tdol (locaux)Faites un clic droit dans le code (ou cliquez sur + Table) pour ajouter TDNT, TDOG ou TDOL. Cliquez sur l’icône de lien d’une table TDOL puis sur une routine pour les relier.
Conditions SI / SELON et boucles POUR, TANT_QUE et REPETER.
si condition alors
...
sinon
...
fin siExécution conditionnelle. Supporte les opérateurs =, ≠ (ou <>), <, ≤ (ou <=), >, ≥ (ou >=), ET, OU, NON.
selon choix
1, 2 : ecrire_nl("début")
3..5 : ecrire_nl("milieu")
autres : ecrire_nl("autre")
fin_selonSélection multiple avec valeurs séparées par des virgules, intervalles (a..b) et branche AUTRES.
pour i de 0 a 6 pas = 2 faire
ecrire_nl(i)
fin pourAffiche 0, 2, 4, 6. Le pas vaut 1 par défaut ; PAS = -2 permet de compter à rebours. PAS 2 fonctionne aussi. Le pas ne peut pas être nul.
si x ∈ [1..5] alors
ecrire_nl("entre 1 et 5")
fin si
si majus(ch[i]) ∈ ["a", "e", "i", "o", "u", "y"] alors
nombre ← nombre + 1
fin siAppartenance à un intervalle inclusif ou à une liste de valeurs. ch[0] est le premier caractère, ch[i] celui d’indice i. Sur téléphone ou PC, tapez « dans » à la place de ∈.
tant_que condition faire ... fin_tant_que
repeter ... jusqu'a conditionBoucles conditionnelles testées à l’entrée (TANT_QUE) ou à la sortie (REPETER ... JUSQU’À).
Fonctions standards du programme officiel directement utilisables dans vos expressions.
long(ch) · sous_chaine(ch, d, f) · pos(sous, ch) · effacer(ch, d, f) · majus(ch)Traitement des chaînes de caractères : longueur, extraction de d (inclus) à f (exclus), position d’une sous-chaîne (-1 si absente), suppression et mise en majuscules.
convch(n) · valeur(ch) · estnum(ch) · ord(c) · chr(code)Conversions entre nombres et chaînes, test de validité numérique et code ASCII (0..127).
abs(x) · arrondi(x) · ent(x) · racine_carree(x) · alea(min, max) · a div b · a mod bOpérations arithmétiques, partie entière, racine carrée et tirage aléatoire entier entre min et max inclus.
Lecture au clavier, affichage console et manipulation de fichiers texte (.txt) ou typés (.dat).
lire(x) · ecrire(a, b) · ecrire_nl(a, b)LIRE met le programme en pause et ouvre une invite interactive dans la console. ECRIRE_NL ajoute un retour à la ligne.
ouvrir("notes.txt", f, "r" | "w" | "a")
lire_ligne(f, ch) · ecrire_nl(f, ch) · fin_fichier(f) · fermer(f)Manipulation de fichiers texte déclarés avec le type Fichier Texte. Les modes rb, wb, ab permettent de manipuler des fichiers typés (.dat).