Algorithmique
Bases de l'algorithmique : variables, conditions, boucles et lecture de programmes au Brevet.
Qu’est-ce qu’un algorithme ?
Un algorithme est une suite d’instructions permettant de résoudre un problème.
Structure générale d’un algorithme :
flowchart TD
A([Début]) --> B[/Entrée des données/]
B --> C[Traitement]
C --> D{Condition ?}
D -->|Oui| E[Instruction 1]
D -->|Non| F[Instruction 2]
E --> G[/Afficher résultat/]
F --> G
G --> H([Fin])
Structures de base
Variables et affectation
x = 5 # on affecte 5 à x
x = x + 3 # maintenant x vaut 8
Entrée / Sortie
n = int(input("Entrer un nombre : "))
print("Le double est", 2 * n)
Condition (si … sinon)
if x > 0:
print("positif")
elif x < 0:
print("négatif")
else:
print("nul")
Boucles
Boucle bornée (for)
for i in range(5): # i = 0, 1, 2, 3, 4
print(i)
Boucle non bornée (while)
n = 1
while n < 100:
n = n * 2
print(n) # premier entier ≥ 100 qui est une puissance de 2
Organigramme — condition si/sinon
flowchart TD
A([Début]) --> B[/Lire x/]
B --> C{x > 0 ?}
C -->|Vrai| D["Afficher 'positif'"]
C -->|Faux| E{x < 0 ?}
E -->|Vrai| F["Afficher 'négatif'"]
E -->|Faux| G["Afficher 'nul'"]
D --> H([Fin])
F --> H
G --> H
Lire et comprendre un algorithme
Exemple : Que fait cet algorithme ?
somme = 0
for i in range(1, 6):
somme = somme + i
print(somme)
Trace : . Il affiche 15 (= ).
Exemple — Trouver le maximum
notes = [12, 8, 15, 10, 18]
maxi = notes[0]
for n in notes:
if n > maxi:
maxi = n
print("Maximum :", maxi) # 18
Algorithme d’Euclide (PGCD)
def pgcd(a, b):
while b != 0:
a, b = b, a % b
return a
Exemple : pgcd(48, 18) → → → → retourne 6.