المسارات
/
ABAP
ABAP
/
التمارين
/
تعويذات Elyse
تعويذات Elyse

تعويذات Elyse

سهل

التعليمات

بصفتها ساحرةً ناشئة، تحتاج إليز إلى التدرب على بعض الأساسيات. لديها رزمة بطاقات تريد التلاعب بها.

ولتسهيل الأمور قليلًا، تستخدم البطاقات من 1 إلى 10 فقط، لذا يمكن تمثيل رزمتها من البطاقات بجدول داخلي من الأعداد. وموضع البطاقة يقابل صف الجدول. أي أن الصف 1 يشير إلى البطاقة الأولى، والصف 2 إلى البطاقة الثانية، وهكذا.

1. استرجع بطاقة من الرزمة

لاختيار بطاقة، أرجع البطاقة عند الفهرس position من الرزمة المعطاة.

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

2. استبدل بطاقة في الرزمة

أجرِ بعض خفة اليد واستبدل البطاقة عند الفهرس position ببطاقة الاستبدال المعطاة. أرجع الرزمة المعدَّلة.

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. أدخل بطاقة في أعلى الرزمة

اجعل بطاقة تظهر بإدخال بطاقة جديدة في أعلى الرزمة. أرجع الرزمة المعدَّلة.

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. أزل بطاقة من الرزمة

اجعل بطاقة تختفي بإزالة البطاقة عند الموضع position المعطى من الرزمة. أرجع الرزمة المعدَّلة.

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

5. أزل البطاقة العلوية من الرزمة

اجعل بطاقة تختفي بإزالة البطاقة الموجودة في أعلى الرزمة. أرجع الرزمة المعدَّلة.

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

6. أدخل بطاقة في أسفل الرزمة

اجعل بطاقة تظهر بإدخال بطاقة جديدة في أسفل الرزمة. أرجع الرزمة المعدَّلة.

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. أزل بطاقة من أسفل الرزمة

اجعل بطاقة تختفي بإزالة البطاقة الموجودة في أسفل الرزمة. أرجع الرزمة المعدَّلة.

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

8. تحقق من حجم الرزمة

أرجع حجم الرزمة (عدد الصفوف).

data(stack) = value #( ( 3 ) ( 2 ) ( 6 ) ( 4 ) ( 8 ) ).
data(size_of_Stack) = get_Size_of_Stack( stack ).   
" size_of_Stack = 5
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
ABAP Exercism

مستعد لبدء تعويذات Elyse؟

سجّل في Exercism لتتعلّم وتتقن ABAP عبر 54 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.