Histoire
En apprentie magicienne, Elyse doit s'entraîner sur quelques bases. Elle a une pile de cartes qu'elle souhaite manipuler.
Pour simplifier un peu les choses, elle n'utilise que les cartes de 1 à 10.
On limite les valeurs des cartes de 1 à 10 afin de n'avoir affaire qu'à des nombres,
de sorte que les exercices qui utilisent cette histoire n'aient besoin de s'appuyer que sur des nombres.
Tâches
Voici des exemples de tâches qui s'inscrivent dans l'histoire d'Elyse, une débutante :
- Récupère une carte d'une pile
- Échange une carte dans la pile
- Insère une carte au sommet de la pile
- Retire une carte de la pile
- Retire la carte du dessus de la pile
- Insère une carte au bas de la pile
- Retire une carte du bas de la pile
- Vérifie la taille de la pile
Cette histoire peut être prolongée pour enseigner aussi l'analyse de tableaux :
- Trouve la position d'une carte
- Détermine si une carte est présente
- Détermine si chaque carte est paire
- Vérifie si la pile contient une carte de valeur impaire
- Récupère la première carte impaire de la pile
- Détermine la position de la première carte qui est paire
Cette histoire peut être prolongée pour enseigner aussi les transformations de tableaux :
- Double chaque carte
- Crée plusieurs copies de chaque 3 présent dans le paquet
- Trouve deux cartes au milieu exact du paquet
- Les deux cartes extérieures réapparaissent au milieu du paquet
- Chaque carte qui n'est pas 2 disparaît
- Convertis un paquet mélangé en un paquet parfaitement ordonné
- Remplace chaque carte par le nombre total de cartes
Cette histoire peut être prolongée pour enseigner aussi la déstructuration de tableaux :
- Récupère la première carte (sans méthodes classiques, par ex. l'indexation ou des méthodes)
- Récupère la deuxième carte (sans méthodes classiques, par ex. l'indexation ou des méthodes)
- Échange les deux premières cartes (sans méthodes classiques, par ex. l'indexation ou des méthodes)
- Défausse la carte du dessus (sans méthodes classiques, par ex. l'indexation ou des méthodes)
- Insère des figures (sans méthodes classiques, par ex. l'indexation ou des méthodes)
Terminologie
Ce sont des recommandations, et non des règles, pour la terminologie récurrente dans les instructions (y compris les commentaires du stub)
- Le personnage principal est Elyse et ses pronoms sont she/her. S'il faut désigner le personnage, utilise son nom ou son ou ses pronoms.
- Au lieu de
array (ou du type de données équivalent), utilise le mot pile ou pile de cartes
- Au lieu de
element, utilise le mot carte
- Au lieu de
length, utilise taille de la pile
- La carte du dessus est le premier élément
- La carte du dessous est le dernier élément
Implémentations
Version alternative
Une version alternative de l'histoire utilise toi (l'apprenant) comme acteur, et se concentre uniquement sur le réarrangement du paquet.
Histoire
Tu es un magicien et tu manipules un paquet de cartes. Pour exécuter correctement ton tour de magie, tu dois pouvoir déplacer une carte d'une position à une autre. Autrement dit, tu dois pouvoir réarranger le paquet. Naturellement, tu veux pouvoir déplacer des cartes dans les deux sens, et pouvoir dire « depuis le haut du paquet » ou « depuis le bas du paquet ».
Tâches
Voici des exemples de tâches qui s'inscrivent dans l'histoire où tu veux réarranger des cartes :
- Implémente une fonction arrange qui déplace une carte dans une pile d'une position donnée vers une autre, et renvoie une nouvelle pile
- Implémente une fonction rearrange qui fait la même chose, en modifiant la pile d'origine
Implémentations
Références