diff --git a/tpDebug.ts b/tpDebug.ts new file mode 100644 index 0000000000000000000000000000000000000000..2e9eff4bed7f1d691ffee920e7d0208adbee08b9 --- /dev/null +++ b/tpDebug.ts @@ -0,0 +1,14 @@ +function deb2(x:number, y:number): void { + const tmp = y; + y =x; + x = tmp; + console.log(x, y); +} + +let x = 10; +let y = 20; +deb2(x, y); +console.log(x, y); + +/* Les valeurs ne sont pas modifiés car les variables x et y sont passées par valeur et non par référence. +Donc ils gardent leur valeur initiale. On aurait pu appeler la function echangeSansEffet */ \ No newline at end of file diff --git a/tpDebug4.ts b/tpDebug4.ts new file mode 100644 index 0000000000000000000000000000000000000000..1e03aa950db2bca42626f87a559d92edb94a7faa --- /dev/null +++ b/tpDebug4.ts @@ -0,0 +1,15 @@ +function deb3(xy: number[]):void { + let tmp= xy[0]; + xy[0]= xy[1]; + xy[1]= tmp; + console.log(xy); + xy = [100, 200]; +} +let xy= [10, 20]; +deb3(xy); +console.log(xy); + +/* 1) Sa fonctionne car on a utilisé un tableau +et sa modis fie les valeurs de xy dans la fonction deb3 */ + +/* 2) Sa crée un nouveau tableau dans deb3 et sa ne modifis pas la valeur de xy */ \ No newline at end of file diff --git a/tpDebug5.ts b/tpDebug5.ts new file mode 100644 index 0000000000000000000000000000000000000000..06fe325ff8728f6036f29c82d7f0a38fb0d73279 --- /dev/null +++ b/tpDebug5.ts @@ -0,0 +1,27 @@ +let j = 10; +deb4(); +console.log(j); + +function deb4(): number { + let j = 25; + for (let i = 0; j < 10; i++) { + let j = 2 * i; + console.log(j); + } + return j; +} + +/* + +j = 10. +À l’entrée de deb4() : + +Nouvelle variable j = 25 +La boucle for (let i = 0; j < 10; i++) ne s’exécute pas, car 25 < 10 est faux. +Sortie de la fonction : + +Retourne 25, mais cette valeur n’est pas affichée. +Le j global reste à 10. +Après l’appel de deb4() : + +console.log(j) affiche 10. */ \ No newline at end of file diff --git a/tpDebug6.ts b/tpDebug6.ts new file mode 100644 index 0000000000000000000000000000000000000000..035535aec7bfbf7dc43f81bb2ab44d5ff187b32b --- /dev/null +++ b/tpDebug6.ts @@ -0,0 +1,10 @@ +let tab1 = [1,2,3]; +let tab2 = [...tab1]; + +tab1[1] = 5; + +console.log(tab1, tab2); + +/* 2) tab1 et tab2 sont des tableaux différents donc modifier tab1 ne modifie pas tab2 +Dans la ligne 2 de ce programme on crée un nouveau tableau tab2 qui est une copie de tab1 +Alors que dans le programme précédent tab2 pointait vers tab1 donc modifier tab1 modifiait tab2 */ \ No newline at end of file diff --git a/tpDebug7.ts b/tpDebug7.ts new file mode 100644 index 0000000000000000000000000000000000000000..047c18c72ced96095cd502415ba3e37358df09c6 --- /dev/null +++ b/tpDebug7.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; +}