Pages

Une sequence dans une autre !




Entrainement au DS

 

delta encoding

Le codage par différence (delta encoding en anglais) permet de compresser un tableau de données en indiquant pour chaque donnée, sa différence avec la précédente (plutôt que la donnée elle-même). On se retrouve alors avec un tableau de données assez petites nécessitant moins de place en mémoire. Cette méthode se révèle efficace lorsque les valeurs consécutives sont proches.


Programmer la fonction delta qui prend en paramètre un tableau non vide de nombres entiers et qui renvoie un tableau contenant les valeurs entières compressées à l’aide cette technique.


delta([100000, 100000, 100001, 100002, 100002])



 Gene

La fonction recherche prend en paramètres deux chaines de caractères gene et seq_adn et renvoie True si on retrouve gene dans seq_adn et False sinon. Implémenter la fonction recherche.

console.log(recherche("AATC", "GTACAAATCTTGCC")); //true

console.log(recherche("AGTC", "AAGTCGCC")) // true


Une interface





Entrainement au DS

 L’occurrence d’un caractère

L’occurrence d’un caractère dans un phrase est le nombre de fois où ce caractère est présent.

Exemples :

  • l’occurrence du caractère ‘o’ dans ‘bonjour’ est 2 ;
  • l’occurrence du caractère ‘b’ dans ‘Bébé’ est 1 ;
  • l’occurrence du caractère ‘B’ dans ‘Bébé’ est 1 ;
  • l’occurrence du caractère ‘ ‘ dans ‘Hello world !’ est 2.

On cherche les occurrences des caractères dans une phrase. On souhaite stocker ces occurrences dans un objet dont les clefs seraient les caractères de la phrase et les valeurs l’occurrence de ces caractères.

Par exemple : avec la phrase 'Hello world !' le dictionnaire est le suivant :

{'H': 1,'e': 1,'l': 3,'o': 2,' ': 2,'w': 1,'r': 1,'d': 1,'!': 1}

Écrire une fonction occurrence_lettres prenant comme paramètre une variable phrase de type str. Cette fonction doit renvoyer un objet constitué des occurrences des caractères présents dans la phrase.


 Rendre la monnaie.




On s’intéresse au problème du rendu de monnaie. On suppose qu’on dispose d’un nombre infini de billets de 5 euros, de pièces de 2 euros et de pièces de 1 euro. 

Le but est d’écrire une fonction nommée rendu dont le paramètre est un entier positif non nul somme_a_rendre et qui retourne une liste de trois entiers n1n2 et n3 qui correspondent aux nombres de billets de 5 euros (n1) de pièces de 2 euros (n2) et de pièces de 1 euro (n3) à rendre afin que le total rendu soit égal à somme_a_rendre.

On utilisera un algorithme glouton. Autrement dit, on commencera par rendre le nombre maximal de billets de 5 euros, puis celui des pièces de 2 euros et enfin celui des pièces de 1 euros.


DM : Entrainement au DS

 

 💥Cloner





Entrainement au DS

🪛Code 1

Écrire le code qui recherche  un caractère dans un mot (une chaîne de caractères) et qui donne le nombre d’occurrences de caractere dans le mot, c’est-à-dire le nombre de fois où caractere apparaît dans mot.

$  'e', "sciences"

2

$ 'i',"mississippi"

4

$ 'a',"mississippi"

0


🪛Code 2

Soit le couple [note,coefficient]:

  • note est un nombre de type flottant [float] compris entre 0 et 20 ;
  • coefficient est un nombre entier positif.

Les résultats aux évaluations d'un élève sont regroupés dans un tableau composé de tableau [note,coefficient].

Exemple : 

Les résultats aux évaluation [[15,2],[9,1],[12,3]] donnent la moyenne de 12.5.

La moyenne pondérée se calcule avec la formule suivante :

Moyenne=(note×coefficient)coefficient​

En appliquant cette formule aux données {(15,2),(9,1),(12,3)}\{(15,2), (9,1), (12,3)\}

Moyenne=(15×2)+(9×1)+(12×3)2+1+3\text{Moyenne} = \frac{(15 \times 2) + (9 \times 1) + (12 \times 3)}{2 + 1 + 3}
= 12.5= \frac{75}{6} = 12.5


Cours : JS /the last one

 Syntaxe

Type

Opérateurs

Structure de Contrôle

Fonctions


DS : resultats

BIO


TD JS !

 🥷 Etudiez le code 

  1. const calendrier = new Array(),

  2.        mois = 3,

  3.        annee = 2025,

  4.        temps = new Date(annee, mois-1, 1);

  5.        

  6.     let Start = temps.getDay();

  7.             if (Start > 0) {

  8.                 Start--;

  9.             }

  10.             else {

  11.                 Start = 6;

  12.             }

  13.             let Stop = 31;

  14.             if (mois == 4 || mois == 6 || mois == 9 || mois == 11)--Stop;

  15.             if (mois == 2) {

  16.                 Stop = Stop - 3;

  17.                 if (an % 4 == 0) Stop++;

  18.                 if (an % 100 == 0) Stop--;

  19.                 if (an % 400 == 0) Stop++;

  20.             }



  21.             let nombre_jours = 1;

  22.             for (let i = 0; i <= 5; i++) {

  23.                 for (let j = 0; j <= 6; j++) {

  24.                     if ((i == 0) && (j < Start)) {

  25.                         calendrier.push(" ");

  26.                     }

  27.                     else {

  28.                         if (nombre_jours > Stop) {

  29.                             calendrier.push(" ");

  30.                         }

  31.                         else {

  32.                             calendrier.push(`${nombre_jours}`);

  33.                             nombre_jours++;

  34.                         }

  35.                     }

  36.                 }

  37.             }

  38.             console.log(calendrier)


🆘Pensez à exécuter le code et comparez le résultat avec le mois de Mars 2025 !




Attention aux réponses de copilot à ce sujet ! Voici sa réponse après avoir contesté une de ses réponses.

Copilot





Vous avez raison, le calendrier que j'ai fourni ne correspond pas à la réalité pour la France. En France, la semaine commence le lundi, et non le dimanche. Voici le calendrier corrigé pour mars 2025, en tenant compte que le 1er mars 2025 est un samedi :

[
  " ", " ", " ", " ", " ", "1", "2",
  "3", "4", "5", "6", "7", "8", "9",
  "10", "11", "12", "13", "14", "15", "16",
  "17", "18", "19", "20", "21", "22", "23",
  "24", "25", "26", "27", "28", "29", "30",
  "31", " ", " ", " ", " ", " ", " "
]

Ce tableau représente les jours du mois de mars 2025, avec des espaces pour les jours avant et après les jours réels de mars. Le 1er mars 2025 étant un samedi, les cinq premières positions sont vides, et les jours sont remplis en conséquence.

Merci de m'avoir signalé cette erreur ! Si vous avez d'autres questions ou besoin d'aide supplémentaire, n'hésitez pas à demander ! 😊



TD : destructuring

🪛Play with destructuring !


🥷https://dupontdenis.github.io/rayon/



JS - 2

 🗒️Les opérateurs


Décomposition


Projet : https://dupontdenis.github.io/TypesJS-rayon/

Clone : https://github.com/dupontdenis/TypesJS-rayon.git


🪛Action

Ajout d'un opérateur https://dupontes6.blogspot.com/2017/10/projet-operateur.html


Installation de nodejs

🪛 Installation de nodejs



JS

🗒️Les Types


Vidéo : 

🎞️https://sites.google.com/view/dupontrvisionsl2/js?authuser=0#h.3ozmzv8ty8q0


Projet : https://dupontdenis.github.io/TypesJS-rayon/

🪛Clone : https://github.com/dupontdenis/TypesJS-rayon.git


Cours JS

Lien : 👍 Cours JS


JS : basic

 

Youtube : JS

 



A la rentrée ! Découverte du DOM !

  



🚀https://dupontdenis.github.io/detection/

🪛Merci de "moderniser" le code ! En particulier, la gestion asynchrone.

  Les DS sont programmés en TD.


Présence obligatoire.

TD 6 : Trombinoscope

🪛Trombinoscope


🛩️Contraintes : comportement responsive ! 

🚀Trombinoscope en action 


Préparation au DS


🅰️ Pour toutes les questions, les blocs dans le conteneurs sont des <div>.

Bloc 1 : Bloc Rouge



Bloc 2 : Bloc Bleu



Bloc 3 : Bloc Vert



Bloc 4 : bloc Noir

🪛Dessinez les quatres blocs (R,B,V,N) dans le conteneur.

.conteneur {
    display: grid;
    grid-template-columns: repeat(2, 1cm);
    grid-auto-flow: column
}


Autre test : 


.conteneur {
    display: grid;
    grid-template-columns: repeat(4, 2cm);
    grid-auto-rows: 1cm;
    grid-auto-flow: row;
}

 div:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}

div:nth-child(2) {
    grid-column: 3/5;
    grid-row: 2 / 5;
}

div:nth-child(3) {
    grid-row-end: span 2;
}

div:nth-child(4) {
    grid-column-end: span 2;
}



🆘 Pour vérifier votre réponse, vous pouvez utilisez un simulateur ! 

Couleur pleine !


Couleur hachée !