La convention officielle : ALGORITHME, DEBUT, FIN, le TDO, les types — et exactement la même chose en Python. Les deux épreuves, décodées.
Prépa Bac Informatique · sections scientifiques
À la fin de cette séance, tu sauras
Ce que tu repars avec
Écrire un algorithme dans la convention officielle — celle que le correcteur attend
Dresser un TDO et un TDNT : ils rapportent des points, et le sujet dit quand
Traduire n'importe quel algorithme en Python — et l'inverse
Où sont les 20 points de chacune des deux épreuves
MarQentiCours 1 · Bases · S.1
La carte du terrain
Ton bac info = deux épreuves, même poids
L'écrit · coef 0.5
1h30 — sur copie
Pseudo-code uniquement. Aucun Python.
Ex.1 3,25 · Ex.2 3,75 · Problème 13
La pratique · coef 0.5
1h — sur machine
Python + PyQt5 uniquement. Aucun pseudo-code.
Interface 3 · Programme 17
Total informatique : 0.5 + 0.5 = coefficient 1. La pratique n'est pas un bonus — c'est la moitié de ta note.
MarQentiCours 1 · Bases · S.1
Pourquoi on écrit tout en double
L'algorithme, c'est l'écrit. Python, c'est la pratique. Le raisonnement est le même.
Ce n'est pas deux matières. C'est une seule idée, notée dans deux langues — et le bac te demande les deux. Dans ce cours, chaque exercice est corrigé dans les deux, côte à côte, jusqu'à ce que la traduction devienne un réflexe.
MarQentiCours 1 · Bases · S.1
La structure officielle
ALGORITHME · DEBUT · FIN
Algorithme
ALGORITHME Somme
DEBUTLire (a)
Lire (b)
s ← a + b
Écrire ("La somme est ", s)
FIN
Python
a = int(input("a : "))
b = int(input("b : "))
s = a + b
print("La somme est ", s)
DEBUT et FIN en majuscules, sans accent. L'affectation est une flèche ← , jamais un « = ».
MarQentiCours 1 · Bases · S.1
Le tableau qui rapporte des points
Le T.D.O.
Chaque objet que tu utilises doit être déclaré : deux colonnes, Objet et Type/Nature. Le sujet précise toujours s'il le demande — lis le N.B.
T.D.O. de l'algorithme Somme
Objet
Type/Nature
a
Entier
b
Entier
s
Entier
Le réflexe qui coûte cher : le sujet écrit soit « le candidat est appelé à dresser les tableaux… » (⇒ tu les écris, ils sont notés), soit « le candidat n'est pas appelé à… » (⇒ tu ne les écris pas, tu gagnes 5 minutes). Les deux phrases sont dans le sujet 2025.
MarQentiCours 1 · Bases · S.1
Le second tableau
Le nouveau type (T.D.N.T.)
Dès que tu utilises un tableau, tu lui donnes un nom de type. C'est ce nom que tu écriras ensuite dans l'en-tête de tes modules.
Tableau de déclaration des nouveaux types
Nouveau type
TAB = Tableau de 15 Entier
Exemple réel — sujet du bac pratique 2026. Le type s'appelle ensuite dans l'en-tête : Procédure Termes (@ T : TAB, n, x : Entier)
MarQentiCours 1 · Bases · S.1
Les 5 types du programme
Algorithme ⇄ Python
Entier → int
nombres sans virgule : 0, 42, −7.
Réel → float
nombres à virgule : 3.14, 12.5.
Booléen → bool
Vrai / Faux — True / False.
Caractère & Chaîne → str
en Python, un caractère est une chaîne de longueur 1.
MarQentiCours 1 · Bases · S.1
Le piège n°1 de la pratique
input() te rend toujours une chaîne.
Faux
n = input("n : ")
# n vaut "5", pas 5print(n + 1) # ERREUR
Juste
n = int(input("n : "))
# n vaut 5, un entierprint(n + 1) # 6
En algorithmique, Lire (n) connaît déjà le type de n grâce au TDO. Python, lui, ne devine rien : tu convertis toi-même.
MarQentiCours 1 · Bases · S.1
✎
À toi. Les deux langues.
Neuf exercices dans l'esprit du bac, puis un vrai sujet tombé en 2026. Chaque correction est donnée en algorithme et en Python.
Exercice 1 · l'échauffement
Exercice 12 ptsesprit bac
Écrire un algorithme qui saisit deux entiers a et b, calcule leur produit, et l'affiche. Dresser le T.D.O., puis traduire en Python.
Algorithme
ALGORITHME Produit
DEBUTLire (a)
Lire (b)
p ← a * b
Écrire ("Produit = ", p)
FIN
Python
a = int(input("a : "))
b = int(input("b : "))
p = a * b
print("Produit = ", p)
T.D.O. → a : Entier · b : Entier · p : Entier
MarQentiCours 1 · Bases · S.1
Exercice 2 · les réels
Exercice 22 ptsesprit bac
Saisir la longueur et la largeur d'un rectangle (des réels), puis afficher son périmètre et sa surface.
Algorithme
ALGORITHME Rectangle
DEBUTLire (L)
Lire (l)
p ← 2 * (L + l)
s ← L * l
Écrire ("Périmètre = ", p)
Écrire ("Surface = ", s)
FIN
Python
L = float(input("Longueur : "))
l = float(input("Largeur : "))
p = 2 * (L + l)
s = L * l
print("Périmètre = ", p)
print("Surface = ", s)
T.D.O. → L : Réel · l : Réel · p : Réel · s : Réel · des réels ⇒ float, pas int
MarQentiCours 1 · Bases · S.1
Exercice 3 · les chaînes
Exercice 31,5 ptesprit bac
Saisir le nom d'un élève et son âge, puis afficher : Bonjour Amine, tu as 18 ans.
Algorithme
ALGORITHME Salut
DEBUTLire (nom)
Lire (age)
Écrire ("Bonjour ", nom,
", tu as ", age, " ans.")
FIN
Python
nom = input("Nom : ")
age = int(input("Âge : "))
print("Bonjour ", nom,
", tu as ", age, " ans.")
nom est une chaîne ⇒ pas de conversion. age est un Entier ⇒ int().
MarQentiCours 1 · Bases · S.1
Exercice 4 · la moyenne
Exercice 42 ptsesprit bac
Saisir trois notes réelles et afficher leur moyenne arrondie à deux décimales.
Arrondi(x, n) ⇄ round(x, n). Attention aux parenthèses : (n1+n2+n3) / 3, pas n1+n2+n3/3.
MarQentiCours 1 · Bases · S.1
Exercice 5 · le classique
Exercice 52 ptsesprit bac
Saisir deux entiers a et b, échanger leurs valeurs, puis les afficher. Indice : il te faut un troisième objet.
Algorithme
ALGORITHME Echange
DEBUTLire (a)
Lire (b)
aux ← a
a ← b
b ← aux
Écrire (a, b)
FIN
Python
a = int(input("a : "))
b = int(input("b : "))
aux = a
a = b
b = aux
print(a, b)
Sans aux, la première affectation écrase a : tu obtiendrais b et b.
MarQentiCours 1 · Bases · S.1
Exercice 5 · l'échange en direct
Pourquoi la variable aux ? (a=3, b=8)
MarQentiCours 1 · Bases · S.1
Exercice 6 · lecture inverse
Exercice 62 ptsesprit bac
Voici un algorithme. Dresse son T.D.O. et dis quel est son rôle.
Algorithme
ALGORITHME Inconnu
DEBUTLire (ch)
n ← Long (ch)
Écrire (Majus (ch), n)
FIN
Objet
Type/Nature
ch
Chaîne de caractères
n
Entier
Rôle : saisir une chaîne, puis afficher cette chaîne en majuscules suivie de son nombre de caractères.
MarQentiCours 1 · Bases · S.1
Exercice 7 · la chasse aux fautes
Exercice 73 ptsesprit bac
Cet algorithme contient 4 fautes de convention. Trouve-les et corrige-les.
Algorithme
ALGORITHME Test
DebutLire x
s = 0
Pour i de 1 à 5 Faire
s ← s + i
FinPourÉcrire (s)
FIN
1.Debut → DEBUT (majuscules, sans accent) ·
2.Lire x → Lire (x) (parenthèses) ·
3. s = 0 → s ← 0 (le « = » est un test, pas une affectation) ·
4.FinPour → Fin Pour (en deux mots — alors que FinSi s'écrit en un seul)
MarQentiCours 1 · Bases · S.1
Exercice 8 · traduction inverse
Exercice 82 ptsesprit bac
Voici du Python (épreuve pratique). Réécris-le en algorithme (épreuve écrite), et donne le T.D.O.
Python
r = float(input("Rayon : "))
per = 2 * 3.14 * r
print("Périmètre = ", per)
Algorithme
ALGORITHME Cercle
DEBUTLire (r)
per ← 2 * 3.14 * r
Écrire ("Périmètre = ", per)
FIN
T.D.O. → r : Réel · per : Réel · le float() disparaît : c'est le T.D.O. qui porte le type.
MarQentiCours 1 · Bases · S.1
Exercice 9 · vrai ou faux
Exercice 92 ptsesprit bac
Coche ce qui est vrai.
À l'épreuve écrite, on peut répondre en Python.
L'affectation s'écrit ← ; le = sert à tester l'égalité.
Fin Pour s'écrit en deux mots, FinSi en un seul.
Le T.D.O. est toujours obligatoire, même si le sujet ne le demande pas.
input() rend une chaîne de caractères.
Vrai : 2, 3, 5. — 1 : faux, l'écrit est en pseudo-code uniquement (le Python ne rapporte rien). 4 : faux, le sujet dit explicitement s'il le demande ou non.
MarQentiCours 1 · Bases · S.1
À voir une fois, puis à oublier
Ce que ton vieux livre t'enseigne (et qui est mort)
Ancien — avant 2022
Analyse du programmeRésultat : Écrire (s)Traitement : ...
0) DEF FN Somme (a, b : entier)
1) Somme ← a + b
2) Fin Somme
# chaînes indexées à partir de 1
Officiel — aujourd'hui
(plus d'Analyse du tout)Fonction Somme (a, b : Entier) : EntierDEBUTRetourner (a + b)
FIN# chaînes indexées à partir de 0
Pourquoi c'est important : la convention a changé en 2022. La plupart des livres, des fiches photocopiées et des sites tunisiens enseignent encore la colonne de gauche. Si tu la reconnais, tu sauras l'ignorer.
MarQentiCours 1 · Bases · S.1
Les 4 fautes qui coûtent des points
Ce que le correcteur voit en premier
Le « = » au lieu de ←
l'affectation est une flèche. Toujours.
Fin Pour / FinSi
deux mots pour Pour, Tant que et Selon. Un seul pour Si.
Le N.B. non lu
le TDO est demandé, ou explicitement pas. Lis-le.
Le Python sur la copie
à l'écrit, il ne rapporte rien. Zéro.
MarQentiCours 1 · Bases · S.1
Le vrai sujet · bac 2026, épreuve pratique
Sujet du bacréelSession 2026 · sections scientifiques
Voici la procédure Termes, telle qu'elle est imprimée sur le sujet. Dresse son T.D.O.L et son nouveau type, sachant que le tableau contient au maximum 15 entiers.
Algorithme — donné par le sujet
Procédure Termes (@ T : TAB, n, x : Entier)
DEBUT
T[0] ← x
Pour i de 1 à n-1 Faire
T[i] ← T[i-1] + (T[0] Mod 3) - 1
Fin PourFIN
T.D.O.L
Objet
Type/Nature
i
Entier
Nouveau type
Nouveau type
TAB = Tableau de 15 Entier
C'est mot pour mot la correction imprimée sur le sujet officiel 2026. Seul i est local : T, n et x sont des paramètres, ils ne vont pas au T.D.O.L.
MarQentiCours 1 · Bases · S.1
Le vrai sujet · ce que fait Termes
La procédure remplit le tableau (x = 8)
MarQentiCours 1 · Bases · S.1
Récapitulatif
La séance en une phrase
Deux épreuves de même poids : l'écrit en pseudo-code, la pratique en Python. Un seul raisonnement. Écris ALGORITHME/DEBUT/FIN, l'affectation ←, le T.D.O. quand le sujet le demande — et traduis.
MarQentiCours 1 · Bases · S.1
“
Le correcteur ne lit pas ton intention. Il lit ta notation.