cnam:utc503:td3-c

TD3 C

Programmation fonctionnelle

Créez un générateur de phrases absurdes en programmation fonctionnelle.

const sujets = ['Le chat', 'Un développeur', 'La licorne', 'Le prof']
const verbes = ['mange', 'programme', 'dessine', 'rêve de']
const complements = ['des pizzas', 'en Python', 'des arcs-en-ciel', 'vacances']

  • Créer une fonction qui génère une phrase aléatoire en combinant un sujet, un verbe et un complément
  • Créer une fonction qui génère N phrases (ex: 5 phrases)
  • Transformer les phrases avec map :
    • Mettre en majuscules
    • Ajouter un emoji à la fin
  • Filtrer les phrases avec filter :
    • Garder seulement celles qui contiennent un mot spécifique
    • Garder seulement les phrases de plus de 30 caractères
  • Calculer des statistiques avec reduce :
    • Nombre moyen de mots par phrase
    • La phrase la plus longue
  • Utiliser uniquement des fonctions pures
  • Ne jamais modifier les tableaux originaux
  • Privilégier map, filter, reduce

Gérez une playlist musicale en programmation fonctionnelle.

const chansons = [
  { titre: 'Bohemian Rhapsody', artiste: 'Queen', duree: 354, genre: 'rock', annee: 1975 },
  { titre: 'Billie Jean', artiste: 'Michael Jackson', duree: 294, genre: 'pop', annee: 1982 },
  { titre: 'Smells Like Teen Spirit', artiste: 'Nirvana', duree: 301, genre: 'rock', annee: 1991 },
  { titre: 'One More Time', artiste: 'Daft Punk', duree: 320, genre: 'electro', annee: 2000 },
  { titre: 'Wonderwall', artiste: 'Oasis', duree: 258, genre: 'rock', annee: 1995 },
  { titre: 'Get Lucky', artiste: 'Daft Punk', duree: 367, genre: 'electro', annee: 2013 }
]

Filtrer la playlist :

  • Garder seulement les morceaux de rock
  • Garder les chansons de moins de 5 minutes (300 secondes)
  • Garder les chansons des années 90 (1990-1999)

Transformer les données avec map :

  • Convertir la durée en format “minutes:secondes” (ex: “5:54”)
  • Créer un nouveau tableau avec seulement {titre, artiste}
  • Ajouter une propriété label : “titre - artiste”

Calculer avec reduce :

  • La durée totale de la playlist (en minutes)
  • Le nombre de chansons par genre
  • L'année moyenne de sortie

Composer des fonctions :

  • Créer une fonction qui filtre par genre ET trie par année
  • Créer une “mini-playlist” : 3 chansons aléatoires de moins de 5 min
  • Utiliser uniquement des fonctions pures
  • Ne jamais modifier le tableau original
  • Privilégier map, filter, reduce, sort
  • Pas de boucles for / while
  • Pas de variables réassignées (let)
  • cnam/utc503/td3-c.txt
  • Dernière modification : il y a 8 heures
  • de jcheron