🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 5 بطاقة لهذه الصفحة
ما هو الغرض الأساسي من البرنامج المعروض في مثال المكدس؟
الإجابة: الغرض الأساسي هو محاكاة عمليات إضافة (push) وحذف (pop) العناصر من بنية بيانات المكدس (stack).
الشرح: البرنامج يقدم واجهة تفاعلية تسمح للمستخدم بتنفيذ عمليتي الإضافة والحذف على المكدس، ويعرض حالته بعد كل عملية، مما يوضح آلية عمل المكدس.
تلميح: فكر في الوظائف الرئيسية التي يقوم بها البرنامج وكيف تتفاعل مع بنية البيانات.
ما هي الوظيفة المسؤولة عن إضافة عنصر إلى المكدس في البرنامج؟
الإجابة: الوظيفة المسؤولة عن إضافة عنصر إلى المكدس هي `push(stack, element)`.
الشرح: الدالة `push` تستقبل المكدس والعنصر المراد إضافته، وتستخدم الدالة `append` الخاصة بالقوائم في بايثون لإضافة العنصر إلى نهاية قائمة المكدس.
تلميح: ابحث عن اسم الوظيفة الذي يشير إلى عملية 'الدفع' أو 'الإضافة' إلى بنية بيانات.
ما هي الوظيفة المستخدمة لحذف عنصر من المكدس في البرنامج؟
الإجابة: الوظيفة المستخدمة لحذف عنصر من المكدس هي `pop(stack)`.
الشرح: الدالة `pop` تستخدم الدالة `pop()` المدمجة في بايثون للقوائم، والتي تزيل وتعيد العنصر الأخير المضاف إلى القائمة (المكدس).
تلميح: ما هي العملية التي تزيل العنصر الأخير المضاف إلى بنية بيانات المكدس؟
كيف يتحقق البرنامج من أن المكدس ليس فارغاً قبل محاولة حذف عنصر منه؟
الإجابة: يستخدم البرنامج الدالة `isEmpty(stack)` للتحقق من حالة المكدس. إذا أعادت الدالة `False` (أي أن المكدس ليس فارغاً)، يتم تنفيذ عملية الحذف.
الشرح: قبل استدعاء `pop(newStack)`، يتم التحقق باستخدام `if not isEmpty(newStack):`. هذه العبارة تعني 'إذا لم يكن المكدس فارغاً'.
تلميح: ابحث عن الاستدعاء الشرطي الذي يتم تنفيذه قبل عملية الحذف.
ما هو سلوك البرنامج إذا اختار المستخدم رقماً غير 1 أو 2 أو 3؟
الإجابة: إذا اختار المستخدم رقماً غير صحيح، سيقوم البرنامج بعرض رسالة 'Error' ثم يطلب من المستخدم إعادة إدخال اختياره مجدداً، وذلك ضمن حلقة `while`.
الشرح: الحلقة `while choice!=1 and choice!=2 and choice!=3:` تضمن أن البرنامج سيستمر في طلب الاختيار الصحيح حتى يتم إدخال 1 أو 2 أو 3.
تلميح: لاحظ الجزء من الكود الذي يتعامل مع مدخلات المستخدم الغير صالحة.