diff --git a/.gitignore b/.gitignore index 95b579c427170e6f1992b73152b53a58ecda1f23..a2588e1a5d9e929688c86601de818d169de20023 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,6 @@ todo.md +qutr_version_proj_perso.ts +projet-perso.ts +essai_style.css +essai_page_web.html +projet-perso/ \ No newline at end of file diff --git a/README.txt b/README.txt deleted file mode 100644 index 8a87f9a0ed02e70a9678866b75f2065f98915339..0000000000000000000000000000000000000000 --- a/README.txt +++ /dev/null @@ -1,2 +0,0 @@ -Cours Git -Hello World diff --git a/src/main.ts b/src/main.ts index acc2b21ce0bb06a1cd29f72609d195e04c7fd37d..106dcf9d57dba4816714a1ff784d2ad8afcc0f42 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,26 +1,212 @@ -function estADN(chaine: string): boolean { - if (chaine.length !== 0) { - for (let caractere of chaine) { +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~TD 1~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +// - - - - - - - - - - - - - - - - - - - estADN - - - - - - - - - - - - - - - - - - - +function estADN(chaineAVerifier: string): boolean { + if (chaineAVerifier.length !== 0) { + for (let caractere of chaineAVerifier) { if ( caractere !== "A" && caractere !== "C" && caractere !== "G" && caractere !== "T" ) { - console.log(caractere); return false; } } } return true; } +//let chaineTest = "ACGGTAGTAGTTTCGACTGGAGGGGTA"; +//console.log(estADN(chaineTest)); +/* OU +function estAdn(chaine: string | null): boolean { + if (chaine === null) { + return false; + } else { + for (let x = 0; x === chaine.length; x++) { + if ( + (chaine[x] !== "A") && (chaine[x] !== "C") && (chaine[x] !== "G") && + (chaine[x] !== "T") + ) { + return false; + } + } + return true; + } +} +*/ -let chainetest = "ACGGTAGTAGTTTCGACTGGAGGGGTA"; +// - - - - - - - - - - - - - - - - - - transcrit - - - - - - - - - - - - - - - - - - +function transcrit(chaine: string): string { + let nouvelleChaine = ""; + for (let caractere of chaine) { + if (caractere === "T") { + nouvelleChaine += "U"; + } else { + nouvelleChaine += caractere; + } + } + return nouvelleChaine; +} +//console.log(transcrit(chaineTest)); +/* OU +function transcrit(chaine: string): string { + let nouvelleChaine = ""; + for (let x = 0; x < chaine.length; x++) { + if (chaine[x] === "T") { + nouvelleChaine += "U"; + } else { + nouvelleChaine += chaine[x]; + } + } + return nouvelleChaine; +}*/ -if (estADN(chainetest) === true) { - console.log("Ok"); -} else { - console.log("Pas Ok"); +// - - - - - - - - - - - - - - - - baseComplementaire - - - - - - - - - - - - - - - - +function baseComplementaire(base: string): string { + if (base === "A") { + return "T"; + } else if (base === "T") { + return "A"; + } else if (base === "C") { + return "G"; + } else if (base === "G") { + return "C"; + } + return ""; } +//console.log(baseComplementaire("A")); +//console.log(baseComplementaire("T")); +//console.log(baseComplementaire("C")); +//console.log(baseComplementaire("G")); +//console.log(baseComplementaire("O")); +//console.log(baseComplementaire(""));*/ -function transcrit(chaine: string): string { +// - - - - - - - - - - - - sequenceComplementaireInversee - - - - - - - - - - - - - - +function sequenceComplementaireInversee(chaine: string): string { let nouvelleChaine = ""; + if (estADN(chaine)) { + /*for (let i = 0; i <= chaine.length; i++) { + nouvelleChaine += baseComplementaire(chaine[(chaine.length) - i]); + }*/ + for (let i = chaine.length; i >= 0; i++) { + nouvelleChaine += baseComplementaire(chaine[i]); + } + } + return nouvelleChaine; } +//let partieDeChaineTest = "ACTG"; +//console.log(sequenceComplementaireInversee(chaineTest)); + +// - - - - - - - - - - - - - nombreOccurrencesCodon - - - - - - - - - - - - - - - - - +function nombreOccurrencesCodon( + partieCherchee: string, + chaineADN: string, +): number { + let occurrences = 0; + for (let x = 0; x < chaineADN.length; x++) { + /*if (x % 3 === 0) { + if ( + partieCherchee[0] === chaineADN[x] && + partieCherchee[1] === chaineADN[x + 1] && + partieCherchee[2] === chaineADN[x + 2] + ) { + occurrences += 1; + + } + //console.log("Potatard"); console.log("Potato"); + } + }*/ + + if (partieCherchee === chaineADN.slice(x, x + 3)) { + occurrences++; + } + } + return occurrences; +} +//console.log(nombreOccurrencesCodon("ACG", "GCUACGGAGCUUCGGAGCACGUAG")); +//console.log(nombreOccurrencesCodon("UUC", "AGUUCGACU")); + +// - - - - - - - - - - - - - - - - - - question - - - - - - - - - - - - - - - - - - - +/* let chaineAdnEntree = prompt("Entrez une séquence ADN : "); +if (chaineAdnEntree === null || estADN(chaineAdnEntree) === false) { + console.log("Séquence ADN erronée !!!"); +} else { + let codon = prompt("Entrez un codon : "); + console.log( + "Séquence complémentaire-inversée : ", + sequenceComplementaireInversee(chaineAdnEntree), + ); + console.log("Séquence ARN : ", transcrit(chaineAdnEntree)); + if (codon !== null) { + console.log( + "Le codon", codon, "apparaît", + nombreOccurrencesCodon(codon, chaineAdnEntree), + "fois dans la séquence ARN", + ); + } +} */ + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~TD Bis à finir~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// - - - - - - - - - - - - - bissextile - - - - - - - - - - - - - - - - - +function bissextile(annee: number): boolean { + if (annee % 400 === 0) { + return true; + } else if (annee % 4 === 0 && annee % 100 !== 0) { + return true; + } + return false; +} +// - - - - - - - - - - - - - moisCorrige - - - - - - - - - - - - - - - - - +function moisCorrige(mois: number, annee: number): number { + let M = 0; + if ((mois === 1 && bissextile(annee) === false) || (mois === 10)) { + M = 4; + } else if ((mois === 1 && bissextile(annee) === true) || (mois === 4) || (mois === 7)) { + M = 3; + } else if ((mois === 2 && bissextile(annee) === false) || (mois === 3) || (mois === 11)) { + M = 0; + } else if ((mois === 2 && bissextile(annee) === true) || (mois === 8)) { + M = 6; + } else if (mois === 5) { + M = 5; + } else if (mois === 6) { + M = 1; + } else if ((mois === 9) || (mois === 12)) { + M = 2; + } + return M; +} +// - - - - - - - - - - - - - noJour - - - - - - - - - - - - - - - - - +function noJour(jour: number, mois: number, annee: number): number { + let cd = annee % 100; + let ab = (annee - cd) / 100; + let j = jour; + let k = cd / 4; + let q = ab / 4; + let M = moisCorrige(mois, annee); + console.log(k, q, cd, M, j, ab); + return (k + q + cd + M + j + 2 + 5 * ab) % 7 +} +//console.log(noJour(15, 11, 2024)) + +// - - - - - - - - - - - - - nomJour - - - - - - - - - - - - - - - - - +function nomJour(numeroJour: number): string { + if (numeroJour === 0) { + return "Dimanche"; + } else if (numeroJour === 1) { + return "Lundi"; + } else if (numeroJour === 2) { + return "Mardi"; + } else if (numeroJour === 3) { + return "Mercredi"; + } else if (numeroJour === 4) { + return "Jeudi"; + } else if (numeroJour === 5) { + return "Vendredi"; + } else if (numeroJour === 6) { + return "Samedi"; + } + return ""; +} +// - - - - - - - - - - - - - printLeNomDuJour - - - - - - - - - - - - - - - - - +function printLeNomDuJour(jour: number,) { } +