Como futura maga, Elyse necesita practicar algunos conceptos básicos. Tiene una pila de cartas que quiere manipular.
Para que todo sea un poco más fácil, solo usa las cartas del 1 al 10, de modo que su pila de cartas se puede representar con una tabla interna de números. La posición de una carta determinada se corresponde con la fila de la tabla. Es decir, la fila 1 se refiere a la primera carta, la fila 2 a la segunda, etc.
Para coger una carta, devuelve la carta que está en el índice position de
la pila dada.
data(stack) = value #( ( 1 ) ( 2 ) ( 4 ) ( 1 ) ).
data(card) = get_Item( stack = stack
position = 3 ). " card = 4
Haz un poco de prestidigitación e intercambia la carta que está en el índice position
con la carta de sustitución proporcionada.
Devuelve la pila ajustada.
data(stack) = value #( ( 1 ) ( 2 ) ( 4 ) ( 1 ) ).
data(new_Stack) = set_Item( stack = stack
position = 3
replacement = 6 ).
" new_Stack = 1, 2, 6, 1
Haz que aparezca una carta insertando una carta nueva en la parte superior de la pila. Devuelve la pila ajustada.
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
Haz que desaparezca una carta quitando de la pila la carta que está en
position.
Devuelve la pila ajustada.
data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(new_Stack) = remove_Item( stack = stack
position = 3 ).
" new_Stack = 3, 2, 4, 8
Haz que desaparezca una carta quitando la carta que está en la parte superior de la pila. Devuelve la pila ajustada.
data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(new_Stack) = remove_Item_from_Top( stack ).
" new_Stack = 3, 2, 6, 4
Haz que aparezca una carta insertando una carta nueva en la parte inferior de la pila. Devuelve la pila ajustada.
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
Haz que desaparezca una carta quitando la carta que está en la parte inferior de la pila. Devuelve la pila ajustada.
data(stack) = value #( ( 8 ) ( 5 ) ( 9 ) ( 7 ) ( 1 ) ).
data(new_Stack) = remove_Item_from_Top( stack ).
" new_Stack = 5, 9, 7, 1
Devuelve el tamaño de la pila (el número de filas).
data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(size_of_Stack) = get_Size_of_Stack( stack ).
" size_of_Stack = 5
Regístrate en Exercism para aprender y dominar ABAP con 54 ejercicios y mentoría humana real, todo gratis.