From 9412d7fd9993581f920b82bc4d0fc23c45549ffd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Bailly?=
 <clement.bailly3@etu.univ-lorraine.fr>
Date: Sat, 29 Mar 2025 19:35:29 +0100
Subject: [PATCH] TD Debug exo8

---
 qualdev/compte_rendu_debug.txt |  3 +++
 qualdev/qualdev/debug1.ts      | 31 ++++++++++++++++++++++---------
 2 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/qualdev/compte_rendu_debug.txt b/qualdev/compte_rendu_debug.txt
index 42094d4..bff41c4 100644
--- a/qualdev/compte_rendu_debug.txt
+++ b/qualdev/compte_rendu_debug.txt
@@ -21,3 +21,6 @@ Seul le premier tableau à changer.
 7) Le programme renvoie le produit de x et y.
 On regarde la valeur la plus grande et la valeur la plus petite et on met la valeur la plus petite dans la boucle for.
 Le programme ne fonctionne pas avec les chiffres négatifs. 
+
+8) return 5 * factorielle(4), return 4 * factorielle(3), return 3 * factorielle(2), return 2 * factorielle(1), return 1
+factorielle(5) = 120
diff --git a/qualdev/qualdev/debug1.ts b/qualdev/qualdev/debug1.ts
index af35e59..0e742e9 100644
--- a/qualdev/qualdev/debug1.ts
+++ b/qualdev/qualdev/debug1.ts
@@ -64,15 +64,28 @@ function produit(x:number,y:number):number{
     return val;
 }
 
-console.log(produit(0,0));
-console.log(produit(5,3));
-console.log(produit(3,5));
-console.log(produit(-5,-2));
-console.log(produit(-2,-5));
-console.log(produit(-74,2));
-console.log(produit(-1,75));
-console.log(produit(10,-25));
-console.log(produit(10,3));
+// console.log(produit(0,0));
+// console.log(produit(5,3));
+// console.log(produit(3,5));
+// console.log(produit(-5,-2));
+// console.log(produit(-2,-5));
+// console.log(produit(-74,2));
+// console.log(produit(-1,75));
+// console.log(produit(10,-25));
+// console.log(produit(10,3));
 
+let n=5;
+console.log(factorielle(n));
 
+function factorielle(n : number):number{
+    if (n < 0){
+        throw new Error("n ne peut pas être négatif.")
+    }
+
+    if (n===0){
+        return 1;
+    }
+    let valeur = n* factorielle(n-1);
+    return valeur
+}
 
-- 
GitLab