Correction
Exercice 1 :
1. Traduction de l'algorithme en langage PHP
En PHP, la structure Tantque se traduit par while.
<?php
// On simule la lecture des données (Lire M, N)
$M = 13;
$N = 3;
$P = 0; // Initialisation du quotient
while ($M >= $N) {
$M = $M - $N; // On soustrait N de M
$P = $P + 1; // On compte le nombre de soustractions effectuées
}
echo "Le résultat P est : " . $P;
?>
2. Simulation du programme
La simulation consiste à suivre l'évolution des variables à chaque tour de boucle.
- Cas n°1 : M = 13 et N = 3
|
Étape |
Condition (M≥N) |
Variable M |
Variable P |
Observation |
|
Initialisation |
— |
13 |
0 |
Valeurs de départ |
|
Tour 1 |
13≥3 (Vrai) |
10 |
1 |
13−3=10 |
|
Tour 2 |
10≥3 (Vrai) |
7 |
2 |
10−3=7 |
|
Tour 3 |
7≥3 (Vrai) |
4 |
3 |
7−3=4 |
|
Tour 4 |
4≥3 (Vrai) |
1 |
4 |
4−3=1 |
|
Fin |
1≥3 (Faux) |
1 |
4 |
Sortie de boucle |
- Cas n°2 : M = 16 et N = 2
|
Étape |
Condition (M≥N) |
Variable M |
Variable P |
Observation |
|
Initialisation |
— |
16 |
0 |
Valeurs de départ |
|
Tour 1 |
16≥2 (Vrai) |
14 |
1 |
16−2=14 |
|
Tour 2 |
14≥2 (Vrai) |
12 |
2 |
14−2=12 |
|
... |
... |
... |
... |
Répétition de l'opération |
|
Tour 7 |
4≥2 (Vrai) |
2 |
7 |
4−2=2 |
|
Tour 8 |
2≥2 (Vrai) |
0 |
8 |
2−2=0 |
|
Fin |
0≥2 (Faux) |
0 |
8 |
Sortie de boucle |
3. Que fait ce programme ?
Ce programme calcule le quotient de la division entière (division euclidienne) de M par N.
- P représente le quotient (combien de fois N est contenu dans M).
- M (à la fin du programme) représente le reste de la division.
Exercice 2 :
<?php
// Initialisation des variables
$a = 5;
$b = 3;
$resultat = 0;
// On utilise une boucle pour répéter l'addition "b" fois
for ($i = 1; $i <= $b; $i++) {
$resultat = $resultat + $a; // On ajoute "a" au résultat à chaque tour
}
// Affichage du résultat final
echo "Le résultat de la multiplication de $a par $b est : " . $resultat;
?>
Exercice 3 :
<?php
$iterations = 1000; // Plus ce nombre est grand, plus Pi est précis
$somme = 0;
for ($i = 0; $i < $iterations; $i++) {
// Calcul du dénominateur (1, 3, 5, 7...)
$denominateur = 2 * $i + 1;
// Alternance du signe : si i est pair (+), si i est impair (-)
if ($i % 2 == 0) {
$somme += 1 / $denominateur;
} else {
$somme -= 1 / $denominateur;
}
}
$pi = 4 * $somme;
echo "La valeur approchée de Pi est : " . $pi;
?>
