Page Web 17 initiation aux boucles "for" et "while".

1) Un premier exemple de boucle for
La somme des nombres entiers entre 1 et vaut    

Code du javascript :
A vous d'écrire le code HTML correspondant !
<script type="text/javascript">
function CalculSomme1() {
//=====================
// Calcule la somme des nombres entiers de 1 à un nombre donné.

// Récupère le nombre max.
var nMax = parseInt(document.maForm1.nomMax1.value);
//alert("nMax =" + nMax); // Pour des tests.

// Boucle de calcul
var nn = 0;  // parcour les nombres entiers de 1 à nMax
var nSum = 0; // somme des nombres entiers de 1 à nMax
for (nn = 1;  nn <= nMax;  nn++) {
   nSum = nSum + nn;
   }
//alert("nSum = " + nSum); // pour des tests
document.maForm1.nomRes1.value = nSum;
} // CalculSomme1
</script>



2) Exemple n°2 de boucle for
La somme des carrés des nombres entiers entre 1 et vaut    
Le code javascript est très similaire au précédent.



3) Exemple n°3 de boucle for
La somme des inverse des nombres entiers entre 1 et vaut    
Le code javascript est très similaire au précédent.



Boucle while
4) Un exemple de boucle while
La question est de savoir jusqu'où il faut additionner les nombres entiers en partant de 1, pour arriver à une somme donnée ?
Par exemple, quelle est la plus petite valeur N satisfaisant l'affirmation :
"La somme de 1 à N donne une nombre plus grand que 1'000'000."
La somme à atteindre vaut :


Code du javascript :
A vous d'écrire le code HTML correspondant !
<script type="text/javascript">
function CalculSomme4() {
//=====================
// Calcule le plus petit nombre  N  tel que la somme des nombres entiers de 1 à N
// donne un nombre donné.

// Récupère la somme à atteindre
var nSumMax = parseInt(document.maForm4.nomRes4.value);
//alert("nMax =" + nMax); // Pour des tests.

// Boucle de calcul
var nn = 0;  // parcour les nombres entiers de 1 à ?? pour atteindre nSumMax
var nSum = 0; // somme des nombres entiers de 1 à nn
while (nSum < nSumMax) {
   nn = nn + 1;
   nSum = nSum + nn;
   }
//alert("nSum = " + nSum); // pour des tests
document.maForm4.nomReponse4.value = 
   "La somme de 1 à " + nn + " donne " + nSum;
} // CalculSomme4
</script>
-----------------------------------------------------------------------------
L'input suivant est intéressant :
<input TYPE="text" NAME="nomReponse4" size='40' value="" readonly
    STYLE='color:#000080; background:#ffff60; font-size:12pt; font-family:arial; font-weight:bold;
           border-style:none;'>



5) Exemple n°2 de boucle while
La question est de savoir jusqu'où il faut additionner les inverses des nombres entiers en partant de 1, pour arriver à une somme donnée ?
Par exemple, quelle est la plus petite valeur N satisfaisant l'affirmation :
"La somme des inverses de 1 à N donne une nombre plus grand que 5."
La somme à atteindre vaut :

Le code javascript est très similaire au précédent.
Dans l'instruction : 
var vSumMax = parseFloat(document.maForm5.nomRes5.value);
parseFloat est utilisé, pour récupérer un nombre à "virgule flottante".

Plan du Site : Home     page17_boucles.html


Page mise à jour le 22 janvier 2015 par Bernard Gisin
Hébergement par : www.infomaniak.ch