Discriminant : Pour l'équation \(ax^2 + bx + c = 0\), \(\Delta = b^2 - 4ac\).
- Déclaration des variables
- Saisie des coefficients
- Calcul du discriminant
- Structure conditionnelle pour le nombre de solutions
Variables a, b, c, delta : réels
Début
Afficher("Entrez le coefficient a : ")
Lire(a)
Afficher("Entrez le coefficient b : ")
Lire(b)
Afficher("Entrez le coefficient c : ")
Lire(c)
delta ← b*b - 4*a*c
Si delta > 0 Alors
Afficher("L'équation a deux solutions")
Sinon Si delta = 0 Alors
Afficher("L'équation a une solution")
Sinon
Afficher("L'équation n'a pas de solution réelle")
FinSi
Fin
Variables déclarées : a, b, c, delta (tous de type réel)
Saisie des coefficients a, b, c
\(\Delta = b^2 - 4ac\) (structure de séquence)
Structure conditionnelle imbriquée pour traiter les 3 cas
Si \(\Delta > 0\) : 2 solutions
Si \(\Delta = 0\) : 1 solution
Si \(\Delta < 0\) : 0 solution réelle
L'algorithme utilise une structure conditionnelle pour déterminer le nombre de solutions en fonction du discriminant.
• Variables : Déclaration explicite des types
• Séquence : Instructions exécutées dans l'ordre
• Conditionnelle : Structure SI-SINON-SINON SI
Le discriminant détermine le nombre de solutions d'une équation du second degré
La structure conditionnelle permet de gérer plusieurs cas
Somme des entiers : \(S = 1 + 2 + 3 + ... + n = \frac{n(n+1)}{2}\).
Variables n, i, somme : entiers
Début
Afficher("Entrez la valeur de n : ")
Lire(n)
somme ← 0
i ← 1
TantQue i <= n Faire
somme ← somme + i
i ← i + 1
FinTantQue
Afficher("La somme des ", n, " premiers entiers est : ", somme)
Fin
Variables déclarées : n, i, somme
Initialisation : somme = 0, i = 1
Condition : i ≤ n
Instruction : somme ← somme + i
Incrémentation : i ← i + 1
i=1: somme=0+1=1
i=2: somme=1+2=3
i=3: somme=3+3=6
i=4: somme=6+4=10
i=5: somme=10+5=15
i=6: condition fausse, sortie de la boucle
Pour i de 1 à n Faire
somme ← somme + i
FinPour
L'algorithme utilise une boucle pour accumuler les entiers de 1 à n dans une variable somme.
• Boucle : Répétition contrôlée par une condition
• Accumulateur : Variable qui accumule les valeurs
• Invariant : somme contient la somme des entiers de 1 à i-1
La boucle TantQue nécessite une initialisation avant la boucle
La condition de continuation doit évoluer à chaque itération
Tableau : Structure de données contenant des éléments de même type.
Variables tab[10] : réels
Variables i, element, trouve : entiers
Début
// Initialisation du tableau
Pour i de 0 à 9 Faire
Afficher("Entrez l'élément ", i, " : ")
Lire(tab[i])
FinPour
Afficher("Entrez l'élément à rechercher : ")
Lire(element)
trouve ← 0
i ← 0
TantQue (i < 10) ET (trouve = 0) Faire
Si tab[i] = element Alors
trouve ← 1
Sinon
i ← i + 1
FinSi
FinTantQue
Si trouve = 1 Alors
Afficher("L'élément est présent à l'indice ", i)
Sinon
Afficher("L'élément n'est pas dans le tableau")
FinSi
Fin
Tableau tab de 10 réels
Variables i, element, trouve
Boucle Pour pour remplir le tableau
Initialisation : trouve = 0, i = 0
Boucle TantQue avec condition composée
Si élément trouvé : trouve = 1 (sortie de boucle)
Structure conditionnelle pour afficher le résultat
L'algorithme utilise une boucle conditionnelle pour rechercher un élément dans un tableau.
• Tableau : Accès aux éléments par indice
• Boucle : Condition composée pour arrêt anticipé
• Booléen : Variable indicatrice de statut
La recherche s'arrête dès que l'élément est trouvé
Utilisation d'une variable booléenne pour contrôler la boucle
Tri à bulles : Algorithme de tri qui compare les éléments adjacents et les échange si nécessaire.
Variables tab[5] : réels
Variables i, j, temp : réels
Début
// Initialisation du tableau
Pour i de 0 à 4 Faire
Afficher("Entrez l'élément ", i, " : ")
Lire(tab[i])
FinPour
// Tri à bulles
Pour i de 0 à 3 Faire
Pour j de 0 à 3-i Faire
Si tab[j] > tab[j+1] Alors
temp ← tab[j]
tab[j] ← tab[j+1]
tab[j+1] ← temp
FinSi
FinPour
FinPour
// Affichage du tableau trié
Afficher("Tableau trié : ")
Pour i de 0 à 4 Faire
Afficher(tab[i], " ")
FinPour
Fin
Tableau tab de 5 réels
Variables i, j, temp
Remplissage du tableau
Boucle extérieure : i de 0 à 3 (itérations de tri)
Boucle intérieure : j de 0 à 3-i (comparaisons)
Si tab[j] > tab[j+1] alors échange
Utilisation de la variable temporaire pour l'échange
Tableau initial : [5, 2, 8, 1, 9]
Après itération 1 : [2, 5, 1, 8, 9]
Après itération 2 : [2, 1, 5, 8, 9]
Après itération 3 : [1, 2, 5, 8, 9]
L'algorithme utilise des boucles imbriquées pour trier le tableau par ordre croissant.
• Boucles imbriquées : Structure Pour dans une autre Structure Pour
• Échange : Utilisation d'une variable temporaire
• Optimisation : La borne supérieure diminue à chaque itération
Les boucles imbriquées permettent de comparer tous les couples d'éléments
La variable temporaire est nécessaire pour échanger deux valeurs
Moyenne : Somme des valeurs divisée par le nombre de valeurs.
Variables notes[5] : réels
Variables i, somme, moyenne : réels
Début
// Initialisation du tableau de notes
Pour i de 0 à 4 Faire
Répéter
Afficher("Entrez la note ", i+1, " : ")
Lire(notes[i])
Jusqu'à (notes[i] >= 0) ET (notes[i] <= 20)
FinPour
// Calcul de la somme
somme ← 0
Pour i de 0 à 4 Faire
somme ← somme + notes[i]
FinPour
// Calcul de la moyenne
moyenne ← somme / 5
// Attribution de la mention
Si moyenne >= 16 Alors
Afficher("Moyenne : ", moyenne, " - Mention : Très bien")
Sinon Si moyenne >= 14 Alors
Afficher("Moyenne : ", moyenne, " - Mention : Bien")
Sinon Si moyenne >= 12 Alors
Afficher("Moyenne : ", moyenne, " - Mention : Assez bien")
Sinon Si moyenne >= 10 Alors
Afficher("Moyenne : ", moyenne, " - Mention : Passable")
Sinon
Afficher("Moyenne : ", moyenne, " - Mention : Insuffisant")
FinSi
Fin
Structure Répéter...Jusqu'à pour valider les notes entre 0 et 20
Boucle Pour pour accumuler les notes
moyenne = somme / nombre_d'éléments
Structure conditionnelle imbriquée pour les mentions
Très bien : ≥ 16, Bien : ≥ 14, Assez bien : ≥ 12, Passable : ≥ 10
Variables n : entier
// Demander le nombre de notes
Afficher("Combien de notes ? ")
Lire(n)
// Redimensionner ou utiliser une structure adaptée
L'algorithme calcule la moyenne d'un tableau de notes et attribue une mention selon des seuils prédéfinis.
• Validation : Structure Répéter...Jusqu'à pour contrôler les entrées
• Calcul : Accumulation suivie de division
• Classification : Structure conditionnelle pour catégoriser
La validation des entrées garantit la cohérence des données
Les seuils de classification doivent être ordonnés de manière logique
- Analyse du problème : Identifier les données d'entrée et les résultats attendus
- Choix des structures : Sélectionner les structures de contrôle appropriées
- Implémentation : Écrire l'algorithme en respectant la syntaxe
- Validation : Vérifier avec des exemples concrets
- Les variables doivent être déclarées avant utilisation
- Les boucles doivent avoir une condition de terminaison
- Les structures conditionnelles doivent couvrir tous les cas possibles
- Les tableaux ont des indices généralement de 0 à n-1
- Les algorithmes doivent être lisibles et commentés