Exercices

Exemple

Dans le dossier 3-fonctions :

  • Ajoutez le fichier 3-exercices.html

1
<!DOCTYPE html>
2
<html lang="fr">
3
    <head>
4
        <title>JS Exercices</title>
5
        <meta charset="utf-8" />
6
        <meta name="viewport" content="width=device-width, initial-scale=1" />
7
        <link
8
          href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css"
9
          rel="stylesheet"
10
          integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx"
11
          crossorigin="anonymous"
12
        />
13
        <style> main > div {background-color: #c5c5c5;}</style>
14
    </head>
15
    <body>
16
        <header class="p-2 bg-secondary text-light bg-gradient">
17
            <section>
18
                <h2>JS - Fonctions Exercices</h2>
19
            </section>
20
        </header>
21
22
        <main>
23
            <div class="m-3 p-3 row">
24
                <p>Remplir les variables</p>
25
                <div class="col input-group mb-3">
26
                    <span class="input-group-text">Tableau de nombres</span>
27
                    <input type="text" id="tableauNombres" class="form-control">
28
                </div>
29
                <div class="col-3 input-group mb-3">
30
                    <span class="input-group-text">Tableau de mots</span>
31
                    <input type="text" id="tableauMots" class="form-control"/>
32
                </div>
33
                <div class="col input-group mb-3">
34
                    <span class="input-group-text">Nombre1</span>
35
                    <input type="text" id="nombre1" class="form-control"/>
36
                </div>
37
                <div class="col input-group mb-3">
38
                    <span class="input-group-text">Nombre2</span>
39
                    <input type="text" id="nombre2" class="form-control"/>
40
                </div>
41
                <div class="col-auto">
42
                    <button type="submit" onclick="exercice()" class="btn btn-primary">Soumettre</button>
43
                </div>
44
            </div>
45
46
            <div class="m-3 p-3 row">
47
                <p>Affiche la somme des nombres pairs du tableau de nombres</p>
48
49
                <div class="col">
50
                    <input type="text" id="sommePairs" class="form-control" readonly>
51
                </div>
52
            </div>
53
54
            <div class="m-3 p-3 row">
55
                <p>Affiche le plus grand nombre impair du tableau des nombres</p>
56
57
                <div class="col">
58
                    <input type="text" id="maxImpair" class="form-control" readonly/>
59
                </div>
60
            </div>
61
62
            <div class="m-3 p-3 row">
63
                <p>Affiche les nombres du tableau de nombres multiples de Nombre1</p>
64
                <div class="col input-group mb-3">
65
                    <input type="text" id="multipleNombres" class="form-control" readonly/>
66
                </div>
67
            </div>
68
69
            <div class="m-3 p-3 row">
70
                <p>Affiche les nombres compris entre le rang Nombre1 et le rang Nombre2</p>
71
                <div class="col input-group mb-3">
72
                    <input type="text" id="intervalle" class="form-control" readonly>
73
                </div>
74
            </div>
75
76
            <div class="m-3 p-3 row">
77
                <p>Affiche si un nombre du tableau de nombres est multiples de Nombre1</p>
78
                <div class="col input-group mb-3">
79
                    <input type="text" id="multipleNb" class="form-control" readonly/>
80
                </div>
81
            </div>
82
83
            <div class="m-3 p-3 row">
84
                <p>Affiche la longueur des mots du tableau de mots</p>
85
                <div class="col input-group mb-3">
86
                    <input type="text" id="longueurMots" class="form-control" readonly/>
87
                </div>
88
            </div>
89
90
            <div class="m-3 p-3 row">
91
                <p>Affiche les mots dans le sens inverse du tableau de mots</p>
92
                <div class="col input-group mb-3">
93
                    <input type="text" id="envers" class="form-control" readonly/>
94
                </div>
95
            </div>
96
97
            <div class="m-3 p-3 row">
98
                <p>Affiche les mots dont la longueur est plus grande que Nombre1</p>
99
                <div class="col input-group mb-3">
100
                    <input type="text" id="filtreMots" class="form-control" readonly/>
101
                </div>
102
            </div>
103
104
        </main>
105
106
        <footer>
107
            <nav class="navbar navbar-expand-lg navbar-light bg-secondary bg-gradient">
108
              <ul class="navbar-nav mr-auto mb-2 mb-lg-0">
109
                <li class="nav-item">
110
                  <a class="nav-link" href="https://www.univ-littoral.fr/">ULCO</a>
111
                </li>
112
                <li class="nav-item">
113
                  <a class="nav-link" href="https://fcu.univ-littoral.fr/">FCU</a>
114
                </li>
115
                <li class="nav-item">
116
                  <a class="nav-link" href="https://deust-bcmm.univ-littoral.fr/">W2D</a>
117
                </li>
118
              </ul>
119
            </nav>
120
        </footer>
121
122
        <script src="js/3-exercices.js"></script>
123
    </body>
124
</html>
  • Dans le dossier js ajoutez le fichier 3-exercices.js

1
/**
2
 *  Fonctions
3
 */
4
5
// retourne la somme des nombres pairs :
6
// sommePairs([2, 3, 6, 5]) => 8
7
const sommePairs = function() {
8
    return "";
9
};
10
11
// retourne le plus grand nombre impair :
12
// maxImpair([2, 3, 6, 5]) => 5
13
const maxImpair = function() {
14
    return "";
15
};
16
17
// retourne une chaine contenant les nombres multiples d'un autre nombre
18
// multipleNombres([3,7,9,12,5], 3) => "3 9 12"
19
const multipleNombres = function() {
20
    return "";
21
};
22
23
// retourne les nombres entre les rangs debut et fin
24
// intervalle([3,7,9,12,5,6,8], 2, 4) => "9 12 5"
25
const intervalle = function() {
26
    return "";
27
};
28
29
// retourne si un nombre du tableau est multiple de nb
30
// multipleNb([7,9,12,5,6,8], 3) => true ; multipleNb([7,9,12,5,6,8], 11) => false
31
const multipleNb = function() {
32
    return "";
33
};
34
35
// retourne un tableau contenant les longueurs des mots
36
// longueurMots(['bonjour','salut','coucou']) => [7,5,6]
37
const longueurMots = function() {
38
    return "";
39
};
40
41
// inverse l'ordre des mots du tableau
42
// envers(['bonjour','salut','coucou']) => ['coucou','salut','bonjour']
43
const envers = function() {
44
    return "";
45
};
46
47
// retourne un tableau contenant les mots dont la longueur est plus grande que nb
48
// filtreMots(['bonjour','salut','coucou'], 5) => ['bonjour','coucou']
49
const filtreMots = function() {
50
    return "";
51
};
52
53
54
/**
55
 *  Lancement des fonctions
56
 */
57
58
const exercice = () => {
59
    let tableauNombres = document.querySelector('#tableauNombres').value.split(',').map((v) => +v);
60
    let tableauMots = document.querySelector('#tableauMots').value.split(',');
61
    let nombre1 = +document.querySelector('#nombre1').value;
62
    let nombre2 = +document.querySelector('#nombre2').value;
63
64
    // sommePairs
65
    document.querySelector('#sommePairs').value = sommePairs(tableauNombres);
66
    // maxImpair
67
    document.querySelector('#maxImpair').value = maxImpair(tableauNombres);
68
    // multipleNombres
69
    document.querySelector('#multipleNombres').value = multipleNombres(tableauNombres, nombre1);
70
    // intervalle
71
    document.querySelector('#intervalle').value = intervalle(tableauNombres, nombre1, nombre2);
72
    // multipleNb
73
    document.querySelector('#multipleNb').value = multipleNb(tableauNombres, nombre1) ? 'Oui' : 'Non';
74
75
    // longueurMots
76
    document.querySelector('#longueurMots').value = longueurMots(tableauMots).join(' ');
77
    // envers
78
    document.querySelector('#envers').value = envers(tableauMots).join(' ');
79
    // filtreMots
80
    document.querySelector('#filtreMots').value = filtreMots(tableauMots, nombre1).join(' ');
81
82
}
83
84
85

Exercice :

  • complétez le fichier 3-exercices.js :

    • Les instructions sur les fonctions se trouvent dans le fichier.

    • N'oubliez pas d'ajouter les paramètres aux fonctions.

Ouvrez dans votre navigateur le fichier 3-exercices.html