Parcours
/
ABAP
ABAP
/
Exercices
/
Les enchantements d'Elyse
Les enchantements d'Elyse

Les enchantements d'Elyse

Facile

Instructions

Elyse, apprentie magicienne, doit s'entraîner sur quelques bases. Elle a une pile de cartes qu'elle souhaite manipuler.

Pour lui simplifier un peu la tâche, elle n'utilise que les cartes de 1 à 10, ce qui fait que sa pile de cartes peut être représentée par une table interne de nombres. La position d'une carte donnée correspond à la ligne de la table. Cela signifie que la ligne 1 correspond à la première carte, la ligne 2 à la deuxième, et ainsi de suite.

1. Récupère une carte dans une pile

Pour piocher une carte, renvoie la carte à l'indice position de la pile donnée.

data(stack) = value #( ( 1 ) ( 2 ) ( 4 ) ( 1 ) ).
data(card) = get_Item( stack = stack
                       position = 3 ).   " card = 4

2. Échange une carte dans la pile

Fais un tour de passe-passe et échange la carte à l'indice position avec la carte de remplacement fournie. Renvoie la pile modifiée.

data(stack) = value #( ( 1 ) ( 2 ) ( 4 ) ( 1 ) ).
data(new_Stack) = set_Item( stack = stack
                            position = 3 
                            replacement = 6 ).   
" new_Stack = 1, 2, 6, 1

3. Insère une carte au sommet de la pile

Fais apparaître une carte en insérant une nouvelle carte au sommet de la pile. Renvoie la pile modifiée.

data(stack) = value #( ( 5 ) ( 9 ) ( 7 ) ( 1 ) ).
data(new_Stack) = insert_Item_at_Top( stack    = stack
                                      new_Card = 8 ).   
" new_Stack = 5, 9, 7, 1, 8

4. Retire une carte de la pile

Fais disparaître une carte en retirant de la pile la carte à la position donnée. Renvoie la pile modifiée.

data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(new_Stack) = remove_Item( stack    = stack
                               position = 3 ).   
" new_Stack = 3, 2, 4, 8

5. Retire la carte du sommet de la pile

Fais disparaître une carte en retirant la carte au sommet de la pile. Renvoie la pile modifiée.

data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(new_Stack) = remove_Item_from_Top( stack ).   
" new_Stack = 3, 2, 6, 4

6. Insère une carte au bas de la pile

Fais apparaître une carte en insérant une nouvelle carte au bas de la pile. Renvoie la pile modifiée.

data(stack) = value #( ( 5 ) ( 9 ) ( 7 ) ( 1 ) ).
data(new_Stack) = insert_Item_at_Bottom( stack    = stack
                                         new_Card = 8 ).   
" new_Stack = 8, 5, 9, 7, 1

7. Retire une carte du bas de la pile

Fais disparaître une carte en retirant la carte au bas de la pile. Renvoie la pile modifiée.

data(stack) = value #( ( 8 ) ( 5 ) ( 9 ) ( 7 ) ( 1 ) ).
data(new_Stack) = remove_Item_from_Top( stack ).   
" new_Stack = 5, 9, 7, 1

8. Vérifie la taille de la pile

Renvoie la taille de la pile (nombre de lignes).

data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(size_of_Stack) = get_Size_of_Stack( stack ).   
" size_of_Stack = 5
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
ABAP Exercism

Prêt à commencer Les enchantements d'Elyse ?

Inscris-toi sur Exercism pour apprendre et maîtriser ABAP avec 54 exercices, et un vrai mentorat humain, le tout gratuitement.