4-Qeueu ADT – Telegram
وهنا استدعاءات الدوال في الـ main مع التنفيذ
بقي لنا شيء واحد وهو تدمير القائمة (تحرير الذاكرة) بعد الانتهاء من البرنامج
ولا اعتقد في هذه المرحلة انك تحتاج للتذكير اين ستقوم بكتابة الكود الخاص بذلك :)
سـ/ كيف سنحرر الذاكرة؟
تابع معي الخطوات بالصور
1
2
3
4
5
6
7
تستطيع الان ان تفهم الخطوات التي كتب بها الكود
فقط اضفت انك تنفذ هذا الكود اذا كانت ليست فارغة
!isEmpty()
أما إذا كانت فارغة طبعت هنا رسالة ان القائمة بالفعل فارغة
إلى هنا نكون قد انتهينا من كل ما يخص الـ Queue:)
مرفق لكم الكود الخاص بالتطبيق👇🏻
END *_*
بسبب ضغط الكلية وتغير القرارات باستمرار،وبالاتفاق مع استاذة النظري،
فقد تقرر الآتي:
🛑 تم إلغاء الاختبار النصفي لطلاب السيبر
🛑 درجة المشروع بتكون 15 درجة، درجة المشروع جماعية (7 درجات) ستحصل على الدرجة الكاملة فقط في حال التزمت بكل الشروط التي ناقشناها في المحاضرة الاخيرة، درجة المناقشة فردية (8 درجات)
🛑 الاسبوع القادم هو اسبوع المناقشة بداء من تاريخ 25/1/2025
🛑 كل طالب يناقش مشروعه في جروبه ولن يسمح لاي طالب المناقشة في اي وقت غير وقت   جروبه لاي سبب.
🛑 يتم ارسال المشاريع قبل المناقشة في ملف مضغوط باسم قائد الجروب قبل موعد المناقشة بيوم ع الأقل والا لن يتم احتساب الدرجة الكاملة للمشروع.
🛑🛑🛑🛑🛑🛑🛑
تعميم لطلاب IT
نظرا لعدم رصد درجات كافية لكم خلال الترم فما نقدر نلغي الاختبار..
بس بدل الاختبار بيكون معاكم كويز عليه 5 درجات في ال DLL
بالنسبة للمناقشة:
بسبب ضغط الكلية وتغير القرارات باستمرار،
فقد تقرر الآتي:
🛑 درجة المشروع بتكون 15 درجة، درجة المشروع جماعية (7 درجات) ستحصل على الدرجة الكاملة فقط في حال التزمت بكل الشروط التي ناقشناها في المحاضرة الاخيرة، درجة المناقشة فردية (8 درجات)
🛑 الاسبوع القادم هو اسبوع المناقشة بداء من تاريخ 25/1/2025
🛑 كل طالب يناقش مشروعه في جروبه ولن يسمح لاي طالب المناقشة في اي وقت غير وقت جروبه لاي سبب.
🛑 يتم ارسال المشاريع قبل المناقشة في ملف مضغوط باسم قائد الجروب قبل موعد المناقشة بيوم ع الأقل والا لن يتم احتساب الدرجة الكاملة للمشروع.
بالتوفيق للجميع
🛑🛑🛑🛑🛑🛑🛑🛑🛑
مقرر هياكل البيانات والخوارزميات:
متطلبات المشروع النهائي كالتالي:
لديكم 8 مشاريع:
المشاريع من رقم 1 الى 4.. نفس الفكرة (مذكرة memo)، والاختلاف فقط في نوع هياكل البيانات المطبقة فيها
مثلا رقم 1 مفكرة نسخة باستخدام SLL و نسخة اخرى بتطبيق مبدا ال Stack
...
في بداية تشغيل البرنامج ستظهر لديك قائمة ل 4 اختيارات
1. أضف مهمة
2. احذف مهمة
3. عرض المهام
4. الخروج من البرنامج
سيظل البرنامج قيد التشغيل مالم تختار الخيار الرابع (وفي حال ادخلت قيمه خاطئة ستظهر لديك رسالة تنبيه لتختار فقط رقم من 1 الى 4)

عند اختيار المستخدم للخيار الأول (أضف مهمة)
ستظهر لديك قائمة جديدة:
1. للاضافة في بداية القائمة اختر 1
2. للاضافة في نهاية القائمة
3. للاضافة في مكان محدد
وعند اختيارك للرقم 3 (تظهر رسالة لسؤال المستخدم بعد او قبل اي مهمة تريد اضافة هذه المهمة)

بالنسبة للحذف
ستعرض للمستخدم المهام الموجودة حاليا ليختار رقم المهمة المراد حذفها وتنحذف فورا (بدون الحاجة لسؤال المستخدم عن موقع هذه المهمة)- تنفيذ هذا الموضوع مشروح بالتفصيل في فيديوهات ال SLL


في العرض ستعرض المهام المخزنة بالترتيب..
وستقوم أيضا بإنشاء دالة لعكس ترتيب المهام الموجودة

واخيرا الخروج من البرنامج

تذكير: لا تنسى تحرير الذاكرة من العقد في نهاية البرنامج

عند انتهائك من بناء هذا البرنامج ستحفظ عملك في ملف
ثم ستأخذ نسخة من هذا البرنامج لتطبق عليه مفهوم ال Stack
مما يعني انه ووفقا لمبدأ المكدس لن تسأل المستخدم عند الاضافة والحذف عن رقم المهمة المراد اضافتها او حذفها
فعند الاضافة ستضاف في النهاية وعند الحذف ستحذف اخر مهمة قمت بادخالها

اي ستقوم بتسليم نسختين:
1- باستخدام ال SLL
2- تطبيق ال Stack على النسخة السابقة

ونفس الكلام مع البقية
لكن بحسب المطلوب
مشروع رقم 2 باستخدام SLL وتطبيق ال Queue
وهكذا...

بالنسبة للمشروعين رقم 5 و 6
فنفس فكرة التطبيق التي شرحتها سابقا
1. اضف زبون
2. خدمة زبون (حذف زبون)
3. عرض قائمة الزبائن
4. الخروج من البرنامج
ايضا يسلم على نسختين.
نسخة ال SLL او DLL (بحسب المطلوب)
والنسخة الثانية بتطبيق مبدأ ال Queue
اي لن تسأل المستخدم عن مكان الاضافة والحذف
الاضافة ستكون من الاخير واول زبون يدخل هو اول زبون ستتم تقديم الخدمة له

اخيرا المشروعين رقم 7 و 8
هو برنامج (يومياتي)
ستقوم بتخزين كل كلمة تكتبها في عقدة حيث ستكون القائمة
1. اضف كلمة
2. احذف
3. اطبع النص الموجود حاليا
4. اخرج من البرنامج

ستطبقه باستخدام ال SLL او DLL كما هو مطلوب منك وستطبق عليه مبدأ ال Stack
في هذا المشروع ايضا ت
سينفذ على نسختين..
نسخة بال SLL او DLL
والنسخة الثانية بال Stack

ولديك في هذا المشروع دالة ستقوم ببناءها
وهي دالة البحث عن كلمة لتحديثها
مثلا بحثت عن كلمة write وتعدلها الى الكلمة read (مثلااا)
مع بناء دالة تحسب كم مرة ورد ذكر هذه الكلمة في النص
لا تنسى تحرير الذاكرة في النهاية


🛑🛑🛑🛑🛑
تنويه..
يتم ضغط نسختي المشروع في ملف واحد باسم قائد المشروع وارساله قبل يوم ع الأقل الى مندوب الجروب لارساله لي..