🔙Index -


Qu’est-ce qu’un algorithme ?

Définition simple

Un algorithme, c’est comme une recette de cuisine.

  • On a des ingrĂ©dients → ce sont les donnĂ©es d’entrĂ©e.
  • On suit des Ă©tapes prĂ©cises → c’est le traitement.
  • On obtient un plat final → c’est le rĂ©sultat (sortie).

En informatique, un algorithme est donc une suite d’instructions qu’on exĂ©cute dans un ordre prĂ©cis pour rĂ©soudre un problĂšme.

CaractĂ©ristiques d’un bon algorithme

Un algorithme doit avoir trois qualités essentielles :

  1. Fini : il doit toujours se terminer, pas de boucle infinie.
  2. PrĂ©cis : chaque Ă©tape doit ĂȘtre claire et comprĂ©hensible.
  3. ExĂ©cutable : chaque instruction doit pouvoir ĂȘtre rĂ©alisĂ©e facilement.

Exemple simple

ProblĂšme : calculer la somme de deux nombres.

Pseudo-code :

Lire A
Lire B
C ← A + B
Afficher C

Explication :

  • On lit A et B → comme demander Ă  deux personnes leurs Ăąges.
  • On additionne A et B → c’est le traitement, comme mĂ©langer deux ingrĂ©dients.
  • On affiche le rĂ©sultat → on montre la somme trouvĂ©e.

À retenir

Un algorithme se rĂ©sume Ă  : EntrĂ©e → Traitement → Sortie

Exemple concret :

  • EntrĂ©e : “Je veux traverser la rue.”
  • Traitement : “Je regarde le feu tricolore.”
  • Sortie : “Si le feu est vert, je traverse. Sinon, j’attends.”

Si tu veux, je peux maintenant faire le point 2 : Variables et types de donnĂ©es dans ce mĂȘme style clair et imagĂ©, prĂȘt Ă  coller dans Obsidian. Veux que je fasse ça ?


Les types de données et variables

Variables

Une variable est comme une boĂźte dans laquelle on peut mettre et changer une valeur.

  • Exemple : age peut contenir 18 aujourd’hui et 19 demain.

Constantes

Une constante est une valeur qui ne change jamais, comme le nombre π = 3,14.

  • Exemple : TAUX_TVA = 0,2

Types de données de base

  1. Numériques

    • Entiers : nombres sans virgule (5, -12)
    • RĂ©els : nombres avec virgule (3,14, -0,5)
  2. CaractĂšres / chaĂźnes

    • Une seule lettre ou un texte complet.
    • Exemple : "A", "Bonjour"
  3. Booléens

    • Valeur Vrai ou Faux
    • UtilisĂ© pour rĂ©pondre Ă  des questions ou tester des conditions
    • Exemple : estMajeur = Vrai

Exemple concret

age ← 20
nom ← "Alice"
estInscrit ← Vrai
PI ← 3.14  // constante
  • age est une variable entiĂšre
  • nom est une chaĂźne de caractĂšres
  • estInscrit est un boolĂ©en
  • PI est une constante

💡 À retenir : une variable peut changer, une constante reste fixe.

Exemple pratique

Imaginons que tu achĂštes plusieurs articles dans un magasin.

  1. Tu sais le prix d’un article et la quantitĂ© achetĂ©e.
  2. Tu veux calculer le prix total.

On peut utiliser des variables pour stocker ces informations :

prixArticle ← 5        // prix d’un article en euros
quantite ← 3           // nombre d’articles achetĂ©s
prixTotal ← prixArticle * quantite
Afficher prixTotal

Explication :

  • prixArticle est une variable qui contient le prix d’un article.
  • quantite est une variable qui contient combien d’articles tu achĂštes.
  • prixTotal est une variable qui calcule le rĂ©sultat de la multiplication.

Si demain tu changes la quantité à 5 ou le prix à 6, il suffit de modifier les variables, et le calcul reste correct.

💡 Conclusion pratique :
Les variables sont utiles pour stocker des valeurs qui peuvent changer et réutiliser ces valeurs dans des calculs ou pour prendre des décisions.


Les opérateurs

Affectation

L’affectation sert à donner une valeur à une variable.

x ← 5    // la variable x contient maintenant 5

Opérateurs arithmétiques

Ils servent Ă  faire des calculs :

  • + addition
  • - soustraction
  • * multiplication
  • / division
  • mod reste de la division

Exemple :

a ← 10
b ← 3
c ← a + b    // c devient 13
d ← a mod b  // d devient 1

Opérateurs relationnels

Ils servent Ă  comparer des valeurs :

  • = Ă©gal
  • ≠ diffĂ©rent
  • < infĂ©rieur
  • > supĂ©rieur
  • ≀ infĂ©rieur ou Ă©gal
  • ≄ supĂ©rieur ou Ă©gal

Exemple :

age ← 20
age ≄ 18   // vrai
age < 18   // faux

Opérateurs logiques

Ils servent Ă  combiner plusieurs conditions :

  • ET → toutes les conditions doivent ĂȘtre vraies
  • OU → au moins une condition doit ĂȘtre vraie
  • NON → inverse la valeur (vrai devient faux, faux devient vrai)

Exemple pratique en pseudo-code

age ← 20
permis ← Vrai
 
Si (age ≄ 18 ET permis = Vrai) alors
    Afficher "Vous pouvez conduire"
Sinon
    Afficher "Vous ne pouvez pas conduire"

Explication :

  • La condition vĂ©rifie deux choses en mĂȘme temps : que la personne a 18 ans ou plus et qu’elle a un permis.
  • Si les deux conditions sont vraies → message positif
  • Sinon → message nĂ©gatif

💡 À retenir :
Les opérateurs permettent de faire des calculs, comparer des valeurs et prendre des décisions dans un algorithme, en pseudo-code simple et lisible.


Les structures de contrĂŽle et leur utilisation

Les structures de contrĂŽle dĂ©terminent l’ordre d’exĂ©cution des instructions dans un algorithme. On peut les combiner, mais il faut le faire de maniĂšre claire et logique.

Séquence

  • Comment l’utiliser : simplement Ă©crire les instructions les unes aprĂšs les autres.
Lire A
Lire B
C ← A + B
Afficher C
  • RĂšgle : les instructions s’exĂ©cutent dans l’ordre oĂč elles apparaissent.
  • 💡 Comme suivre une recette Ă©tape par Ă©tape.

Alternative (conditionnelle)

  • Comment l’utiliser : on teste une condition, et selon le rĂ©sultat, on choisit un chemin.
Si A > B alors
    Afficher "A est plus grand"
Sinon
    Afficher "B est plus grand"
  • On peut imbriquer des alternatives Ă  l’intĂ©rieur d’autres alternatives ou boucles.
  • 💡 Comme prendre un chemin selon la situation.

Répétition (boucle)

  • Comment l’utiliser : on rĂ©pĂšte une ou plusieurs instructions jusqu’à ce qu’une condition change.
Pour i de 1 Ă  5 faire
    Afficher i
  • On peut mettre des alternatives Ă  l’intĂ©rieur des boucles, ou appeler des fonctions.
  • 💡 Comme rĂ©pĂ©ter une action jusqu’à rĂ©ussir.

Appel de fonction / procédure

  • Comment l’utiliser : on Ă©crit le bloc de code une fois, puis on l’appelle chaque fois qu’on en a besoin.
Fonction Carré(x)
    Retourner x * x
 
Afficher Carré(4)
Afficher Carré(7)
  • On peut appeler une fonction dans une boucle ou une alternative.

💡 Comme une mini-recette rĂ©utilisable.

Branchement

  • Comment l’utiliser : sauter directement d’une instruction Ă  une autre.
Si erreur alors
    Aller Ă  fin
  • ⚠ On l’évite car le code devient difficile Ă  lire et Ă  corriger.

Peut-on mélanger les structures de contrÎle ?

  • Oui, on peut combiner sĂ©quence, alternative, boucle et fonctions.
  • Exemple pratique :
Pour i de 1 Ă  5 faire
    Si i mod 2 = 0 alors
        Afficher i, "est pair"
    Sinon
        Afficher i, "est impair"
  • Ici, on combine une boucle et une alternative, ce qui est logique et lisible.
  • ❌ On Ă©vite de mĂ©langer avec des branchements goto, car cela rend le code confus.

💡 RĂ©sumĂ© simple :

  • SĂ©quence → toujours dans l’ordre
  • Alternative → choisir selon une condition
  • Boucle → rĂ©pĂ©ter une action
  • Branchement → sauter des instructions (rare, Ă  Ă©viter)
  • On peut combiner sĂ©quence, alternative, boucle et fonctions, mais toujours de maniĂšre claire et logique.

Les procédures et fonctions (modularité)

Les procĂ©dures et fonctions permettent de rĂ©utiliser des blocs de code sans les réécrire Ă  chaque fois. C’est ce qu’on appelle la modularitĂ©.

Pourquoi les utiliser

  • Éviter de rĂ©pĂ©ter le mĂȘme code
  • Rendre le programme plus clair et organisĂ©
  • Faciliter la correction et la maintenance

💡 Imagine une mini-recette que tu peux utiliser plusieurs fois dans diffĂ©rents plats.

Différence entre fonction et procédure

  • ProcĂ©dure : exĂ©cute des instructions sans renvoyer de valeur
  • Fonction : exĂ©cute des instructions et renvoie une valeur

Exemple de procédure

Procédure AfficherBonjour()
    Afficher "Bonjour !"
 
AfficherBonjour()   // Appel de la procédure
  • À chaque appel, la procĂ©dure affiche “Bonjour !”

Exemple de fonction

Fonction Carré(x)
    Retourner x * x

Afficher Carré(4)   // affiche 16
Afficher Carré(7)   // affiche 49
  • La fonction prend une valeur en entrĂ©e, effectue un calcul et renvoie le rĂ©sultat.

Comment les utiliser dans un algorithme

On peut appeler une fonction ou une procédure dans :

  • Une boucle
  • Une alternative
  • Une autre fonction

Exemple pratique

Fonction EstPair(x)
    Retourner x mod 2 = 0
 
Pour i de 1 Ă  5 faire
    Si EstPair(i) alors
        Afficher i, "est pair"
    Sinon
        Afficher i, "est impair"
  • La fonction EstPair est utilisĂ©e dans une boucle et une alternative.
  • Le code reste clair, logique et facile Ă  lire.

À retenir

  • Les fonctions et procĂ©dures permettent de rĂ©utiliser le code
  • Elles rendent le programme plus lisible et modulable
  • Elles peuvent ĂȘtre combinĂ©es avec boucles et conditions sans problĂšme

Les tableaux

Un tableau est une rangĂ©e de cases numĂ©rotĂ©es qui peuvent contenir des valeurs du mĂȘme type.

  • Chaque case a un indice pour retrouver sa valeur.
    💡 Pense Ă  une rangĂ©e de boĂźtes numĂ©rotĂ©es.

Déclaration

Tableau notes[5] de Réel
  • CrĂ©e un tableau notes avec 5 cases pour des nombres.

Remplir un tableau

a) Manuellement

notes[1] ← 12
notes[2] ← 15
notes[3] ← 8
notes[4] ← 10
notes[5] ← 20

b) Avec une boucle

Pour i de 1 Ă  5 faire
    Lire notes[i]  // l'utilisateur entre les valeurs

c) Avec calcul

Pour i de 1 Ă  5 faire
    notes[i] ← i * 2

Afficher toutes les valeurs

Pour i de 1 Ă  5 faire
    Afficher notes[i]

Exemple pratique : calculer la moyenne

somme ← 0
 
Pour i de 1 Ă  5 faire
    Lire notes[i]
    somme ← somme + notes[i]
 
moyenne ← somme / 5
Afficher "La moyenne est : ", moyenne

À retenir

  • Tableau = rangĂ©e de cases numĂ©rotĂ©es
  • Case = boĂźte pour une valeur
  • Indice = numĂ©ro de la case
  • Les valeurs peuvent ĂȘtre attribuĂ©es manuellement, par lecture ou par calcul
  • On utilise souvent des boucles pour parcourir toutes les cases

Méthodologie pour concevoir un algorithme

Pour créer un algorithme efficace, il faut suivre des étapes simples et logiques.

Comprendre le problĂšme

  • Lire attentivement l’énoncĂ©
  • S’assurer de comprendre ce qu’on doit faire

💡 Astuce : reformule le problùme avec tes mots.

Identifier les donnĂ©es d’entrĂ©e et de sortie

  • EntrĂ©es : ce que l’utilisateur ou le programme fournit
  • Sorties : ce que l’algorithme doit produire

Décomposer le problÚme en étapes simples

  • Diviser le problĂšme en petites actions faciles Ă  exĂ©cuter

  • Exemple : pour calculer la moyenne

    1. Lire toutes les notes
    2. Calculer la somme
    3. Diviser par le nombre de notes
    4. Afficher le résultat

Écrire l’algorithme

  • Utiliser du pseudo-code ou un diagramme
  • Les instructions doivent ĂȘtre claires et prĂ©cises

Vérifier et tester

  • Tester l’algorithme avec des exemples concrets
  • VĂ©rifier que les rĂ©sultats sont corrects
  • Corriger si nĂ©cessaire

💡 Astuce : un bon algorithme est simple, clair et fonctionne pour tous les cas possibles


Représentation graphique (organigrammes)

Un organigramme permet de représenter un algorithme sous forme de schéma.

  • TrĂšs utile pour visualiser le dĂ©roulement des instructions
  • Permet de repĂ©rer facilement les erreurs

Symboles standards

SymboleSignificationExemple d’usage
OvaleDébut / FinDébut du programme, Fin du programme
ParallélogrammeEntrée / SortieLire une valeur, Afficher un résultat
RectangleTraitement / InstructionCalcul, affectation de variable
LosangeCondition / DécisionSi
Alors
Sinon

Exemple concret : somme de deux nombres

Pseudo-code

Début
    Lire A
    Lire B
    C ← A + B
    Afficher C
Fin

Organigramme (représentation graphique)

   [Ovale] Début
        |
  [Parallélogramme] Lire A
        |
  [Parallélogramme] Lire B
        |
    [Rectangle] C ← A + B
        |
  [Parallélogramme] Afficher C
        |
   [Ovale] Fin

Exemple avec condition : vĂ©rifier l’ñge pour conduire

Pseudo-code

Début
    Lire age
    Si age ≄ 18 alors
        Afficher "Vous pouvez conduire"
    Sinon
        Afficher "Vous ne pouvez pas conduire"
Fin

Organigramme

         [Ovale] Début
              |
     [Parallélogramme] Lire age
              |
        [Losange] age ≄ 18 ?
          /       \
        Oui        Non
       /            \
[Parallélogramme]  [Parallélogramme]
Afficher message    Afficher message
       \            /
        \          /
          [Ovale] Fin

💡 Astuce pĂ©dagogique :

  • Les ovales = dĂ©but et fin
  • Les parallĂ©logrammes = lecture / affichage
  • Les rectangles = calcul ou instruction
  • Les losanges = condition / dĂ©cision