diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..1d74e21965c4f858f5f818a270e64e1bfad7d843 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode/ diff --git a/qualdev/compte_rendu.txt b/qualdev/compte_rendu.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/Cararactere.ts b/src/Cararactere.ts new file mode 100644 index 0000000000000000000000000000000000000000..5f7d5bb0f921871a68bd85185f184cb80f4ee4c4 --- /dev/null +++ b/src/Cararactere.ts @@ -0,0 +1,18 @@ +class Caractere { + cara: string; + + constructor(cara: string= ''){ + this.cara= cara; + } + } + + function estVoyelle(): boolean{ + let voy =['a', 'e', 'i', 'o', ] + return voy.includes(this.cara); + } + +class Rectangle{ + longueur:number; + largeur:number; + +} \ No newline at end of file diff --git a/src/cercle.ts b/src/cercle.ts new file mode 100644 index 0000000000000000000000000000000000000000..ed6c0b0f57a3bd7f68b6e0755bb596ec5afd45f0 --- /dev/null +++ b/src/cercle.ts @@ -0,0 +1,96 @@ +// Définition de la classe Point +class Point { + x!: number; + y!: number; +} + +// Définition de la classe Cercle +class Cercle { + centre!: Point; + rayon!: number; +} + +// Définition de la classe Rectangle +class Rectangle { + coinSupGauche!: Point; + largeur!: number; + hauteur!: number; +} + +// Instanciation d'un objet Cercle +let centreCercle = new Point(); +centreCercle.x = 150; +centreCercle.y = 100; + +let monCercle = new Cercle(); +monCercle.centre = centreCercle; +monCercle.rayon = 75; + +// Fonction pour vérifier si un point est dans un cercle +function pointDansCercle(cercle: Cercle, point: Point): boolean { + let distance = Math.sqrt( + (point.x - cercle.centre.x) ** 2 + + (point.y - cercle.centre.y) ** 2, + ); + return distance <= cercle.rayon; +} + +// Fonction pour vérifier si un rectangle est complétement dans un cercle +function rectangleDansCercle(cercle: Cercle, rectangle: Rectangle): boolean { + let coin1: Point = rectangle.coinSupGauche; + let coin2: Point = { x: coin1.x + rectangle.largeur, y: coin1.y }; + let coin3: Point = { x: coin1.x, y: coin1.y + rectangle.hauteur }; + let coin4: Point = { + x: coin1.x + rectangle.largeur, + y: coin1.y + rectangle.hauteur, + }; + + return pointDansCercle(cercle, coin1) && pointDansCercle(cercle, coin2) && + pointDansCercle(cercle, coin3) && pointDansCercle(cercle, coin4); +} + +// Fonction pour vérifier s'il y a chevauchement entre un cercle et un rectangle +function chevauchement(cercle: Cercle, rectangle: Rectangle): boolean { + let coin1: Point = rectangle.coinSupGauche; + let coin2: Point = { x: coin1.x + rectangle.largeur, y: coin1.y }; + let coin3: Point = { x: coin1.x, y: coin1.y + rectangle.hauteur }; + let coin4: Point = { + x: coin1.x + rectangle.largeur, + y: coin1.y + rectangle.hauteur, + }; + + return pointDansCercle(cercle, coin1) || pointDansCercle(cercle, coin2) || + pointDansCercle(cercle, coin3) || pointDansCercle(cercle, coin4); +} + +// Instanciation d'un rectangle +let coinRectangle = new Point(); +coinRectangle.x = 130; +coinRectangle.y = 90; + +let monRectangle = new Rectangle(); +monRectangle.coinSupGauche = coinRectangle; +monRectangle.largeur = 30; +monRectangle.hauteur = 20; + +// Test de la fonction pointDansCercle() +let testPoint = new Point(); +testPoint.x = 140; +testPoint.y = 100; + +console.log( + "Le point est dans le cercle ?", + pointDansCercle(monCercle, testPoint), +); + +// Test de la fonction rectangleDansCercle() +console.log( + "Le rectangle est entièrement dans le cercle ?", + rectangleDansCercle(monCercle, monRectangle), +); + +// Test de la fonction chevauchement() +console.log( + "Le rectangle chevauche-t-il le cercle ?", + chevauchement(monCercle, monRectangle), +); diff --git a/src/complexe.ts b/src/complexe.ts new file mode 100644 index 0000000000000000000000000000000000000000..9d60f9c7d923893ea07604ed24bbed8a955fcd2e --- /dev/null +++ b/src/complexe.ts @@ -0,0 +1,3 @@ +class complexe { + +} \ No newline at end of file diff --git a/src/personne.ts b/src/personne.ts new file mode 100644 index 0000000000000000000000000000000000000000..d66524e3c011bc7965fd017c92b4d5804f8ac6c0 --- /dev/null +++ b/src/personne.ts @@ -0,0 +1,10 @@ +class Personne { + ine: string; + + constructor(ine: string) { + this.ine = ine; + } +} + +let p = new Personne("123456789"); +p.ine = "987654321"; \ No newline at end of file diff --git a/src/piste.ts b/src/piste.ts new file mode 100644 index 0000000000000000000000000000000000000000..9ef8bc0121ffc3ecc52b992d1f41305e3a852468 --- /dev/null +++ b/src/piste.ts @@ -0,0 +1,57 @@ +class Piste { + private titre: string; + private duree: number; + + constructor(titre: string, duree: number) { + this.titre = titre; + this.duree = duree; + } + + getTitre(): string { + return this.titre; + } + + getDuree(): number { + return this.duree; + } + + egale(x: Piste): boolean { + if ((x.duree === this.getDuree()) && (x.titre === this.getTitre())) { + return true + } + return false; + } + + toString(x: Piste): string { + return ("Le titre est" + x.titre, "et la durre est" + x.duree); + + } +} + +let p = new Piste("titreeee", 55); +let g = new Piste("eeeea", 554); + +p.egale(g); + +class Album { + private titre: string; + private nbpiste: number; + private table: Array<Piste>; + + constructor(titre: string, nbpiste: number, table: Array<Piste>) { + this.titre = titre; + this.nbpiste = nbpiste; + this.table = table; + } + + estFini(): boolean { + if (this.nbpiste > 0) { + return true; + } + return true; + } + + contient(): { + + } +} \ No newline at end of file diff --git a/src/reservoir.ts b/src/reservoir.ts new file mode 100644 index 0000000000000000000000000000000000000000..9bd686b6d108a25bfe2a363afa1421a6105f3a0c --- /dev/null +++ b/src/reservoir.ts @@ -0,0 +1,34 @@ +class Reservoir { + capacite: number; + contenu: number; + + constructor(capacite: number) { + this.capacite = capacite; + this.contenu = 0; + } + + verse(quantite: number): number { + let dispo = this.capacite = this.contenu; + if (quantite <= dispo) { + this.contenu += quantite; + return 0; + } else { + this.contenu = this.capacite; + return quantite - dispo; + } + } + + puise(avantite: number) { + if (quantite < this.contenu) { + this.contenu -= this.quantite; + return quantite; + } else { + this.contenu = 0; + return quantite; + } + + jauge(): Number{ + return this.contenu; + } + } +} \ No newline at end of file diff --git a/src/temps.ts b/src/temps.ts new file mode 100644 index 0000000000000000000000000000000000000000..79c9df9b6621787cf3e1590e2ed507d37ec3a8bf --- /dev/null +++ b/src/temps.ts @@ -0,0 +1,34 @@ +class Temps { + heure!: number; + minute!: number; + second!: number; +} + +function temps2Number(t: Temps): number { + let totalsec: number = t.heure * 60 * 60 + t.minute * 60 + t.second; + return totalsec; +} + +function number2Temps(ts: number): Temps { + let t = new Temps(); + t.heure = Math.floor(ts / 3600); + ts %= 3600; + t.minute = Math.floor(ts / 60); + t.second = ts % 60; + return t; +} + +function multiplieTemps(t: Temps, ts: number): Temps { + let multipl = temps2Number(t) * ts; + return number2Temps(multipl); +} + +function multiplie(t: Temps, nb: number): Temps { + return number2Temps(temps2Number(t) * nb); +} + +function km(t: Temps, kill: number): number { + let tk = kill / (temps2Number(t) / 3600); + return tk; +} +