¶
Feuille 1
2022
En passant dans la console du Navigateur (F12) ou en
lançant node.js dans un terminal on dispose d'une boucle d'interaction
(qu'on appel aussi Toplevel ou REPL (Read Eval
Print Loop)). Tout les premiers exercices sont à faire à ce niveau.
Prévoir puis vérifier en javascript la valeur et le type de chacune
des expressions ci-dessous.
On pourra utiliser l'opérateur typeof
1+2;
4/2*2;
-4/(2*2);
5/2;
5 % 2;
1/0;Prévoir puis vérifier en javascript la valeur et le type de chacune
des expressions ci-dessous.
On pourra utiliser l'opérateur typeof
1.1e-3 + 2.5 * 2.0 - 1e+2;
- 1.0 / 2.5;
1 + 3.6;
1.2 + 3.4;Prévoir puis vérifier en javascript la valeur de chacune des
expressions ci-dessous. On pourra utiliser l'opérateur
typeof On pourra consulter L'objet Math
Math.sqrt(4.0);
Math.sqrt(4);
Math.floor(2.6) ;
Math.floor(-3.7) ;
Math.ceil(2.6) ;
Math.ceil(-3.7) ;
Math.sqrt(4.000000000000001);
Math.sqrt(4.00000000000000001); //piege ;-)Prévoir puis vérifier en javascript la valeur de chacune des
expressions suivantes : On pourra utiliser l'opérateur
typeof
Number("3")+5
"3"+5 // attention conversion implicite
String(3)+"5"
Number("trois")+5
parseInt("9.6")
parseFloat("9.6")
parseFloat("9.6cm")
Number("9.6cm")Déterminer le résultat renvoyé par javascript pour chacune des expressions suivantes :
"Le résultat est : " + (7*3);
"salut"[0];
"salut".charAt(3)
"salut"[3];
"salut"[8];
"salut".substring(0,3);
"salut".substring(0,3);
"salut".substring(3, "salut".lenght - 3);
12345.substring(1,3) // Attention pb
"ABC".charCodeAt(0)
"ABC".charCodeAt(1)
"ABC".charCodeAt(2)
"ABC".charCodeAt(3) Déterminer le résultat renvoyé par javascript pour chacune des expressions suivantes :
1 < 2 || 1.1 != 3.2;
2 === 3 && 1.34e+6 - 4.9e-4 > 23.4e5;
2>1 || 3<4 & 5>=6 ;
(2>1 || 3<4) && 5>=6 ;
! 2<1 || 3<4 ;
! (2<1 || 3<4) ;grosNombregrosNombre stocker
dans une variable plusGros, que pensez vous de la valeur de
ce nombre par rapport a la valeur attendu ?grosNombre et plusGros, que
pensez vous du résultatpetitNombrepetitNombre et
stocker le dans une variable plusPetit,petitNombre et plusPetit, que
pensez vous du résultatDéfinissez deux variables : p ayant pour valeur 5 et
q ayant pour valeur 3*p.
Avec une seule instruction console.log(…) et en
utilisant les variables p et q, faites
afficher la phrase suivante : "p vaut 5 et q vaut 15, leur somme fait
20"
N.B. La solution suivante n'est PAS celle que l'on attend
bien entendu :
console.log('p vaut 5 et q vaut 15, leur somme fait 20')
Demandez en a l’interpréteur javascript « q est-il un multiple de p ? » [utilisez le reste de la division]
Écrivez les lignes de code permettant d’échanger les valeurs de
p et q, en utilisant une variable temporaire
tmp. Vérifiez ensuite que les valeurs de p et
q ont bien été permutées.
Échangez à nouveau les valeurs de p et
q, mais SANS utiliser de variable
temporaire ! Soyez astucieux, jouez avec des opérations
arithmétiques…
Écrire une fonction qui calcul le prix TTC en fonction du prix HT sachant que la TVA est de 18,6%.
Définir la fonction cube qui à \(x\) associe \(x^3\)
Utiliser votre fonction cube pour écrire une fonction qui calcule le volume d'une sphere ( \(\frac{4}{3}\pi R^3\)) de rayon \(R\)
Écrire une fonction verifierUrlAbsolue qui prend en
argument une chaîne de caractère et renvoie true si elle
contient http::// et false sinon.
> verifierUrlAbsolue("http://example.org/")
true
> verifierUrlAbsolue("/exercice1/solution.html")
false
> En utilisant une boucle for programmer
une fonction affichant un compte à rebours de n à 0. Puis
écrire la meme fonction en utilisant une boucle
while
> compte_a_rebours(5);
5
4
3
2
1
undefined
> Programmer une fonction récursive affichant un
compte à rebours de n à 0 :
Programmer une fonction récursive calculant une
puissance entière (et positive) d’un réel : puiss(x,n)\(=x^n\)
Comparer le résultat à celui de Math.pow
Programmer une fonction iterative (avec for ou
while) calculant une puissance entière d’un réel :
puissIter(x,n)\(=x^n\)
En utilisant l'algorithme d'Euclide écrire une fonction qui renvoie le pgcd de deux nombres:
> pgcd(51,87)
3 // car 51 = 3* 17 et 87 = 3 * 29
> Déterminer le résultat affiché par javascript pour chacune des requêtes suivantes :
(4<5)?"oui":"non" // expression (valeur)
if (4<5) {"oui"} else{"non"}; //instruction (pas une valeur meme
// . si la ca ne se voit pas )
let res1=(4<5)?"oui":"non" //correcte on met la valeur de
// l'expression dans res1
let res2=if (4<5) {"oui"} else{"non"}; //err
if (4<5) {res2="oui"} else {res2=("non")}; //correcteÉcrire une fonction à trois arguments réels a,
b, c,, et qui retourne le nombre de solutions
réelles de l’équation \(aX^2+bX+X\) Si
on doit se rafraîchir la mémoire sur les
mathématiques de lycée
> resolveSolution(1,1,-2) // x²+x-2 = 0 a 2 solutions
2 //(delta positif)
> resolveSolution(1,1,1) //x²+x+1=0 n'a pas de solution
0 //(delta négatif)
> resolveSolution(4,4,1) //4x²+4x+1=0 1 solution car
1 //(delta == 0)
>