Exercice 36/41

Dans le fichier "script.js" :

  • déclarez la variable result;
  • utilisez Math.random() pour générer un nombre entre 0 et 10 (voir l'astuce);
  • cliquez sur "Soumettre ma réponse".

Leçon 36/41

Pour générer un nombre aléatoire, il faut utiliser la fonction random(). Cette fonction génère un nombre décimal entre 0 (inclus) et 1 (non-inclus).

Exemple :

var resultat = Math.random();

Par défaut Math.random() génère un nombre décimal dans l'intervalle [0-1[. Si vous voulez modifier cet intervalle, il va falloir ajouter un peu de code.

Par exemple pour :

  • avoir un intervalle de 0 à 10, il faudra multiplier ce que donne Math.random() par 10;
  • avoir un nombre entier, car par défaut c'est un décimal. Mais il faudra utiliser autre chose que Math.round().

Pourquoi ?

Car pour l'instant, le nombre généré peut aller jusque 10.99 et des poussières. Avec Math.round() cela donnera l'entier 11, mais on veut rester dans l'intervalle 0-10. Il faudra donc utiliser Math.floor() qui arrondi à l'entier inférieur, donc 10.

Votre code devra tenir sur une seule ligne, voilà un début :

var nombre = Math.floor(ici la fonction Math.random() multiplié par 11);

Commentaires les mieux notés

134 Commentaires

  • thibault-vial-44-15

    thibault-vial-44-15

    Bonjour, il faudrait peut être préciser dans l'énoncé que le 10 est exclus, ainsi on comprendait mieux l'importance d'utiliser "floor" pour cet exercice.

    le 29/01/2022 à 16h25

  • tullusovucre-1845-2

    tullusovucre-1845-2

    bonjour j'ai cette erreur " Votre balise DOCTYPE est incorrecte. Avez-vous écrit ceci : <!DOCTYPE html> ? " ma réponse est "var result = Math.floor(Math.random()*10) " je passe au suivant ? :o

    le 28/11/2021 à 21h31

  • meriam

    meriam Admin

    Bonjour, écrivez <!DOCTYPE html> au lieu de <!DOCTYPE HTML>

    le 28/11/2021 à 22h41

  • caillarda-67

    caillarda-67

    Voici mon code : var result = Math.floor(Math.random()*11); et voici le message d erreur :Vous devez mutiplier Math.random par 10 en paramètre de Math.floor.

    le 20/10/2021 à 15h30

  • meriam

    meriam Admin

    ah je m'excuse je voulais dire var result = Math.floor(Math.random()*10);

    le 21/10/2021 à 01h05

  • caillarda-67

    caillarda-67

    Bonjour, je ne comprends pas l'erreur : "En paramètre de Math.floor vous devez multiplier Math.random par un nombre. Voici mon code : var result = Math.floor(Math.random()*10+1);

    le 18/10/2021 à 09h06

  • meriam

    meriam Admin

    var result = Math.floor(Math.random()*11);

    le 19/10/2021 à 10h47

  • canivet.gregory-40

    canivet.gregory-40

    var result = Math.floor(Math.random() * 10); est considéré comme le code correct, mais c'est faux car cela donne de 0 à 9... Merci pour l'inutile prise de tête déjà signalée en 2017 !

    le 20/06/2021 à 15h25

  • felixbacon31500-74

    felixbacon31500-74

    précisez entre 0 inclus et 10 exclus svp

    le 19/06/2021 à 15h20

  • meriam

    meriam Admin

    Bonjour, La fonction Math.random() renvoie un nombre flottant pseudo-aléatoire compris dans l'intervalle [0, 1[ (ce qui signifie que 0 est compris dans l'intervalle mais que 1 en est exclu).Ce nombre peut ensuite être multiplié afin de couvrir un autre intervalle.

    le 21/06/2021 à 02h52

  • felixbacon31500-74

    felixbacon31500-74

    faudrait préciser un nombre entier compris entre 0 et 10 dans l'énoncé de l'exercice

    le 19/06/2021 à 15h14

  • meriam

    meriam Admin

    Bonjour, La fonction Math.random() renvoie un nombre flottant pseudo-aléatoire compris dans l'intervalle [0, 1[ (ce qui signifie que 0 est compris dans l'intervalle mais que 1 en est exclu).Ce nombre peut ensuite être multiplié afin de couvrir un autre intervalle.

    le 21/06/2021 à 02h58

  • melissa.manier-67

    melissa.manier-67

    var result= Math.floor(Math.random()*10)+1); Bonjour, pourriez vous m'aider svp

    le 09/06/2021 à 20h23

  • meriam

    meriam Admin

    Bonjour, n'ajoutez pas +1 .

    le 10/06/2021 à 10h43

  • meriam

    meriam Admin

    Bonjour, n'ajoutez pas +1 .

    le 10/06/2021 à 10h43

  • melissa.manier-67

    melissa.manier-67

    var result= Math.floor(Math.random()*10)+1); Bonjour, pourriez vous m'aider svp

    le 09/06/2021 à 20h23

  • meriam

    meriam Admin

    Bonjour, supprimez +1 =>var result=Math.floor(Math.random()*10);

    le 10/06/2021 à 10h41

  • reuven-haddad-32

    reuven-haddad-32

    Dans les commentaires vous dites que Math.random ne prend aucun paramètres cependant j'ai testé le code suivant : var result = Math.floor(Math.random(0,11) * 10); et on me dit que c'est ok pouvez vous me donner plus d'informations svp par avance merci

    le 18/04/2021 à 11h10

  • meriam

    meriam Admin

    La fonction Math.random() renvoie un nombre flottant pseudo-aléatoire compris dans l'intervalle [0, 1[ (ce qui signifie que 0 est compris dans l'intervalle mais que 1 en est exclu) selon une distribution approximativement uniforme sur cet intervalle. Ce nombre peut ensuite être multiplié afin de couvrir un autre intervalle.

    le 19/04/2021 à 14h37

  • reuven-haddad-32

    reuven-haddad-32

    Bonjour,

    le 18/04/2021 à 11h08

  • meriam

    meriam Admin

    Bonjour, quelle est votre problème?

    le 19/04/2021 à 14h35

  • diana.assal-52

    diana.assal-52

    Bonjour, il y a une incohérence entre l"astuce donnée qui est vraie logico-analytiquement et le résultat de l'exercice considéré correct mais qui est faux car l'intervalle randomisé va de 0 à 9 (math.floor). Merci de bien vouloir corriger pour les futurs personnes à former.

    le 07/03/2021 à 12h32

  • meriam

    meriam Admin

    Votre code est correct.

    le 08/03/2021 à 13h17

  • syrine376-59

    syrine376-59

    var result=Math.floor(Math.random()*10); alert(result);

    le 16/10/2019 à 07h38

  • bouakkaz.f-7

    bouakkaz.f-7

    ça peut vous aider: var result=Math.floor(Math.random()*10)

    le 25/05/2019 à 08h32

  • antoine.rouchon-11

    antoine.rouchon-11

    Merci beaucoup !

    le 15/04/2019 à 10h13

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Générer un nombre aléatoire</title> <script src="script.js"></script> </head> <body> </body> </html>