From dbffae2b668316a1312b856a9c68ccad71cec4a2 Mon Sep 17 00:00:00 2001
From: Darciaux Yoann <yoann.darciaux3@etu.univ-lorraine.fr>
Date: Sun, 30 Mar 2025 11:46:56 +0200
Subject: [PATCH] Ajout exo 5 + Compte rendu

---
 compte_rendu_debug.txt | 12 +++++++++---
 exo5.ts                | 12 ++++++++++++
 2 files changed, 21 insertions(+), 3 deletions(-)
 create mode 100644 exo5.ts

diff --git a/compte_rendu_debug.txt b/compte_rendu_debug.txt
index 9626370..599cfc5 100644
--- a/compte_rendu_debug.txt
+++ b/compte_rendu_debug.txt
@@ -14,6 +14,12 @@ ligne 11: x = 10, y = 20,
 On pourrais donc appeler cette fonction "echange de valeur" car c'est ce qu'il fait.
 
 Exercice 4:
-C'est efficace avec les tableaux, car ils sont transmis par référence, ce qui autorise la fonction à changer directement le contenu du tableau.
-Si l'on ajoute xy = [100, 200], le plus récent reste celui-ci.log montre [20, 10], parce que xy = [100, 200]. Constituez un nouveau tableau contenant les valeurs actualisées, sans toucher au tableau avec les données originales. Puisque le premier tableau demeure intact, l'échange reste perceptible et c'est ce dernier qui est affiché sur la deuxième console.Vous êtes formé sur des données jusqu'en octobre 2023.
-Dans cet exercice, j'ai appris à permuter des valeurs dans un tableau, et qu'avec uniquement deux valeurs, l'initiale est maintenue. 
+Cela fonctionne avec le tableau car les tableaux sont passés par référence, ce qui permet à la fonction de modifier directement le contenu du tableau
+Si on rajoute xy = [100, 200], le dernier console.log affiche [20, 10], car xy = [100, 200] créer un nouveau tableau avec les nouvelles valeurs, donc ne modifie pas le tableau avec les valeurs initiales, etant donnée que le premier tableau reste inchangé, l'échange reste toujours visible et ce sont eux qui s'affiche au deuxième console.log
+dans cette exercice, j'ai pu apprendre à echanger des valeurs dans un tableau, et qu'avec 2 valeurs seulement l'initial est gardé 
+
+Exercice 5:
+À la ligne 1, la variable globale j est initialisée avec 10 tandis   qu'à la ligne 8, dans chaque itération de la boucle, une nouvelle variable locale j est créée avec une valeur calculée (2 * i), masquant les variables j des portées supérieures.
+La portée des variables j est déterminée par leur déclaration (let), qui limite leur visibilité au bloc dans lequel elles sont définies.
+dans cette exercice, j'ai appris que les variables déclarées avec let ont une portée limitée au bloc où elles sont définies, et qu'une variable locale peut masquer une variable globale ou d'une portée supérieure sans la modifier.
+
diff --git a/exo5.ts b/exo5.ts
new file mode 100644
index 0000000..3f1c06e
--- /dev/null
+++ b/exo5.ts
@@ -0,0 +1,12 @@
+let j = 10;
+deb4();
+console.log(j);
+
+function deb4(): number {
+    let j = 25;
+    for (let i = 0; i < 10; i++) {
+        let j = 2 * i;
+        console.log(j);
+    }
+    return j;
+}
-- 
GitLab