Als angehende Zauberin muss Elyse ein paar Grundlagen üben. Sie hat einen Stapel Karten, mit dem sie hantieren möchte.
Um es sich etwas einfacher zu machen, verwendet sie nur die Karten 1 bis 10, damit ihr Kartenstapel durch eine interne Tabelle mit Zahlen dargestellt werden kann. Die Position einer bestimmten Karte entspricht der Zeile in der Tabelle. Das heißt, Zeile 1 steht für die erste Karte, Zeile 2 für die zweite Karte und so weiter.
Um eine Karte zu ziehen, gib die Karte am Index position aus
dem übergebenen Stapel zurück.
data(stack) = value #( ( 1 ) ( 2 ) ( 4 ) ( 1 ) ).
data(card) = get_Item( stack = stack
position = 3 ). " card = 4
Mit ein wenig Fingerfertigkeit tauschst du die Karte am Index position
gegen die angegebene Ersatzkarte aus.
Gib den angepassten Stapel zurück.
data(stack) = value #( ( 1 ) ( 2 ) ( 4 ) ( 1 ) ).
data(new_Stack) = set_Item( stack = stack
position = 3
replacement = 6 ).
" new_Stack = 1, 2, 6, 1
Lass eine Karte erscheinen, indem du eine neue Karte oben auf den Stapel legst. Gib den angepassten Stapel zurück.
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
Lass eine Karte verschwinden, indem du die Karte an der angegebenen position aus dem Stapel entfernst.
Gib den angepassten Stapel zurück.
data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(new_Stack) = remove_Item( stack = stack
position = 3 ).
" new_Stack = 3, 2, 4, 8
Lass eine Karte verschwinden, indem du die oberste Karte vom Stapel entfernst. Gib den angepassten Stapel zurück.
data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(new_Stack) = remove_Item_from_Top( stack ).
" new_Stack = 3, 2, 6, 4
Lass eine Karte erscheinen, indem du eine neue Karte unten an den Stapel anfügst. Gib den angepassten Stapel zurück.
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
Lass eine Karte verschwinden, indem du die unterste Karte vom Stapel entfernst. Gib den angepassten Stapel zurück.
data(stack) = value #( ( 8 ) ( 5 ) ( 9 ) ( 7 ) ( 1 ) ).
data(new_Stack) = remove_Item_from_Top( stack ).
" new_Stack = 5, 9, 7, 1
Gib die Größe des Stapels zurück (Anzahl der Zeilen).
data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(size_of_Stack) = get_Size_of_Stack( stack ).
" size_of_Stack = 5
Melde dich bei Exercism an, um ABAP mit 54 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.