From dc20534e8a82ca891a5ae024ccbd561847b8c1d0 Mon Sep 17 00:00:00 2001
From: BOGUET <thomas.boguet1@etu.univ-lorraine.fr>
Date: Sun, 30 Mar 2025 14:49:38 +0200
Subject: [PATCH] rendu td3

---
 qualdev/Td_debug/exercice.ts          | 20 +++++-
 qualdev/compte_rendu.txt              | 13 +++-
 qualdev/td exeption.ts/td_exeption.ts | 92 +++++++++++++++++++++++++++
 3 files changed, 123 insertions(+), 2 deletions(-)
 create mode 100644 qualdev/td exeption.ts/td_exeption.ts

diff --git a/qualdev/Td_debug/exercice.ts b/qualdev/Td_debug/exercice.ts
index df58f48..968cdb5 100644
--- a/qualdev/Td_debug/exercice.ts
+++ b/qualdev/Td_debug/exercice.ts
@@ -54,7 +54,7 @@ function deb5(): number {
 }
 console.log(deb5());
 
-// exercice6.ts
+// exercice6
 let tab1 = [1, 2, 3];
 let tab2 = tab1;
 tab1[1] = 5;
@@ -65,3 +65,21 @@ let tab4 = [...tab3];
 tab3[1] = 5;
 console.log(tab3, tab4);
 
+// exercice7
+function deb7(x: number, y: number): number {
+    let val = 0;
+    for (let i = 0; i < y; i++) {
+        val += x;
+    }
+    return val;
+}
+console.log(deb7(5, 3));
+
+// exercice8.ts
+function deb8(n: number): number {
+    if (n === 0) {
+        return 1;
+    }
+    return n * deb8(n - 1);
+}
+console.log(deb8(5));
\ No newline at end of file
diff --git a/qualdev/compte_rendu.txt b/qualdev/compte_rendu.txt
index 3d7f286..0e0f8cf 100644
--- a/qualdev/compte_rendu.txt
+++ b/qualdev/compte_rendu.txt
@@ -190,4 +190,15 @@ Règle fondamentale :
 
 Toujours faire un git pull avant de faire un git push.
 Toujours commiter vos modifications avant de faire un git pull.
-La séquence idéale est : commit → pull → push.
\ No newline at end of file
+La séquence idéale est : commit → pull → push.
+
+
+                                                                        TD 3
+
+Débug:
+
+Arrêt du programme : Le programme s'interrompt à l'endroit défini, permettant d'inspecter la mémoire et les variables.
+
+Suivi des variables : L'exécution pas à pas permet de vérifier l'évolution des valeurs et de détecter d'éventuelles erreurs.
+
+Portée des variables : Des variables du même nom peuvent exister dans des contextes différents, ce qui est observable avec le débogueur.
\ No newline at end of file
diff --git a/qualdev/td exeption.ts/td_exeption.ts b/qualdev/td exeption.ts/td_exeption.ts
new file mode 100644
index 0000000..30f946a
--- /dev/null
+++ b/qualdev/td exeption.ts/td_exeption.ts	
@@ -0,0 +1,92 @@
+//ex1
+
+function creeInitiales(nom: string, prenom: string): string {
+    if (!nom && !prenom) throw new VideError("Le nom et le prénom ne peuvent pas être vides.");
+    if (!nom) throw new VideError("Le nom ne peut pas être vide.");
+    if (!prenom) throw new VideError("Le prénom ne peut pas être vide.");
+    return nom[0].toUpperCase() + prenom[0].toUpperCase();
+}
+
+class VideError extends Error {
+    constructor(message: string) {
+        super(message);
+        this.name = "VideError";
+    }
+}
+
+console.log("Boguet", "Thomas")
+console.log("", "Thomas")
+
+
+
+
+
+
+//ex2
+
+class Etudiant {
+    INE: string;
+    nom: string;
+    prenom: string;
+
+    constructor(INE: string, nom: string, prenom: string) {
+        this.INE = INE;
+        this.nom = nom;
+        this.prenom = prenom;
+    }
+
+
+    setINE(INE: string): void {
+        if (INE.length != 11) {
+            throw new Error("Format incorrect");
+        }
+
+        for (let i = 0; i < tab.length; i++) {
+            if (INE)
+        }
+
+        this.INE = INE;
+    }
+}
+
+let etudiant = new Etudiant("1234567890A", "Dupont", "Jean");
+
+
+try {
+    etudiant.setINE("1234567890AB");
+} catch (e) {
+    console.log(e.message);
+}
+
+
+
+// ex 3
+
+function datedef(date: string): number[] {
+    let tab = date.split("/");
+    let jour = Number(date[0]);
+    let mois = Number(date[1]);
+    let ann = Number(date[2]);
+    return [jour, mois, ann];
+}
+
+let date = "22/05/1994";
+
+
+//Ex 4
+
+
+function calcule(tableau: Array<number>, indice: number, operateur: string, operande: number): number {
+    switch (operateur) {
+        case "+":
+            return tableau[indice] + operande;
+        case "-":
+            return tableau[indice] - operande;
+        case "*":
+            return tableau[indice] * operande;
+        case "/":
+            return tableau[indice] / operande;
+    }
+    return 0;
+}
+
-- 
GitLab