Track
/
ABAP
ABAP
/
Esercizi
/
Gli incantesimi di Elyse
Gli incantesimi di Elyse

Gli incantesimi di Elyse

Facile

Istruzioni

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.

1. Recuperare una carta da un mazzo

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

2. Scambiare una carta nel mazzo

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

3. Inserire una carta in cima al mazzo

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

4. Rimuovere una carta dal mazzo

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

5. Rimuovere la carta in cima al mazzo

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

6. Inserire una carta in fondo al mazzo

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

7. Rimuovere una carta dal fondo del mazzo

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

8. Controllare la dimensione del mazzo

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
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
ABAP Exercism

Vuoi iniziare Gli incantesimi di Elyse?

Iscriviti a Exercism per imparare e padroneggiare ABAP con 54 esercizi e il mentoring di persone reali, tutto gratis.