3ième S.I.
Sciences et Technologies de l’Informatique
Le Langage JavaScript
Les Structures de contrôle :
1. Les structures conditionnelles
a) La structure IF
La Forme réduite La Forme complète
IF (condition vraie) IF (condition vraie)
{Une ou plusieurs instructions ;} {Instructions 1 ;}
ELSE
{Instructions 2 ;}
Activité 1 : Déterminer le maximum de Activité 2 : Déterminer le maximum de
deux entiers (forme réduite) deux entiers (forme généralisée)
<html> <html>
<head> <head>
<title>forme reduite</title> <title>forme reduite</title>
</head> </head>
<body> <body>
<script> <script>
Var a=Number(prompt("donner un premier entier:","")); var a=Number(prompt("donner un premier entier:",""));
var b=Number(prompt("donner un deuxieme var b=Number(prompt("donner un deuxieme
entier:","")); entier:",""));
max=a; if (a<b)
if (a<b) {max=b;}
{max=b;} else
alert("le maximum est:"+max); {max=a;}
</script> alert("le maximum est:"+max);
</body></html> </script>
</body>
</html>
Remarque:
Dans le cas d’une seule instruction, les accolades sont facultatives
Il est possible d’imbriquer des structures conditionnelles (forme généralisée)
b) La structure switch
La syntaxe est la suivante :
Switch (expression)
{
Case v1: bloc 1;
Break;
Case v2: bloc 2;
Break ; …
Default: bloc n;
Break ;}
1
3ième S.I. Sciences et Technologies de l’Informatique
Activité : Ecrire un code javaScript permettant de lire le numéro du mois et la valeur d’une
année puis de déterminer le nombre de jours de ce mois.
<html>
<head>
<title>nombre de jours</title>
</head>
<body>
<script >
var m=Number([Link]("donner le numéro du mois",""));
var a=Number([Link]("donner la valeur de l'année",""));
switch(m)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:j=31;break;
case 4:case 6:case 9:case 11:j=30;break;
case 2:if(a%4==0)j=29; else j=28;break;
default:j="erreur";}
alert("le nombre de jours du mois n°"+m+" est: "+j);
</script>
</body>
</html>
Remarque:
- L’instruction break permet de quitter la structure switch après l’exécution du bloc convenable ;
- Lorsque le résultat de l’expression est différent de toutes les valeurs envisagées ; c’est le bloc n
relatif à default qui sera exécuté ;
- La clause default (bloc n) est facultative.
2. Les structures itératives
a) La structure For
Permet de répéter l’exécution d’un bloc d’instructions un certain nombre de fois connu d’avance :
For (initialisation ; condition ; progression)
{
Instructions ;
}
Initialisation : les instructions d’initialisations nécessaires ;
Condition : la condition de continuité (bouclage) ;
Progression : définit le pas du compteur (pas forcément + ou – 1)
Activité : Ecrire un code JavaScript permettant d’afficher tous les nombres parfaits compris entre 2 et
1000 ; sachant qu’un nombre N est dit parfait s’il est égal à la somme de ses diviseurs sauf lui même.
Exemple pour N=6 1+2+3=6
<html>
<head>
<title>boucle pour</title>
</head>
<body>
<script>
for (n=2;n<=1000;n++)
{
s=0;
for(i=1;i<=n/2;i++)
if(n%i==0) s+=i;
if (s==n) [Link](n+"<br>");
}
2
3ième S.I. Sciences et Technologies de l’Informatique
</script>
</body>
</html>
b) La structure do…while
Permet de répéter l’exécution des instructions tant que la condition est vérifiée.
Do
{
Instructions;
} while (condition(s));
Remarque : la condition utilisée après while est une condition de continuité
Activité : Ecrire un code JavaScript permettant d’afficher tous les nombres premiers compris
entre deux entiers a et b (a>1 et a<b et b<1001). Un nombre est dit premier s’il n’est
divisible que par 1 et par lui-même.
<html>
<head>
<title>do while</title>
</head>
<body>
<script>
do
{
a=Number([Link]("donner un entier: ",""));
b=Number([Link]("donner un autre entier:",""));
}while(a<=1||a>=b||b>=1001);
for (n=a;n<=b;n++)
{i=1;
do
{i=i+1;
}while (n%i!=0 && i<=n/2);
if (i>n/2) [Link](n);}
</script>
</body>
</html>
c) La structure while
Lorsque le nombre de répétitions n’est pas connu d’avance on utilise la structure itérative while.
While (condition(s))
{
Instructions ;
}
Activité : Ecrire un code JavaScript permettant d’afficher le PGCD de deux entiers donnés a
et b tels que (a>1 et b>1) en utilisant la méthode de différences.
3
3ième S.I. Sciences et Technologies de l’Informatique
<html>
<head>
<title>boucle while</title>
</head>
<body>
<script>
var a,b;
do
{
a=Number(prompt("donner un entier",""));
b=Number(prompt("donner un autre entier",""));
}while (a<=1||b<=1);
while (a!=b)
if (a>b)
a-=b;
else
b-=a;
alert("le pgcd est "+a);
</script>
</body>
</html>