Trilhas
/
ABAP
ABAP
/
Exercícios
/
Os encantamentos de Elyse
Os encantamentos de Elyse

Os encantamentos de Elyse

Fácil

Instruções

Como aspirante a mágica, Elyse precisa praticar alguns fundamentos. Ela tem um monte de cartas que quer manipular.

Para facilitar um pouco as coisas, ela usa apenas as cartas de 1 a 10, então o monte de cartas dela pode ser representado por uma tabela interna de números. A posição de uma determinada carta corresponde à linha da tabela. Isso significa que a linha 1 se refere à primeira carta, a linha 2 à segunda carta, e assim por diante.

1. Recuperar uma carta de um monte

Para pegar uma carta, retorne a carta no índice position do monte dado.

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

2. Trocar uma carta do monte

Faça um pouco de prestidigitação e troque a carta no índice position pela carta de substituição fornecida. Retorne o monte ajustado.

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. Inserir uma carta no topo do monte

Faça uma carta aparecer inserindo uma nova carta no topo do monte. Retorne o monte ajustado.

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. Remover uma carta do monte

Faça uma carta desaparecer removendo do monte a carta na position indicada. Retorne o monte ajustado.

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

5. Remover a carta do topo do monte

Faça uma carta desaparecer removendo a carta do topo do monte. Retorne o monte ajustado.

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

6. Inserir uma carta na base do monte

Faça uma carta aparecer inserindo uma nova carta na base do monte. Retorne o monte ajustado.

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. Remover uma carta da base do monte

Faça uma carta desaparecer removendo a carta da base do monte. Retorne o monte ajustado.

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

8. Verificar o tamanho do monte

Retorne o tamanho do monte (número de linhas).

data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(size_of_Stack) = get_Size_of_Stack( stack ).   
" size_of_Stack = 5
Editar via GitHub O link abre em uma nova janela ou aba
ABAP Exercism

Tudo pronto para começar Os encantamentos de Elyse?

Crie sua conta no Exercism para aprender e dominar ABAP com 54 exercícios e mentoria humana de verdade, tudo de graça.