• 0
M!ss Programmer

سؤال:هل توجد خوارزمية للتحقق من تعارضات الجداول

سؤال

السلام علــــيـــكـــم .. 

 

أخواني الأفاضل 

 

أنا سويت تطبيق للطلبة .. بحيث أن الطالب يدخل جدوله الدراسي 

أي يضيف موعد المحاضرة ويومها ومكانها .. 

 

تواجهني مشكلة التحقق من وجود تعارض 

 

أي ما اريده انه اذا ادخل الطالب موعد ووقت محاضرة مسجلة مسبقة لمادة أخرى .. فانه ينبهه على وجود تعارض 

 

فهل توجد خوارزمية تبحث حول التعارض في الجداول ؟؟ 

 

كل ما ابحث حول الموضوع تظهر لي الـ genetic algorithm

 

وهي كبيرة جدا على ان استخدممها في تطبيق بسيط  -_-

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

8 إجابة على هذا السؤال .

  • 0

الأمر بسيط جدا باستعمال المصفوفات:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أنا مبدئيا سويتها بالمصفوفات .. 

 

لــكن قلت يمكن فيه خوارزمية معينه تؤدي هذا الغرض وأنا خلفيتي في الخوارزميات محدودة جدا  ^_^

ولذلك سألت .. 

 

 

شكــــرا لك أخي  

kenham
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أنت قلت أنك تريد صنع برنامج لكتابة الجدول الدراسي

 

أنت في حد ذاتك ذكرت جدول

 

لذا يسنحسن صنع هذا البرنامج باستعمال مصفوفة ثنائية

 

يمكن فعل ذلك من دون مصفوفات

 

مثلا بالإمكان وضع عدد متغيرات (متغير بدل كل خانة من خانات المصفوفة)

 

و تضع قيمة ابتدائية لجميع المتغبرات ب 0

 

و بعدها يملأ المستخدم الجدول باعطاء قيمة لكل متغبر شرط أن تكون القيمة 0

 

فان كانت صفرا معناه أن القيمة لم تدخل بعد

تم تعديل بواسطه kenham
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

قد تفيدك هذه جملة الاستعلام اذا لمت تعطي سجلات اذا هذا التوقيت خالي

declare @CourseStart datetime='10:00'declare @CourseEnd datetime='11:30'select count(id)from courseswhere 	TimeStart between (@CourseStart and @CourseEnd) 	or 	TimeEnd between (@CourseStart and @CourseEnd) 
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
kenham

 

أنا عملت مصفوفة ثنائية من نوع String 

 

راح أخذ الوقت المدخل من قبل المستخدم وأتحقق من اذا كان الوقت المطلوب null او لا 

 

في حالة كان null يكتب اسم المادة في المكان المطلوب 

اذا كان لا  .. ينبهه بوجود تعارض

شكرا لك 

 

:)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
KARIMSOFT

 

شـــكـــرا جزاك الله خير 

 

بالنسبة للـ DB

أنا استخدم SQLite 

واوامر الكويري فيها عبيطة  

 أنا خزنت فيها الوقت على شكل ثابت مثلا  (Mon_10:00am_12:00pm)

وهذا الشي primary key 

 

وخزنت أيضا الـ duration   فقط 

 

في هذا المثال أثناء التحقق راح ياخذ الجزئية الأولى Mon ويتحقق من الأجزاء 2X في المصفوفة 

 

و الـ duration أستخدمها للتحقق  ولملئ المصفوفة  

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

انا قد صنعت البرنامج على هذه الشروط وكان عندي سؤال عن الطبع ولم اكن اعلم بكريستال ريبورت وهذا هو الموضوع http://arabteam2000-forum.com/index.php/topic/267751-%D8%B7%D8%A8%D8%A7%D8%B9%D8%A9-%D9%85%D8%AD%D8%AA%D9%88%D9%8A%D8%A7%D8%AA-llistview/

 

اولا عليك مراعاة

المدرس لا يكون في صفين في نفس الوقت

المدرس يمكن ان يدرس اكثر من مادة

في اغلب المدارس لا يجوز للمدرس ان يدرس نفس المادة في نفس اليوم 

وفي برنامجي يجوز للمدرس اختيار الايام والدروس التي يمكن ان يحضر فيها

 

نعمل مصفوفتين بحجم الصفوف * عدد الدروس في الاسبوع

ونضع قيم اولية غير متطابقة ويجب ان تكون كبيرة و مستحيلة 

المصفوفة الاولى لاسماء المواد والثانية لاسماء المدرسين ويجب ان تكون متناضرة

ناتي اولا وعشوائيا نضع جميع دروس والمدرسين لكل صف في خاناتها 

عندما نحرك درس لا تنسى ان تقوم بنفس الحركة لأسم المدرس لكي يكون الدرس متناضرا مع اسم مدرس المادة

 

ولان نحرك الدرس في نفس حقل الصف حسب حظور المدرسين وان حصل تضارب فيجب اعلام اليوزر بزيادة عدد حضور المدرس المتضارب

وبعدها ناتي ونحرك الدروس من الاول الى التالي حسب تضارب اسم المدرس فس نفس الوقت

وبعدها نقلب المصفوفة وقم  ونحرك الدروس من الاول الى التالي حسب تضارب اسم المدرس فس نفس الوقت

ولجميع الصفوف 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .