1.tab1 et tab2 pointent vers le même tableau. Quand on modifie tab1, tab2 est aussi modifié car c'est une référence, pas une copie.
2. tab2 est une copie indépendante de tab1 grâce à [...tab1]. Quand on modifie tab1, tab2 ne change pas : - tab1 = [1,1,3] (modifié)
2.tab2 est une copie indépendante de tab1 grâce à [...tab1]. Quand on modifie tab1, tab2 ne change pas : - tab1 = [1,1,3] (modifié)
Exercice 7 :
1.La fonction ajoute mal x à val à cause du bug =+ (devrait être +=) + Après 3 itérations avec x=5 : retourne 5 au lieu de 15
2.Correction :
function multiplication(x: number, y: number): number {
let val = 0;
for (let i = 0; i < y; i++) {
val += x; // Correction ici
}
val;
}
3. La fonction calcule mal x*y à cause du bug =+. Avec deb7(3,5), elle retourne 3 au lieu de 15. Après correction (+=), elle fonctionne et devrait s’appeler multiplication car elle additionne x y fois."
4. Remplacer la boucle par return x * y est bien plus efficace.
5. La boucle ne s'exécute pas (négatif), qui renvoie 0 (faux).
Correction : Utiliser return x * y
6. function multiplication(x: number, y: number): number {