From 883201ad4432a1c9411c2b3edb966f7b608a364b Mon Sep 17 00:00:00 2001 From: BARRE Milo <milo.barre9@etu.univ-lorraine.fr> Date: Fri, 28 Mar 2025 20:23:29 +0100 Subject: [PATCH] Exercice 7 --- compte-rendu.txt | 29 ++++++++++++++++++++++++++++- ex7.ts | 10 ++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 ex7.ts diff --git a/compte-rendu.txt b/compte-rendu.txt index e942c88..8c28cf1 100644 --- a/compte-rendu.txt +++ b/compte-rendu.txt @@ -31,4 +31,31 @@ Exercice 5 : Exercice 6 : 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 { + return x * y; // Solution optimale +} + + 6. Programme : voir ex7.ts \ No newline at end of file diff --git a/ex7.ts b/ex7.ts new file mode 100644 index 0000000..8707b24 --- /dev/null +++ b/ex7.ts @@ -0,0 +1,10 @@ +deb7(5, 3); + +function deb7(x:number, y:number):number{ + let val=0; + + for (let i = 0; i< y; i++) { + val =+ x; + } + return val; +} \ No newline at end of file -- GitLab