Premiers pas en JavaScript

20.8 Les boucles WHILE - exercices
cuy copyleft
  See You Why?  

 


Break et Continue dans la boucle WHILE (20.3) | | Test : boucle WHILE (20.9)

Contenu

 

 

I. La boucle WHILE

voir <<< séquence précédente

 

II. WHILE avec 'break' ou 'continue'

voir <<< séquence précédente

 

VIII. Exercices relatifs aux boucles WHILE

 

exo20a

Étendez l'exercice 19b en demandant à l'utilisateur de saisir un nombre ou un caractère (à la place du "1") et le nombre de lignes à afficher…
Vous testerez si le caractère saisi contient bien qu'un seul caractère (méthode length).
Vous ferez en sorte que le nombre de lignes n'excède pas 50.
De plus, la boucle devra s'effectuer tant que l'utilisateur n'entrera pas un nombre.
Vous ne ferez appel qu'à des boucles WHILE.

Remarque : chaque ligne ne contient que des "1" (un) ; il n'y a aucun espace entre les "1" ; utilisez la méthode d'affichage :  document.write("element a afficher").

 

exo20b

Demander à l'utilisateur dans une boucle while d'entrer la signification de l'abréviation HTML jusqu'à trois fois dans une fenêtre de dialogue (window.prompt()).
La boucle peut se terminer pour deux raisons : soit l'utilisateur donne la signification exacte de l'abréviation (attention aux orthographes acceptables) ou la variable essai, qui compte le nombre de tentatives a atteint une valeur supérieure à 3.
Quand la boucle est terminée, on ne sait pas laquelle de ces deux causes possibles a mis fin à la boucle.
Pour le savoir, la vérification est faite dans l'exemple à la fin à l'aide d'une condition si, alors... avec if pour savoir si la boucle a été terminée parce que la réponse était fausse.
Selon le cas si la réponse était correcte ou bien fausse la phrase correspondante est sortie dans la fenêtre d'affichage du navigateur avec document.write.

 

exo20c

Voici un script JS d'une boucle while. Que va afficher cette boucle ?
var number = 1;
while (number < 10) {
    number++;
}
alert(number);

 

exo20d

Voici un autre script JS d'une boucle while. Que va afficher cette boucle ?
var compteur = 1 ;
do {
   compteur++ ;
   alert(compteur) ;
}
while (compteur<1);

 

exo20e

Voici encore un script JS d'une boucle while. Que va afficher cette boucle ?
var compteur = 1 ;
while (compteur<1) {
   compteur++ ;
   alert(compteur) ;
};

 

exo20f

Écrire un script, qui, au clic sur le bouton, lancer la fonction testWhile.
Cette fonction demandera à l'utilisateur de saisir une chaîne de caractères contenant le caractère une guille ("),
et le redemandera tant que l'utilisateur ne l'a pas fait.
Le script affichera ensuite la chaîne saisie entre guilles.

 

exo20g

Écrire un script qui donne le plus grand diviseur commun (PGDC) de deux nombres entiers introduits dans des champs d'input par l'utilisateur. Utilisez pour cela l'algorithme d'Euclide, algorithme qui s'énonce ainsi sur Wikipedia "On considère que pgcd(a,0) = a et que pour b ? 0 pgcd(a,b) = pgcd(b, a mod b). On progresse dans l'algorithme en diminuant à chaque étape les nombres considérés par calcul du modulo".
En d'autres mots : "On commence donc par calculer le reste de la division de a par b, qu'on note r ; puis on remplace a par b, puis b par r, et on réapplique le procédé depuis le début. On obtient ainsi une suite, qui vaut 0 à un certain rang ; le PGCD cherché est le terme précédent de la suite."

 

exo20h

Comme promis dans l'exercice 19h, il faut maintenant y répondre sans la boucle FOR, mais avec la boucle WHILE. Un rappel de l'énoncé :
Écrivez un programme qui lit N nombres entiers au clavier et qui affiche leur somme, leur produit et leur moyenne. Choisissez un type approprié pour les valeurs à afficher. Le nombre N est à entrer au clavier. Résolvez ce problème (sans l'usage d'arrays ou tableaux).

 

 

exo20i

Comme promis dans l'exercice 19h, il faut maintenant y répondre sans la boucle FOR, mais avec la boucle DO...WHILE. Un rappel de l'énoncé :
Écrivez un programme qui lit N nombres entiers au clavier et qui affiche leur somme, leur produit et leur moyenne. Choisissez un type approprié pour les valeurs à afficher. Le nombre N est à entrer au clavier. Résolvez ce problème (sans l'usage d'arrays ou tableaux).

 

 

Solutions, corrigés

 

20a Étendez l'exercice 19b en demandant à l'utilisateur de saisir un nombre ou un caractère (à la place du "1") et le nombre de lignes à afficher… rien qu'avec des boucles WHILE
1
11
111
1111
11111
111111
1111111
11111111
111111111
1111111111
20b Signification de HTML
20c Que va afficher cette boucle while ?
20d Que va afficher cette autre boucle while ?
20e Que va afficher cette dernière boucle while ?
20f Demande d'une chaine de caractères avec guilles.
20g PGCD de 2 nombres (par Euclide)

 

 

 

 

 

 

IV. Test relatif aux boucles WHILE

Le test ci-dessous n'a d'autres buts que de réagir à chaque réponse donnée à une question posée... il n'enregistre pas les réponses données, ni ne calcule les résultats...

 

A. noms de variables corrects ?

Ci dessous, vous trouverez une série de noms de variables donnés par des novices en JavaScript. Avant de cliquer sur chaque réponse, déterminez s'il s'agit d'un nom correct de variable ou s'il ne convient pas, auquel cas, à vous d'en préciser le motif.

Variable
Nom de variable
Nom_de_variable
1variable
nom@mavariable
mon-âge
mon_age
+21ans
_plus21ans
case


Break et Continue dans la boucle WHILE (20.3) | | Test : boucle WHILE (20.9)

 

 

Merci de votre visite à partir de :

Vous êtes sur :
https://cuy.be/cours/jvs/jvs_208_exo_boucle-while.html

partager sur FaceBook...           consulter sur FaceBook...

 

copyleft
Des liens ne fonctionnent plus ?
Avez-vous des suggestions ?
des commentaires, des corrections, un encouragement... ?
Pour info : Non, il n'y a pas de version papier ou DOC, PDF, etc. de ces notes.


Envoyez-moi un E-Mail (cuy(point)w(at)skynet(point)be)

Attention (at) signifie @ et (point) signifie .

Accueil CUY = See you why?

Compteur gratuitEasyCounter     BelStat Monitored by BelStat - Your Site Counts
La 1 000 000e page a été visitée le 21 mai 2010.
La 2 000 000e page a été visitée ce 18 mars 2012, vers midi.
La 3 000 000e page a été visitée ce 7 janvier 2014 entre 18 h et 18 h 45,
La 4 000 000e page a été visitée ce 5 juin 2015 entre 15 h 49 et 15 h 52,
La 5 000 000e page a été visitée ce 29 aout 2017 après 23 h 30,
Et la 6 000 000e page visitée, trop tôt pour y penser ?
 
et, d'après BelStat, CUY est visité surtout en semaine, peu le weekend...
moins et irrégulièrement pendant les vacances :

visites sur 3 mois, de la mi octobre 2013 à la mi janvier 2014.
 
La 3 333 333e page visitée a eu lieu ce mardi 10 juin 2014, en début d'après midi...
La 3 666 666e page visitée a eu lieu ce dimanche 28 decembre 2014, vers 16 h...
Un tiers de million de pages visitées en 154 jours cela fait une moyenne de 2165 pages visitées par jour...
Deux tiers de million de pages visitées en 355 jours soit une moyenne de 1878 pages visitées par jour...
et seulement 1195 pages visitées quotidiennement pendant les vacances estivales
de la mi juin à la mi septembre 2014

Vous voulez lire quelques messages reçus ?
quelques encouragements ?
Cliquez ici


Fin septembre 2009, installation de ce compteur
qui ne compte chaque nouvel ordinateur visiteur qu'une seule fois
free counter
 
m-à-j du 22/11/2021 :

Depuis cette fin septembre 2009, parmi les 210 pays (sur 274 drapeaux connus) qui nous ont visité,
voici les 100 pays qui nous visitent le plus, 
Nos petits visiteurs, classés par date de visite, où un seul ordi nous a visité, sont :
199. Turkmenistan (TM May 10, 2017) ; 200. Lesotho (LS March 1, 2017) ;
201. Turks and Caicos Island (TC January 18, 2016
202. Cook Islands (CK September 19, 2015)  203. Faroe Islands (FO January 27, 2015
204. Virgin Islands American (VI November 12, 2014) ;
205. Belize (BZ September 29, 2014) ;206. Eswatini - Swaziland (SZ July 21, 2014) ;
207. Grenada (GD April 3, 2014) ; 208. Timor-Leste (TI March 29, 2014) ;
209. American Samoa (AS December 26, 2012) ; 210. Guyana (GY November 5, 2010).