تركيز HL المدعوم. الهدف التقييمي الأول 2027؛ إرجاع PDF الرسمي 403؛ الملف القصير المكتسب الأقدم هو التقييم النهائي 2026. يحافظ الدليل والاختبار والمتطلبات العملية المتبقية على احتفظاتها المسجلة.
المتطلبات السابقة: قراءة الكميات والوحدات المعلنة، واستخدام الحساب وشرط النموذج أدناه. طور كل درس طريقته الخاصة قبل النقل المستقل.
هذه أمثلة تعليمية أصلية أو خيالية صراحةً، وليست قياسات فعلية أو تحقيقات مُقيّمة مكتملة من المتعلمين.
8.2
أنواع البيانات المجردة: عقد العملية
ما الذي قد يفسر هذه الملاحظة؟
محاكاة طابور الانتظار تحتاج إلى أقدم عنصر معلق أولاً. يعطي المكدس أحدث عنصر أولاً، لذا فإن عقد العملية مهم.
ابدأ بتوقع. حدد الكميات أو الخصائص التي ستقارنها، ثم حدد الدليل الذي يمكنه التمييز بين تفسيرين.
بنِ النموذج
النوع المجرد للبيانات يحدد القيم والعمليات بشكل مستقل عن تطبيق محدد. المكدس هو آخر وارد أول خارج؛ الطابور هو أول وارد أول خارج. تحتاج واجهة المجموعة إلى سلوك محدد للعمليات الفارغة وغير الصالحة.
المكدس: نوع بيانات مجردة أخير يدخل أولًا يخرج (LIFO)؛ الطابور: نوع بيانات مجردة أول وارد أول خرج (FIFO).
اختر الأدلة القادرة على اختبار النموذج
اختر البنية لنمط الوصول المطلوب. يعتمد التعقيد على التنفيذ والفرضيات: إزالة العنصر الأول من مصفوفة متحركة يختلف عن تقدم مؤشر الرأس في الطابور.
تتبع تسلسلات العمليات يدوياً، ثم مقارنة برنامج بالحالات المتوقعة. اختبر العمليات الفارغة والأحادية والمتكررة. حدد سلوك Overflow إذا كانت السعة ثابتة.
اعمل من الكميات المعروفة
أدر القيم المعروفة ووحداتها. اختر العلاقة لأن افتراضاتها تتناسب مع هذه الحالة، ثم أعد ترتيب المعادلة قبل التعويض.
معلوم: إدخال A وB وC، ثم إخراج مرتين. يغادر A وB؛ يبقى C. بعد إدخال D يكون هناك عنصران معلقان، C ثم D. نفس الإدخالات على المكدس ستزيل C ثم B.
مثال:
يبدأ الطابور فارغاً، يستقبل 7 عناصر وي移除 4. أوجد عدد العناصر المتبقية. استخدم نفس التسلسل: الكميات المعلومة → النموذج → العلاقة → التعويض → الوحدة والتفسير.
تحقق من الاستنتاج وحدوده
النوع المجرد للبيانات ليس تخطيط ذاكرة محدد. لا يصنف الطابور حسب الأولوية إلا إذا عرّف عقده طابور أولويات.
عُد إلى الملاحظة الأصلية. اشرح ما يدعمه النتيجة، وما هي الشروط التي تفترضها، وطريقة واحدة لاختبار تفسير منافس.
تحذير:
كل طابور يصنف العناصر تلقائياً حسب الأولوية. هذا الادعاء خاطئ: النوع المجرد للبيانات ليس تخطيط ذاكرة محدد. لا يصنف الطابور حسب الأولوية إلا إذا عرّف عقده طابور أولويات.
المفتاح:
النوع المجرد للبيانات: عقد العملية: اختر البنية لنمط الوصول المطلوب. يعتمد التعقيد على التنفيذ والفرضيات: إزالة العنصر الأول من مصفوفة متحركة يختلف عن تقدم مؤشر الرأس في الطابور.
تتبع قابل للتشغيل وحدود
from collections import deque
queue = deque()
queue.extend(["A", "B"])
print(queue.popleft())
queue.append("C")
print(queue.popleft())
print(list(queue))
queue.clear()
print(queue.popleft() if queue else "EMPTY")
المخرجات المتوقعة:
A
B
['C']
EMPTY
الإزالة من اليسار تطبق FIFO. الحارس الصريح للفراغ يحدد النتيجة الحدية؛ إذا تم استخدام deque.popleft دون هذا الحارس، فسيتم رفع IndexError. أما المكدس فيزيل من اليمين.