2026-01-15 18:32:27 +01:00
# Correction des exercices - JavaScript
---------
## Exercice 1 : Pair ou impair
### Version simple avec prompt
```javascript
const nombre = parseInt ( prompt ( "Entrez un nombre :" ));
if ( nombre % 2 === 0 ) {
document . write ( nombre + " est pair" );
} else {
document . write ( nombre + " est impair" );
}
```
### Version avec gestion des erreurs
```javascript
const saisie = prompt ( "Entrez un nombre :" );
const nombre = parseInt ( saisie );
if ( isNaN ( nombre )) {
document . write ( "Erreur : vous n'avez pas entré un nombre valide" );
} else if ( nombre % 2 === 0 ) {
document . write ( nombre + " est pair" );
} else {
document . write ( nombre + " est impair" );
}
```
**Points importants :**
- `%` est l'opérateur modulo (reste de la division)
- Un nombre est pair si `nombre % 2` vaut 0
- `isNaN()` vérifie si la valeur n'est pas un nombre (Not a Number)
- `parseInt()` convertit une chaîne en entier
---------
## Exercice 2 : Calculatrice simple
### Version simple
```javascript
const a = parseFloat ( prompt ( "Entrez le premier nombre :" ));
const b = parseFloat ( prompt ( "Entrez le deuxième nombre :" ));
const operation = prompt ( "Quelle opération ? (+, -, *, /)" );
let resultat ;
if ( operation === "+" ) {
resultat = a + b ;
} else if ( operation === "-" ) {
resultat = a - b ;
} else if ( operation === "*" ) {
resultat = a * b ;
} else if ( operation === "/" ) {
if ( b === 0 ) {
resultat = "Erreur : division par zéro impossible" ;
} else {
resultat = a / b ;
}
} else {
resultat = "Opération non reconnue" ;
}
document . write ( a + " " + operation + " " + b + " = " + resultat );
```
### Version avec switch
```javascript
const a = parseFloat ( prompt ( "Entrez le premier nombre :" ));
const b = parseFloat ( prompt ( "Entrez le deuxième nombre :" ));
const operation = prompt ( "Quelle opération ? (+, -, *, /)" );
let resultat ;
switch ( operation ) {
case "+" :
resultat = a + b ;
break ;
case "-" :
resultat = a - b ;
break ;
case "*" :
resultat = a * b ;
break ;
case "/" :
if ( b === 0 ) {
resultat = "Erreur : division par zéro" ;
} else {
resultat = a / b ;
}
break ;
default :
resultat = "Opération non reconnue" ;
}
document . write ( a + " " + operation + " " + b + " = " + resultat );
```
**Points importants :**
- `parseFloat()` convertit en nombre décimal (contrairement à `parseInt()` qui donne un entier)
- Il faut vérifier la division par zéro
- `switch` est une alternative à plusieurs `if/else if`
- Chaque `case` doit se terminer par `break`
---------
## Exercice 3 : FizzBuzz
```javascript
for ( let i = 1 ; i <= 100 ; i ++ ) {
if ( i % 3 === 0 && i % 5 === 0 ) {
document . write ( "FizzBuzz<br>" );
} else if ( i % 3 === 0 ) {
document . write ( "Fizz<br>" );
} else if ( i % 5 === 0 ) {
document . write ( "Buzz<br>" );
} else {
document . write ( i + "<br>" );
}
}
```
### Version alternative avec concaténation
```javascript
for ( let i = 1 ; i <= 100 ; i ++ ) {
let resultat = "" ;
if ( i % 3 === 0 ) {
resultat = resultat + "Fizz" ;
}
if ( i % 5 === 0 ) {
resultat = resultat + "Buzz" ;
}
if ( resultat === "" ) {
resultat = i ;
}
document . write ( resultat + "<br>" );
}
```
**Points importants :**
- L'ordre des conditions est important : on teste d'abord "multiple de 3 ET 5"
- `&&` est l'opérateur ET logique
- La version alternative évite la répétition du test "multiple de 3 ET 5"
---------
Auteur : Florian Mathieu
2026-08-11 23:29:03 +02:00
Licence CC BY-SA
2026-01-15 18:32:27 +01:00
2026-08-11 23:29:03 +02:00
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Licence Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a> <br />Ce cours est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International</a>.