مفاهيم الطوابير في البرمجة - كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: تعليمات إنشاء طابور والتحقق من حالته

📚 معلومات الصفحة

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: مبتدئ

📝 ملخص الصفحة

تقدم هذه الصفحة درسًا تعليميًا حول مفاهيم الطوابير في البرمجة باستخدام لغة بايثون. يبدأ الدرس بتعليمات إنشاء طابور مكون من خمس قيم يقوم المستخدم بإدخالها أثناء تنفيذ البرنامج، ثم يوضح كيفية طباعة هذه القيم وحجم الطابور باستخدام مثال عملي مع كود برمجي ومخرجات توضيحية.

يتضمن الدرس أيضًا تعليمات للتحقق من حالة الطابور، سواء كان فارغًا أو ممتلئًا، مع تقديم مثال برمجي آخر يبين كيفية استخدام الدوال `full()` و `empty()` في مكتبة queue في بايثون. يتم عرض مخرجات الأمثلة لتوضيح النتائج المتوقعة عند تنفيذ الكود.

يستهدف الدرس تعزيز فهم هياكل البيانات الأساسية، مع التركيز على التطبيقات العملية للطوابير في البرمجة، مما يساعد المتعلمين على تطوير مهاراتهم في معالجة البيانات والتحكم في تدفق البرامج.

📄 النص الكامل للصفحة

--- SECTION: تعليمات إنشاء طابور --- أنشئ طابورًا مكونًا من خمس قيم يقوم المستخدم بإدخالها أثناء تنفيذ البرنامج، ثم اطبع هذه القيم، وفي النهاية اطبع حجم الطابور.--- SECTION: مثال: إنشاء طابور وإدخال قيم وطباعتها --- from queue import *myQueue = Queue()# the user enters the elements of the queue for i in range(5): for i in range(5): element=input("enter queue element: ") myQueue.put(element)# print the elements of the queue for element in list(myQueue.queue): print(element)print ("Queue size is: ",myQueue.qsize())--- SECTION: مخرجات المثال الأول --- enter queue element: 5 enter queue element: f enter queue element: 12 enter queue element: b enter queue element: 23f bQueue size is: 5--- SECTION: تعليمات التحقق من حالة الطابور --- أنشئ برنامجًا للتحقق مما إذا كان الطابور فارغًا أم ممتلئًا.--- SECTION: مثال: التحقق من امتلاء الطابور أو فراغه --- from queue import *myQueue = Queue()myQueue.put("a") myQueue.put("b") myQueue.put("c") myQueue.put("d") myQueue.put("e")checkFull=myQueue.full() print("Is the queue full? ", checkFull) checkEmpty= myQueue.empty() print("Is the queue empty? ", checkEmpty)--- SECTION: مخرجات المثال الثاني --- Is the queue full? False Is the queue empty? False--- SECTION: معلومات الصفحة --- 2023 - 1447

📝 أسئلة اختبارية

عدد الأسئلة: 2

سؤال 1: أنشئ طابورًا مكونًا من خمس قيم يقوم المستخدم بإدخالها أثناء تنفيذ البرنامج، ثم اطبع هذه القيم، وفي النهاية اطبع حجم الطابور.

  • أ) برنامج يستخدم قائمة عادية لتخزين 5 قيم ثم يطبعها
  • ب) برنامج يستخدم وحدة queue لإنشاء طابور، يطلب من المستخدم إدخال 5 قيم، يطبع القيم ثم يطبع حجم الطابور باستخدام myQueue.qsize()
  • ج) برنامج يخلق طابورًا ثابتًا مكونًا من 5 قيم محددة مسبقًا دون مدخلات من المستخدم
  • د) برنامج يستخدم قاموسًا لتخزين 5 أزواج مفتاح-قيمة ثم يطبعها

الإجابة الصحيحة: برنامج يستخدم وحدة queue لإنشاء طابور، يطلب من المستخدم إدخال 5 قيم، يطبع القيم ثم يطبع حجم الطابور باستخدام myQueue.qsize()

الشرح: يجب استيراد وحدة queue أولاً، ثم إنشاء كائن Queue، استخدام حلقة for لطلب 5 مدخلات من المستخدم وإضافتها بالطريقة put()، ثم طباعة العناصر وحجم الطابور.

تلميح: استخدم الدالة input() داخل حلقة for للحصول على المدخلات، واستخدم qsize() للحصول على حجم الطابور.

سؤال 2: أنشئ برنامجًا للتحقق مما إذا كان الطابور فارغًا أم ممتلئًا.

  • أ) برنامج يتحقق من طول قائمة باستخدام الدالة len() فقط
  • ب) برنامج يستخدم وحدة queue لإنشاء طابور، يضيف عناصر، ثم يتحقق من حالته باستخدام الدالتين full() و empty()
  • ج) برنامج يفحص ما إذا كان المتغير يحتوي على قيمة None أم لا
  • د) برنامج يستخدم جملة if للتحقق من وجود عناصر في مجموعة set

الإجابة الصحيحة: برنامج يستخدم وحدة queue لإنشاء طابور، يضيف عناصر، ثم يتحقق من حالته باستخدام الدالتين full() و empty()

الشرح: يجب استيراد وحدة queue، إنشاء كائن Queue، إضافة بعض العناصر باستخدام put()، ثم استخدام الدالتين full() و empty() للتحقق من حالة الطابور وطباعة النتائج.

تلميح: استخدم myQueue.full() للتحقق من الامتلاء و myQueue.empty() للتحقق من الفراغ.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 4 بطاقة لهذه الصفحة

ما هي الخطوات الأساسية لإنشاء طابور (Queue) وتعبئته بعناصر يحددها المستخدم ثم طباعة هذه العناصر وحجم الطابور؟

الإجابة: لإنشاء طابور وتعبئته بعناصر يحددها المستخدم وطباعتها مع حجمه، اتبع الخطوات التالية: 1. استورد مكتبة `queue`. 2. أنشئ كائن طابور باستخدام `Queue()`. 3. استخدم حلقة تكرار (مثل `for`) لعدد محدد من المرات (مثلاً 5 مرات). 4. داخل الحلقة، اطلب من المستخدم إدخال عنصر باستخدام `input()`. 5. أضف العنصر إلى الطابور باستخدام `put()`. 6. بعد تعبئة الطابور، قم بالمرور على عناصره (يمكن تحويل الطابور إلى قائمة باستخدام `list(myQueue.queue)` للطباعة). 7. اطبع كل عنصر. 8. اطبع حجم الطابور باستخدام `qsize()`.

الشرح: يوضح هذا السؤال كيفية استخدام مكتبة `queue` في بايثون لإنشاء طابور، إدخال بيانات إليه بناءً على طلب المستخدم، ثم عرض محتوياته وحجمه، مما يطبق مفهوم الطوابير الأساسي.

تلميح: فكّر في المكتبة التي توفر هياكل بيانات جاهزة مثل الطوابير، وكيف يمكنك تخزين البيانات بشكل متتابع وإخراجها بنفس الترتيب.

كيف يمكن التحقق مما إذا كان الطابور (Queue) فارغًا أو ممتلئًا باستخدام مكتبة `queue` في بايثون؟

الإجابة: للتحقق من حالة الطابور، يمكنك استخدام دالتين: - `myQueue.full()`: تُرجع `True` إذا كان الطابور ممتلئًا (بناءً على الحد الأقصى للحجم المحدد عند الإنشاء)، و`False` بخلاف ذلك. - `myQueue.empty()`: تُرجع `True` إذا كان الطابور فارغًا، و`False` بخلاف ذلك.

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

تلميح: ابحث عن الدوال المتاحة في كائن الطابور التي تختبر حالته الداخلية.

اشرح آلية عمل الطابور (Queue) من حيث إضافة العناصر وحذفها.

الإجابة: الطابور هو هيكل بيانات يتبع مبدأ "الأول يدخل، الأول يخرج" (FIFO - First-In, First-Out). - تتم إضافة العناصر الجديدة إلى نهاية الطابور (باستخدام دالة `put()` في بايثون). - تتم إزالة العناصر من مقدمة الطابور (باستخدام دالة `get()` في بايثون). هذا يعني أن العنصر الذي تم إضافته أولاً هو أول عنصر يتم إزالته.

الشرح: هذا التعريف يشرح المبدأ الأساسي للطوابير، وهو أمر جوهري لفهم كيفية عملها وتطبيقاتها في علوم الحاسوب.

تلميح: فكر في طابور الانتظار في الحياة الواقعية، كيف يتعامل الناس معه؟

ما هو الغرض من استخدام `myQueue.qsize()` عند التعامل مع الطوابير؟

الإجابة: تُستخدم الدالة `myQueue.qsize()` للحصول على العدد الحالي للعناصر الموجودة في الطابور. تُرجع قيمة عددية تمثل حجم الطابور في لحظة استدعاء الدالة.

الشرح: معرفة حجم الطابور مفيد في العديد من السيناريوهات، مثل التحقق مما إذا كان الطابور يحتوي على عدد معين من العناصر قبل معالجتها، أو لتتبع كمية البيانات التي تم إدخالها.

تلميح: ما هي المعلومات الأساسية التي قد تحتاج لمعرفتها عن أي مجموعة من البيانات؟