سؤال 1: افترض أن سعة الطابعة هي فقط 7 ملفات، ولكن في الوقت نفسه، تحتاج إلى طباعة 10 ملفات من الملف A إلى الملف L. اكتب برنامجًا يمثل طابور الطباعة منذ بدء أمر الطباعة الأول A حتى الانتهاء من كل أوامر الطباعة. أضف اللبنة التي تؤكد أن طابور أوامر الطباعة فارغ.
- أ) برنامج يستخدم قائمة عادية بدون مراعاة سعة الطابعة
- ب) برنامج يستخدم stack بدلاً من queue لتمثيل طابور الطباعة
- ج) برنامج يستخدم queue.Queue() بسعة 7، يضيف الملفات A-L ويعالجها حتى يصبح الطابور فارغًا
- د) برنامج يطبع الملفات مرة واحدة دون استخدام طابور
الإجابة الصحيحة: برنامج Python يستخدم queue.Queue() لتمثيل طابور الطباعة، يضيف الملفات A إلى L (10 ملفات) مع سعة 7، ثم يعالج الطباعة حتى يصبح الطابور فارغًا، مع التحقق من حالة الطابور في النهاية.
الشرح: يجب إنشاء برنامج يستخدم وحدة queue في Python لإنشاء طابور بسعة 7. يتم إضافة الملفات من A إلى L (10 ملفات) إلى الطابور، مع مراعاة أن السعة 7 فقط، لذلك قد تحتاج إلى انتظار معالجة بعض الملفات قبل إضافة البقية. يجب أن يحتوي البرنامج على حلقة لمعالجة أوامر الطباعة (إخراج الملفات من الطابور) حتى يصبح فارغًا، وأخيرًا التحقق من أن الطابور أصبح فارغًا باستخدام الدالة empty().
تلميح: استخدم from queue import * و Queue() لإنشاء الطابور، وضع في الاعتبار سعة 7 ملفات فقط في أي وقت.