Instructions conditionnelles et boucles
Instructions conditionnelles
Normalement, en Javascript, le flux d'exécution du programme est linéaire. Les instructions sont
exécutées dans l'ordre dans lequel elles apparaissent dans le code.Cet ordre peut être modifié, notamment en
en effectuant un test conditionnel et en exécutant un bloc de code uniquement si la condition est vraie.
On utilise une instruction conditionnelle ayant la forme suivante:
if(valeur){
traitement exécuté
}
Si la valeur vaut true, le code suivant est exécuté.
Si elle est évaluée à false , le bloc suivant est ignoré et le traitement passe à un
à l'instruction suivante.
Exemple:
var nb1=Math.floor(10*Math.random());
var essai=prompt("Entrer un entier entre 0 et 9");
if(essai==nb1){
document.writeln("vous êtes chanceux");
}
Les opérateurs relationnels
Un opérateur relationnel est un opérateur qui permet de comparer les deux opérandes et de choisir quel
bloc de code sera exécuté en fonction du résultat.
== est l'opérateur d'égalité.
!= est l'opérateur de non égalité.
<=, <, >=, > sont des opérateurs qui permettent de savoir si une valeur est plus petite
ou plus grande q'une autre.
Les opérateurs logiques
Une expression conditionnelle repose souvent sur plusieurs expressions, représentées chacune par
une expression et combinée graçe à des opérateurs logiques.
L'opérateur logique AND(et) est représenté par les caractères&&
.
Exemple:
var nVal=prompt(" Entrer un entier");
if((nVal>10)&&(nVal<70)){
document.writeln("le nombre saisi est plus grand que 10 ET plus petit que 70");
}
L'opérateur logique OR(ou) est représenté par les caractères ||
.
Exemple:
var nVal=prompt(" Entrer un entier");
if((nVal<10)||(nVal>70)){
document.writeln("le nombre saisi est plus petit que 10 OU plus grand que 70");
}
Lorsque la condition est fausse, un bloc de codes peut être exécuté en utilisant l'instruction else
.
Ce mot clé permet d'indiquer un second bloc d'instructions qui sera exécuté si la condition est fausse:
if(valeur){
...
}
else{
...
}
Exemple:
var nVal=prompt("Entrer un entier");
if(nVal%2==0){
document.writeln("L'entier "+nVal+" est pair");
}
else
{document.writeln("L'entier "+nVal+" est impair");
}
TP 1:
Ecrire un programme qui, étant donné une équation du second degré, détermine le nombre
de solutions réelles et leurs valeurs éventuelles.
TP 2
Ecrire un programme qui affiche le tarif du timbre à poser sur une lettre en fonction de son type et de sa masse.
Chercher sur le site web de La Poste les tarifs postaux
pour les lettres vertes, prioritaires et économiques en fonction de leur masse.
Les boucles
La boucle for
La boucle for exécute un bloc de codes un nombre de fois déterminé.
Sa forme comporte trois parties distinctes:
- Une variable compteur est initialisée à une valeur de départ.
- Elle est modifiée à chaque itération.
- Lorsque la valeur satisfait à une certaine condition, la boucle est terminée.
for(valeur initiale; condition; modification de la valeur){
...
}
L'exemple suivant affiche dix foix "BONJOUR"
for( var i=0;i<10;i=i+1){
document.writeln("BONJOUR<br/>");
}
La variable i est initialisée à 0.
A chaque itération de la boucle cette variable est testée pour savoir si elle est inférieure à 10.
Si c'est le cas, sa valeur est incrémentée et la boucle est exécutée à nouveau. Dans le cas contraire, la boucle
est terminée et l'exécution se poursuit à la première ligne du bloc suivant.
L'instruction i=i+1 est souvent remplacée par i++.
TP 3:
- Ecrire un programme qui receuille au clavier les températures de 7 jours successifs et calcule la moyenne
de la semaine.
- Modifier le programme suivant pour que l'utilisateur puisse préciser le nombre de jours avant de donner
les températures.
La boucle while
La boucle while commence par tester une condition.
Le bloc est ensuite exécuté une fois et la condition est testée de nouveau.
Tant que la condition est vraie, le processus continue. Si la condition devient fausse, la boucle se termine.
while(condition){
...
}
TP 4:
La propriété
charAt retourne le caractère à une position donnée dans une chaîne de caractères.
Exemple:
var text="numérique";
var car=text.charAt(4);
document.writeln(car);
On peut remarquer que la valeur de l'index est comptée à partir de 0.
On considère la chaîne de caractères:
"Je n'aime pas faire de vélo quand il pleut".
- Ecrire un programme qui cherche si la lettre "v" est présente dans cette chaîne de caractères et
qui donne sa position.
- Modifier ce programme pour cette fois chercher la présence de la sous chaîne "vélo".