vendredi 27 mars 2020

UE6: Les opérations, et les structures de contrôle en JS


Compétence : à la fin de cette leçon, chaque élève sera capable de :

  • Utiliser les opérateurs pour effectuer des calculs simples
  • Utiliser les structures de contrôle conditionnelles
  • Utiliser les structures de contrôle répétitives

Introduction 

Les opérateurs arithmétique, logiques, de comparaisons ; les structures de contrôle et de données nous ont permet d’écrire plusieurs algorithmes et d’effectuer des calculs simples et complexes. Le langage javascript nous offre des opérateurs, les instructions et les structures nous permettant d’écrire les scripts capables de Simuler certains de ces algorithmes.

I-                 LES OPERATEURS

1-   Les opérateurs arithmétiques

Les opérateurs arithmétiques permettent de réaliser les calculs élémentaires entre nombres. Le langage JavaScript offre cinq :

Opérateur
Description
+
Addition
-
Soustraction
*
Multiplication
/
Division
%
Modulo (renvoi le reste de la division entière d’un nombre par un autre)
 

1-   Les opérateurs de comparaison

Les opérateurs de comparaison permettent d’effectuer la comparaison de deux nombres.
Le résultat est un booléen (true ou false). Le langage JavaScript offre six opérateurs de comparaisons : 


Opérateur
Rôle
==
Permet de vérifier si les deux nombres sont égaux
!=
Permet de vérifier si les deux nombres sont différents
< 
Permet de vérifier si le premier nombre est plus petit que le second
> 
Permet de vérifier si le premier nombre est plus grand que le second
<=
Permet de vérifier si le premier nombre est inférieur ou égale au second
>=
Permet de vérifier si le premier nombre est supérieur ou égale au second

1-   Les opérateurs logiques

Ces opérateurs fonctionnent sur le même principe qu’une table de vérité en électronique. En javascript, on manipule généralement trois opérateurs logiques. Le tableau suivant montre chaque opérateur avec son type logique et son utilisation. 

Opérateur
Type logique
Utilisation
&&
ET
Valeur1 && valeur2
||
OU
Valeur1 || valeur2
!
NON
!valeur
 

L’opérateur ET vérifie la condition lorsque toutes les valeurs qui lui sont passées valent true. Si une seule d'entre elles vaut false alors la condition ne sera pas vérifiée.
L’opérateur OU est plus « souple » car il renvoie true si une des valeurs qui lui est soumise contient true, qu'importent les autres valeurs
L’opérateur NON se différencie des deux autres car il ne prend qu'une seule valeur à la fois. S'il se nomme « NON » c'est parce que sa fonction est d'inverser la valeur qui lui est passée, ainsi true deviendra false et inversement.

1-   Les opérateur d’incrémentation et décrémentation

a)   L’incrémentation

Une Incrémentation est une opération qui consiste à ajouter une valeur à une variable par une syntaxe simple. La valeur ajoutée est d’une quantité constante.
Exemple :
 var nombre = 2;
alert(nombre); // affiche 2
nombre++;
alert(nombre); // affiche 3
 

    b)   La décrémentation

 

Une Décrémentation est une opération qui consiste à enlever une valeur à une variable.
exemple:
var nombre = 2;
alert(nombre); // affiche 2
nombre- -;
alert(nombre); // affiche 1

L’opérateur d’incrémentation (ou de décrémentation) peut se placer avant ou après la variable. Lorsqu’il est placé avant, le navigateur affecte la valeur incrémentée (ou décrémentée) à la variable qui reçoit. Dans le cas où l'opérateur est placé après la variable, il affecte la valeur de la variable et non la valeur incrémentée à la variable qui reçoit.
NB : Cela est fait dans le cas où il y a affectation d'une variable en incrémentation vers une autre (ou elle-même).
EX : var nombre = 1, nombre2 = nombre++ // ici, nombre2 aura la valeur de nombre
Si on écrit nombre2 = ++nombre, nombre2 aura la valeur de nombre + 1

I-                 LES STRUCTURES DE CONTROLE

En programmation informatique, une structure de contrôle est une instruction particulière d'un langage de programmation impératif pouvant dévier le flot de contrôle du programme la contenant lorsqu'elle est exécutée. En javascript, on distingue deux grands types de structure de contrôle : les structures alternatives et les structures répétitives.

1-   Les structures alternatives

a)   Les structures conditionnelles

En javascript, on utilise les mots réservés if , else if et else pour déclarer une structure conditionnelle.  La combinaison des instructions if, else if et else permet d’exécuter le bloc de code dans if si la condition qu’elle contient est vraie, le bloc de code dans else if si c’est plutôt sa condition qui est vraie, si aucune condition n’est vraie, c’est le boc de code dans else qui est exécutée.
La syntaxe d’écriture est la suivante :

if( condition ) {
(...)
} else if( condition ) {
(...)
} else {
(...)
}
Exemple :
var chaine = "bonjour";
if( chaine == "bonsoir" ) {
alert("Je voudrais vous dire bonsoir");
} else if( chaine== "bonjour" ) {
alert("Je voudrais vous dire bonjour");
} else {
alert("Je voudrais vous saluer");
}

b)   La structure de branchement conditionnel

Cette structure intervient lorsque les conditions de la ligne de code à écrire sont diverses. Si par exemple nous voulons écrire un programme ayant 5 conditions différentes, en utilisant les if…else if…else nous écrirons un énorme code. La structure Switch nous permet donc de faire un branchement sur une variable et d’en faire des tests. La syntaxe de cette structure est :

switch (variable) {
  case valeur1:
      code...
    break;
  case valeurN:
      code...
    break;
  default:
      code...
    break;
}

L’instruction default ; permet de donner un traitement par défaut c'est-à-dire que si toutes les valeurs prévues ne sont pas données, c’est l’instruction du default qui sera exécutée.
 

1-   Les structures répétitives (boucles)

Les structures répétitives (les boucles) permettent d’exécuter un bloc d’instructions un certains nombres de fois. Le structures repétitives utilisées en javascript sont  :

-         For : elle prend trois paramètres : la condition de départ, la condition d’arrêt et la méthode de modification de la condition de départ. Le bloc d’instructions est exécuté jusqu’à ce que la condition d’arrêt soit fausse. A la fin de l’exécution du bloc d’instructions dans for, la méthode de modification de la condition de départ est exécutée. Elle est similaire à la boucle « pour » utilisée en algorithmique.  La syntaxe de la boucle for est la suivante :
for (condition de départ ; condition d’arrêt ; méthode de modification de la condition de
départ) {
//bloc d’instructions
}
Exemple : for( var cpt=0; cpt<7; cpt=cpt+1 ) {
alert("Valeur du compteur: "+cpt);
}

*      While : elle prend en paramètre une condition d’arrêt et exécute la boucle tant que cette condition est vraie.
La syntaxe de la boucle while est la suivante :
while(condition d’arrêt) {
// bloc d’instructions
}
Exemple : var diviseur=7, dividente=103,cpt=0;
while( diviseur<dividente) {
dividente=dividente-diviseur ;
cpt=cpt+1;
alert(dividente+ " "+diviseur+ " "+cpt) ; }

*      Do …while elle est similaire à la boucle while ; mais elle exécute le bloc d’instructions avant de vérifier la condition.
La syntaxe de la boucle do … while est la suivante :
do{
//bloc d’instructions
}
while( condition d’arrêt)
Exemple : var diviseur=2, dividente=10,cpt=0;
do{ dividente=dividente-diviseur ;
cpt=cpt+1;
alert(dividente+ " "+diviseur+ " "+cpt) ;
} while( diviseur<dividente)

Exercice d’application : écrire un script qui demande la ville de l’utilisateur et qui tant que la ville n’est pas PARIS le programme demande de recommencer et si la ville est PARIS, le programme affiche « Enfin la ville attendue. Bienvenue à AU-INFO »

Correction : l’exercice a pour but de faire comprendre à l’apprenant l’utilisation d’une boucle en attente d’une action spécifique de l’utilisateur. Voici le code permettant de corriger cet exercice

<script type="text/javascript">
  var ville = prompt('Entrez votre ville actuelle ');
  while(ville!='PARIS'){
    ville = prompt('La ville saisie est incorrecte. Recommencez');
  }
  if (ville=='PARIS') {
    alert('Enfin la ville attendue. Bienvenue à AU-INFO');
  }
</script>
 







 

Précédent

Suivant

Chapitre 1 : Introduction au langage Java et premier programme

1. Historique du langage java Java est un langage de programmation orienté objet développé par Sun Microsystems. Il est créé par James Go...