اذهب الي المحتوي
أوفيسنا

مطلوب تعديل كود توزيع الساقية وفقا لمجموعة من الشروط


الردود الموصى بها

سلام الله عليكم ورحمته وبركاته الملف المرفق هو عبارة عن ساقية لتوزيع الملاحظين على لجان الامتحانات بشكل يسير وسهل وتمثل مجموعة الفترات عدد الفترات التي سيؤدي فيها التلميذ الامتحان وقد يكون هناك فترة واحدة في اليوم او اثنين او ثلاثة حسب جدول الامتحان اي ان الفترة تمثل مادة دراسية ويتم التوزيع الصحيح وفقا لمجموعة من الشروط هي :

1- اذا قام الكود مثلا كما في الملف المرفق في ف1 بجعل الملاحظ عادل في لجنة 9 فاننا نطلب من الكود امرين الاول ألا يدخل عادل نفس اللجنة فيما بعد فلا يتكرر دخول نفس اللجنة مرتين لنفس الملاحظ والطلب الثاني هو ان الملاحظ عادل كان معه في نفس اللجنة 9 الملاحظ محمود وهذا هو الشرط الثاني لا يجب ان يجتمع عادل مع محمود مرة ثانية في اي لجنة أخرى اذن المطلوب الثاني هو عدم تكرار دخول ملاحظ مع ملاحظ اخر اكتر من مرة واحدة

2- المفروض ان يوزع الكود 2 ملاحظين على كل لجنة وهذا يعنى ان نجد لجنة 1 مرتين ولجنة 2 مرتين وهكذا الى اخر اللجان المحدد عددها في الخلية n2

ولكن اذا نظرنا للكود نجد مثلا في ف1 اللجنة 1 مكررة 3 مرات عند فوزى واكرامى وصلاح وهذا يعنى ان الكود يسقط ملاحظ من لجنة اخرى فلكل لجنة 2 ملاحظين ومن الممكن ان يتكرر رقم اللجنة اكثر من مرة في حين اننا نريده مرتين فقط

3- تم وضع الاحتياطي بشكل يدوي من خلال حرف ح وهو ما يعنى اننا اذا كان لدينا مثلا 23 ملاحظ وعندنا 10 لجان فاننا بحاجة الى 20 منهم ويتبقي 3 ملاحظين احتياطي نضعهم يدويا والكود سليم في هذه النقطة حيث يسمح بذلك ولا يحذفمن تم تحديد انهم احتياطي عند التوزيع بالضغط على زر توزيع اللجان 

4- اتمنى ان يكون المطلوب واضحا وانتظر خبرات اساتذتنا الكبار والسلام عليكم ورحمة الله وبركاته

كود التوزيع.rar

رابط هذا التعليق
شارك

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

واعتذر مقدما على الإطالة من أجل شرح الفكرة

1-     سنحذف الكود القديم وهو ما قمت به في الملف المرفق

2-     فكرة التوزيع مرتبطة بعدد اللجان وعدد الفترات أي بالخليتين n2  ، n3

3-     إذا كان لدينا مثلا 10 فترات للامتحان سيكون الترتيب على هذا النحو بشكل ثابت : ترتيب الخلايا أفقيا من d8  إلى n8   من 1 إلى 10 بالترتيب وإذا كان عدد الفترات 5 فيكون الترتيب من 1 : 5 بالترتيب وتكون الخلايا الباقية فارغة وقد نجحت في وضع معادلة تحقق ذلك في الملف المرفق فعند تغيير عدد الفترات يتحقق الترتيب في الخلايا المطلوبة بحسب عدد الفترات تصبح الخلايا الباقية فارغة

4-     يتم ترتيب الخلايا رأسيا في العمود d من 1 : 10 حسب عدد اللجان المطلوبة في الخلية n2  

أي انه إذا كان عدد اللجان 5 سيكون الترتيب من 1 : 5 رأسيا من d12: d8  ، واذا كان عدد اللجان 10 سيكون الترتيب من 1 : 10 رأسيا من d17: d8 وهكذا حسب عدد اللجان

5-     هنا سنجد أن العمود  e يبد أ بلجنة رقم 2 ويصبح المطلوب هو تكملة الترتيب ليصل إلي نهاية عدد اللجان ثم يبدأ من جديد بمعنى انه سيبدأ باللجنة 2 : 10 رأسيا وتبقي لجنة واحدة هي الخلية e17  فتكون رقم 1 وفي العمود التالي الذي يبدأ بلجنة 3 وينتهي بلجنة 2 وهكذا لبقية الأعمدة وقد قمت بوضع المعادلة لكنها فشلت في البدء من جديد عند انتهاء أخر لجنة

6-     بهذا قمنا بتوزيع اللجان على ملاحظ واحد ونريد توزيع اللجان علي المجموعة الثانية ليصبح لكل لجنة ملاحظان وهنا سيكون العمود الأول d  مرتبا أيضا من 1: 10 وبالطبع أنا اختار الرقم كمثال باعتبار أن اللجان المطلوبة 10 ويكون الترتيب من d27:d18 من 10:1

7-     التوزيع في باقي الأعمدة سيختلف سنبدأ الأعمدة التالية بأرقام اللجان الفردية التي تلي اللجنة 1 أي بدأ من الخلية d18  وعندما يكون عدد اللجان 10 ستبدأ الخلية e18 باللجنة 3 والخلية f18  باللجنة 5 والخلية g18 باللجنة 7 والخلية h18 باللجنة 9 وبهذا فقد انتهت بدايات اللجان الفردية وتبقي 4 أعمدة تبدأ الخلية i18 باللجنة الزوجية 2 وj18 باللجنة 4 وk18 باللجنة 6 وl18 بالجنة 8 و m18 باللجنة 10 وهنا سنقف علي نقطة مهمة إذا كان عدد اللجان فردي فالتوزيع سيحقق الشروط أما إذا كان زوجي فالمطلوب تبديل آخر عمودين زوجيين بمعنى انه لو كانت اللجان 10 فان العمود قبل الأخير الموزع يبدأ ب10 والعمود الأخير يبدأ ب8 وبهذا سوف تتحق الشروط

8-     بالطبع سنفعل كما فعلنا في المجموعة الأولي نرتب رأسيا ونبدأ من جديد بمعنى كمثال العمود e  ترتب الخلايا من e27:e18  من 3 : 10 ثم 1 ثم 2 في الخلايا المتبقية بعد نهاية عدد اللجان وهكذا

9-     إذا استطعنا إيجاد كود أو تعديل المعادلات المرفقة لتحقق ذلك فإننا قد أنجزنا المطلوب

10- بالطبع يلزم هذا الترتيب أن يكون عدد الملاحظين ضعف عدد اللجان وإذا زاد فلدينا حلان الأول أن نوزع على العدد الموجود والزيادة سيكون احتياطيا ونبدل مع الأرقام التي يحققها الكود فيما بينهم والثاني وهو ما أتمناه أن نضع ح كرمز للاحتياطي يدويا وفي أثناء ذلك يلزم الكود أن يتجاوز الخلية المكتوب فيها ح ليكمل الترتيب فيما بعدها وخاصة انه في نطاق محدد من 1 : عدد اللجان المطلوبة

11- أخيرا شكرا لكم وأتمنى أن أجد العون والمساعدة   

توزيع 2.rar

توزيع 2.rar

رابط هذا التعليق
شارك

هل الكود صعب لهذه الدرجة فكم رفعنا ملفات تحتاج اكواد متعبة ووفقكم الله في حلها اما التوزيع على نمط محدد فاظن ان خبراتكم وملكاتكم تجعله يسيرا بالنسبة لكم جعلكم الله في العون ورزقكم السداد

رابط هذا التعليق
شارك

اخي الكريم هذه محاولة منى لاستكمال الملف بالمعادلات وقد بنيتها على 10 لجان و10 فترات لكنى لم استطع حذف الصفوف الزائدة عندما يقل العدد عن 10 لكن قلت ارفعها ربما تجد من يستكملها للجزء المتبقي

توزيع.rar

رابط هذا التعليق
شارك

14 ساعات مضت, مصرى مصرى said:

اخي الكريم هذه محاولة منى لاستكمال الملف بالمعادلات وقد بنيتها على 10 لجان و10 فترات لكنى لم استطع حذف الصفوف الزائدة عندما يقل العدد عن 10 لكن قلت ارفعها ربما تجد من يستكملها للجزء المتبقي

توزيع.rar

شكرا لك اخي مصرى على المحاولة لكنها لم تكتمل الا انني اشكرك على مجهودك ومحاولتك وانا في انتظار العون والمساعدة من عملاقة المنتدى الذين عهدنا فيهم تقديم العون لكل محتاج

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information