diff --git a/qualdev/compte_rendu_debug.txt b/qualdev/compte_rendu_debug.txt index 55b504ab519b8d3e29abd02cf30c557a357730a2..42094d46544597328078dca4499fba65221d849f 100644 --- a/qualdev/compte_rendu_debug.txt +++ b/qualdev/compte_rendu_debug.txt @@ -17,3 +17,7 @@ j ne marche que dans la fonction. 6) Les indices 1 des deux tableaux ont changé. 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. diff --git a/qualdev/qualdev/debug1.ts b/qualdev/qualdev/debug1.ts index 5c22fc17ae1a8fa58c3027ca368e9f385a4e9f5c..af35e59db7e57dbba34dfd82a2c6a6acbe1a69b5 100644 --- a/qualdev/qualdev/debug1.ts +++ b/qualdev/qualdev/debug1.ts @@ -38,5 +38,41 @@ let tab1= [1,2,3]; let tab2 = [...tab1]; tab1[1] = 5; -console.log(tab1,tab2); + +produit(3,5); + +function produit(x:number,y:number):number{ + let val = 0; + let valMin = Math.abs(x); + let valMax = Math.abs(y); + let negatif : boolean; + + if (valMin > valMax){ + let tmp = valMin; + valMin = valMax; + valMax = tmp; + } + + negatif = (x < 0) !== (y < 0); + + for (let i = 0; i < valMin; i++){ + val += valMax; + } + if (negatif){ + return -val; + } + 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)); + +