Conversation with Merlin [email protected] · Wed Nov 22 2023

Exercice 1. Écrire un script qui échange deux valeurs contenues dans deux champs texte lorsqu’on clique sur un bouton. Exercice 2. Écrire un script qui affiche les nombres premiers compris entre 0 et n où n est un entier positif ≥ 2 saisi au clavier. Exercice 3. Écrire une boucle while qui se répète tant que l’utilisateur n’a pas saisi des données dans une fenêtre prompt(). Exercice 4. Réaliser un convertisseur en hexadécimal pour des nombres entiers positifs inférieurs à 255. Un champ text pour saisir le nombre entier à convertir, un bouton à cliquer et un autre champ texte pour afficher le nombre hexadécimal obtenu.

Pour résoudre ces exercices, vous pouvez utiliser du JavaScript. Voici un exemple de script pour chaque exercice :

Exercice 1:

function echangerValeurs() { var temp = document.getElementById('champ1').value; document.getElementById('champ1').value = document.getElementById('champ2').value; document.getElementById('champ2').value = temp; }

Exercice 2:

function estNombrePremier(num) { for (var i = 2; i < num; i++) if (num % i === 0) return false; return num > 1; } function afficherNombresPremiers(n) { var nombresPremiers = []; for (var i = 2; i <= n; i++) { if (estNombrePremier(i)) { nombresPremiers.push(i); } } console.log(nombresPremiers); }

Exercice 3:

var saisie = ''; while (saisie === '') { saisie prompt('Veuillez saisir des données :'); }

Exercice 4:

function convertirEnHexadecimal() { var nombre = parseInt(document.getElementById('nombreEntier').value); if (nombre >= 0 && nombre < 256) { var hex = nombre.toString(16).toUpperCase(); document.getElementById('resultatHexadecimal').value = hex; } else { alert('Veuillez saisir un nombre entier positif inférieur à 256.'); } }

Vous pouvez placer ces scripts dans votre fichier HTML avec les éléments correspondants tels que des champs texte, des boutons et des gestionnaires d'événements pour répondre à chaque besoin spécifique.

est ce qu'est necessaire d'utilise les fonctions ?

Les fonctions ne sont pas strictement nécess pour résoudre les exercices proposés, mais elles sont fortement recommandées plusieurs raisons :

  1. Modularité : Les fonctions permettent de diviser le code en blocs logiques réutilisables, ce qui facilite la compréhension et la maintenance du code.

  2. Clarté : En utilisant des fonctions avec des noms descriptifs, le code devient plus lisible et plus facile à comprendre pour vous-même et pour d'autres développeurs qui pourraient consulter votre code à l'avenir.

  3. Réutilisation : Si vous devez effectuer la même opération plusieurs fois, vous pouvez simplement appeler la fonction au lieu de répéter le même code à plusieurs endroits.

  4. Testabilité : Les fonctions autonomes sont plus faciles à tester, ce qui est utile pour vérifier leur bon fonctionnement.

Cependant, si vous préférez ne pas utiliser de fonctions, vous pouvez également écrire le code directement à l'intérieur des événements correspondants (par exemple, directement à l'intérieur de l'événement "onclick" d'un bouton). Cela fonctionnera également, mais peut rendre le code plus long et moins organisé.

donner moi la solution sans fonction

Bien sûr ! Voici des exemples de solutions sans utiliser de fonctions pour les exercices proposés :

Exercice 1:

document.getElementById('boutonEchange').onclick = function() { var temp = document.getElementById('champ1').value; document.getElementById('champ1').value = document.getElementById('champ2').value; document.getElementById('champ2').value = temp; }

Exercice 2:

document.getElementById('boutonNombresPrem').onclick = function() { var n = parseInt(prompt('Veuillez saisir un entier positif supérieur ou égal à 2 :')); var nombresPremiers = []; for (var i = 2; i <= n; i++) { var estPremier = true; for (var j = 2; j < i; j++) { if (i % j === 0) { estPremier = false; break; } } if (estPremier) { nombresPremiers.push(i); } } alert('Les nombres premiers entre 0 et ' + n + ' sont : ' + nombresPremiers.join(', ')); }

Exercice 3:

var saisie; while (!saisie) { saisie = prompt('Veuillez saisir des données :'); }

Exercice 4:

document.getElementById('boutonConvertir').onclick = function() { var nombre = parseInt(document.getElementById('nombreEntier').value); if (nombre >= 0 && nombre < 256) { var hex = nombre.toString(16).toUpperCase(); document.getElementById('resultatHexadecimal').value = hex; } else { alert('Veuillez saisir un nombre entier positif inférieur à 256.'); } }

Ces codes peuvent être placés dans les balises <script> de votre fichier HTML pour fonctionner correctement. Bien que ces solutions fonctionnent, l'utilisation de fonctions est toujours recommandée pour les raisons équées précédemment.

et pour le html de se JS

Voici un exemple de code HTML pour accompagner les solutions JavaScript sans l'utilisation de fonctions pour les exercices proposés :

<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Exercices JavaScript</title> </head> <body> <h2>Exercice 1: Échanger des valeurs</h2> <input type="text" id="champ1" value="Valeur 1"> <input type="text" id="champ2" value="Valeur 2"> <button id="boutonEchange">Échanger</button> <h2>Exercice 2: Nombres premiers</h2> <button id="boutonNombresPrem">Afficher les nombres premiers</button> <h2>Exercice 3: Saisie de données</h2> <button id="boutonSaisie">Demander des données</button> <h2>Exercice 4: Conversion en hexadécimal</h2> <input type="number" id="nombreEntier" min="0" max="255" placeholder="Entier entre 0 et 255"> <button id="boutonConvertir">Convertir en hexadécimal</button> <input type="text" id="resultatHexadecimal" readonly> <script> // Les scripts JavaScript peuvent être placés ici </script> </body> </html>

Vous n'avez plus qu'à intégrer les solutions JavaScript directement dans la balise <script> de votre fichier HTML. Cette disposition vous permettra de voir les différents éléments de l'interface utilisateur et de connecter les comportements JavaScript adéquats à chaque élément.