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 :
- Fini : il doit toujours se terminer, pas de boucle infinie.
- PrĂ©cis : chaque Ă©tape doit ĂȘtre claire et comprĂ©hensible.
- 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 CExplication :
- 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 :
agepeut contenir18aujourdâhui et19demain.
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
-
Numériques
- Entiers : nombres sans virgule (
5,-12) - Réels : nombres avec virgule (
3,14,-0,5)
- Entiers : nombres sans virgule (
-
CaractĂšres / chaĂźnes
- Une seule lettre ou un texte complet.
- Exemple :
"A","Bonjour"
-
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 // constanteageest une variable entiĂšrenomest une chaĂźne de caractĂšresestInscritest un boolĂ©enPIest une constante
đĄ Ă retenir : une variable peut changer, une constante reste fixe.
Exemple pratique
Imaginons que tu achĂštes plusieurs articles dans un magasin.
- Tu sais le prix dâun article et la quantitĂ© achetĂ©e.
- 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 prixTotalExplication :
prixArticleest une variable qui contient le prix dâun article.quantiteest une variable qui contient combien dâarticles tu achĂštes.prixTotalest 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/divisionmodreste 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 // fauxOpérateurs logiques
Ils servent Ă combiner plusieurs conditions :
ETâ toutes les conditions doivent ĂȘtre vraiesOUâ au moins une condition doit ĂȘtre vraieNONâ 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
EstPairest 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
notesavec 5 cases pour des nombres.
Remplir un tableau
a) Manuellement
notes[1] â 12
notes[2] â 15
notes[3] â 8
notes[4] â 10
notes[5] â 20b) Avec une boucle
Pour i de 1 Ă 5 faire
Lire notes[i] // l'utilisateur entre les valeursc) Avec calcul
Pour i de 1 Ă 5 faire
notes[i] â i * 2Afficher 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
- Lire toutes les notes
- Calculer la somme
- Diviser par le nombre de notes
- 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
| Symbole | Signification | Exemple dâusage |
|---|---|---|
| Ovale | Début / Fin | Début du programme, Fin du programme |
| Parallélogramme | Entrée / Sortie | Lire une valeur, Afficher un résultat |
| Rectangle | Traitement / Instruction | Calcul, affectation de variable |
| Losange | Condition / DĂ©cision | SiâŠAlorsâŠSinon |
Exemple concret : somme de deux nombres
Pseudo-code
Début
Lire A
Lire B
C â A + B
Afficher C
FinOrganigramme (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"
FinOrganigramme
[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