Come aspirante maga, Elyse deve esercitarsi sulle basi. Ha un mazzo di carte che vuole manipolare.
Per rendere le cose un po' più semplici, usa solo le carte da 1 a 10, così il suo mazzo di carte può essere rappresentato da una tabella interna di numeri. La posizione di una certa carta corrisponde alla riga della tabella. Questo significa che la riga 1 si riferisce alla prima carta, la riga 2 alla seconda carta, e così via.
Per scegliere una carta, restituisci la carta all'indice position del
mazzo dato.
data(stack) = value #( ( 1 ) ( 2 ) ( 4 ) ( 1 ) ).
data(card) = get_Item( stack = stack
position = 3 ). " card = 4
Fai un po' di gioco di prestigio e scambia la carta all'indice position
con la carta sostitutiva fornita.
Restituisci il mazzo modificato.
data(stack) = value #( ( 1 ) ( 2 ) ( 4 ) ( 1 ) ).
data(new_Stack) = set_Item( stack = stack
position = 3
replacement = 6 ).
" new_Stack = 1, 2, 6, 1
Fai apparire una carta inserendo una nuova carta in cima al mazzo. Restituisci il mazzo modificato.
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
Fai sparire una carta rimuovendo dal mazzo la carta alla position data.
Restituisci il mazzo modificato.
data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(new_Stack) = remove_Item( stack = stack
position = 3 ).
" new_Stack = 3, 2, 4, 8
Fai sparire una carta rimuovendo la carta in cima al mazzo. Restituisci il mazzo modificato.
data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(new_Stack) = remove_Item_from_Top( stack ).
" new_Stack = 3, 2, 6, 4
Fai apparire una carta inserendo una nuova carta in fondo al mazzo. Restituisci il mazzo modificato.
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
Fai sparire una carta rimuovendo la carta in fondo al mazzo. Restituisci il mazzo modificato.
data(stack) = value #( ( 8 ) ( 5 ) ( 9 ) ( 7 ) ( 1 ) ).
data(new_Stack) = remove_Item_from_Top( stack ).
" new_Stack = 5, 9, 7, 1
Restituisci la dimensione del mazzo (numero di righe).
data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(size_of_Stack) = get_Size_of_Stack( stack ).
" size_of_Stack = 5
Iscriviti a Exercism per imparare e padroneggiare ABAP con 54 esercizi e il mentoring di persone reali, tutto gratis.