//ça ne fonctionne pas car les valeurs de x et y sont échangées SEULEMENT dans la fonction elle-meme, les véritables valeurs des variables x et y restent comme avant
functiondeb3(xy:number[]):void{
lettmp=xy[0];
xy[0]=xy[1];
xy[1]=tmp;
xy=[100,200];
console.log(xy);
}
letxy=[10,20];
deb3(xy);
console.log(xy);
//vu qu'on modifie un tableau directement et pas des valeurs, le tableau se fait bien modifier meme en dehors de la fonction
//le dernier console.log affiche quand meme [20,10] car on a modifié la variable de manière locale seulement pour [100,200]
letj=10;
deb4();
console.log(j);
functiondeb4():number{
letj=25;
for (leti=0;i<10;i++){
letj=2*i;
console.log(j);
}
returnj;
}
//la variable j en dehors de la fonction et celle à l'intérieur de deb4() ne sont pas les memes,
//la première sera donc toujours égale à 10 alors que celle de la fonction pourra prendre n'importe quelle valeur paire de 0 (inclus) à 18
lettab1=[1,2,3];
lettab2=tab1;
tab1[1]=5;
console.log(tab1,tab2);
//les deux tableaux ont désormais comme deuxième valeur 5, modifier un tableau revient à modifier les deux
lettab1bis=[1,2,3];
lettab2bis=[...tab1bis];// Copie du tableau
tab1bis[1]=5;
console.log(tab1bis,tab2bis);
//maintenant, on n'a que modifié le premier tableau
// dans le premier cas, dans les mémoires les deux tableaux pointaient vers le meme tableau, alors que dans le deuxième cas on a créé une simple copie du tableau, donc pas le meme
multiplication(3,5);
/*function multiplication(x: number, y: number): number {
let val = 0;
for (let i = 0; i < y; i++) {
val += x;
}
return val;
}*/
functionmultiplication(x:number,y:number):number{
letval=0;
letabsY=Math.abs(y);
for (leti=0;i<absY;i++){
val+=x;
}
if (y<0)return-val;
elsereturnval;
}
console.log(multiplication(5,3));// résultat = 15
console.log(multiplication(-5,3));// -15
console.log(multiplication(5,-3));// -15
console.log(multiplication(-5,-3));// 15
console.log(multiplication(0,0));
console.log(multiplication(5,3));
console.log(multiplication(3,5));
console.log(multiplication(-5,-2));
console.log(multiplication(-2,-5));
console.log(multiplication(-74,2));
console.log(multiplication(-1,75));
console.log(multiplication(10,-25));
console.log(multiplication(10,-3));
letn=5;
console.log(factorielle(n));
functionfactorielle(n:number):number{
if (n<0){
console.log("Ne pas rentrer de nombre negatif !");