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