cnam:utc503:td3

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cnam:utc503:td3 [2024/10/17 00:20] jcheroncnam:utc503:td3 [2025/08/12 02:35] (Version actuelle) – modification externe 127.0.0.1
Ligne 31: Ligne 31:
   * Modifier directement un tableau en utilisant `.push()` et observer les changements sur le tableau d'origine.   * Modifier directement un tableau en utilisant `.push()` et observer les changements sur le tableau d'origine.
  
-==== 3 - Modification immuable d'un objet ====+==== 3 - Modification immutable d'un objet ====
  
   * Écrire une fonction qui modifie une propriété d'un objet sans altérer l'original.   * Écrire une fonction qui modifie une propriété d'un objet sans altérer l'original.
  
 +<WRAP todo round>
 === Points de discussion === === Points de discussion ===
  
   * Pourquoi l'immutabilité est-elle essentielle en programmation fonctionnelle ?   * Pourquoi l'immutabilité est-elle essentielle en programmation fonctionnelle ?
   * Quels avantages cela présente-t-il pour la gestion des états dans des applications complexes ?   * Quels avantages cela présente-t-il pour la gestion des états dans des applications complexes ?
 +</WRAP>
 ===== Exercice 3 : Transparence Référentielle ===== ===== Exercice 3 : Transparence Référentielle =====
  
Ligne 49: Ligne 50:
 ==== 2 - Transparence dans des expressions complexes ==== ==== 2 - Transparence dans des expressions complexes ====
  
-  * Introduire des fonctions imbriquées et remplacer les appels par leurs valeurs.+  * Introduire des fonctions imbriquées (somme et multiplication par exemple) et remplacer les appels par leurs valeurs.
   * Tester si le programme reste identique.   * Tester si le programme reste identique.
  
Ligne 56: Ligne 57:
   * Créer une fonction avec des effets de bord (ex: `Math.random()` ou modification d'une variable globale) et expliquer pourquoi elle n'est pas transparente.   * Créer une fonction avec des effets de bord (ex: `Math.random()` ou modification d'une variable globale) et expliquer pourquoi elle n'est pas transparente.
  
 +<WRAP todo round>
 === Points de discussion === === Points de discussion ===
  
   * Pourquoi la transparence référentielle est-elle cruciale pour rendre un code plus facile à lire et à raisonner ?   * Pourquoi la transparence référentielle est-elle cruciale pour rendre un code plus facile à lire et à raisonner ?
   * Comment la transparence référentielle permet-elle d'optimiser ou de simplifier un code lors du développement ?   * Comment la transparence référentielle permet-elle d'optimiser ou de simplifier un code lors du développement ?
 +</WRAP>
 ===== Exercice 4 : Fonctions d'ordre supérieur ===== ===== Exercice 4 : Fonctions d'ordre supérieur =====
  
Ligne 75: Ligne 77:
   * Expérimenter avec les méthodes comme `filter()`, `reduce()`, et `forEach()` pour transformer des tableaux.   * Expérimenter avec les méthodes comme `filter()`, `reduce()`, et `forEach()` pour transformer des tableaux.
  
 +<WRAP todo round>
 === Points de discussion === === Points de discussion ===
  
   * En quoi les fonctions d’ordre supérieur facilitent-elles la modularité du code ?   * En quoi les fonctions d’ordre supérieur facilitent-elles la modularité du code ?
   * Comment ce concept peut-il être utilisé pour encapsuler des comportements et les réutiliser dans plusieurs contextes ?   * Comment ce concept peut-il être utilisé pour encapsuler des comportements et les réutiliser dans plusieurs contextes ?
 +</WRAP>
 ===== Exercice 5 : Combinaison des principes ===== ===== Exercice 5 : Combinaison des principes =====
  
Ligne 95: Ligne 98:
   * Réécrire le code en appliquant les principes vus, comme découper en plus petites fonctions pures.   * Réécrire le code en appliquant les principes vus, comme découper en plus petites fonctions pures.
  
 +<WRAP todo round>
 === Points de discussion === === Points de discussion ===
  
Ligne 101: Ligne 105:
   * Comment la combinaison de ces principes conduit-elle à un code plus fiable et facile à maintenir ?   * Comment la combinaison de ces principes conduit-elle à un code plus fiable et facile à maintenir ?
   * Quelles améliorations peuvent être apportées pour rendre le code plus fonctionnel ?   * Quelles améliorations peuvent être apportées pour rendre le code plus fonctionnel ?
 +</WRAP>
  • cnam/utc503/td3.1729117244.txt.gz
  • Dernière modification : il y a 6 mois
  • (modification externe)