Brevet Algorithmique algorithmiqueScratchPythonbouclesconditionsbrevet

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 : 013610150 \to 1 \to 3 \to 6 \to 10 \to 15. Il affiche 15 (= 1+2+3+4+51+2+3+4+5).


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)48=2×18+1248 = 2×18+1218=1×12+618=1×12+612=2×612=2×6 → retourne 6.