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.
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
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
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
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
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
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
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
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
Crie sua conta no Exercism para aprender e dominar ABAP com 54 exercícios e mentoria humana de verdade, tudo de graça.