¶
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) ;
grosNombre
grosNombre
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ésultatpetitNombre
petitNombre
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)
>