الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه M!ss Programmer في 4 أبريل 2014 · 8 رد · 758 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 

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

 

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

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

 

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

 

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

 

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

 

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

 

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

لو رأيـت الجميع ضدك والالوان غيـر لونــــك والكل ماشـي عكسك " لاتتــــردد"..

إمشي وراء قلبـــك وتمسك بمبادءك ولاتأبه لهــم حتى وأن أصبحت وحيداً "لاتتــــردد"..

فالوحدة أفضـل من أن تعيش عكس نفسك لارضاء غيرك..

إن الحياة كتاب مليء .. بالصـور .. والالوان ..والحكايات فلتعشها جميعهـا..

ولتخترالافضل لك ومهما حدث

لاتبكي ولكن إبتسم ..

ودع الدنيا تبكي من جبروت إبتسامتـك ....

#2

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

#3

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

 

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

ولذلك سألت .. 

 

 

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

kenham

لو رأيـت الجميع ضدك والالوان غيـر لونــــك والكل ماشـي عكسك " لاتتــــردد"..

إمشي وراء قلبـــك وتمسك بمبادءك ولاتأبه لهــم حتى وأن أصبحت وحيداً "لاتتــــردد"..

فالوحدة أفضـل من أن تعيش عكس نفسك لارضاء غيرك..

إن الحياة كتاب مليء .. بالصـور .. والالوان ..والحكايات فلتعشها جميعهـا..

ولتخترالافضل لك ومهما حدث

لاتبكي ولكن إبتسم ..

ودع الدنيا تبكي من جبروت إبتسامتـك ....

#4

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

تم تعديل هذه المشاركة بواسطة kenham في 5 أبريل 2014 في 00:13

#5

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

declare @CourseStart datetime='10:00'
declare @CourseEnd datetime='11:30'

select count(id)
from courses
where 
	TimeStart between (@CourseStart and @CourseEnd) 
	or 
	TimeEnd between (@CourseStart and @CourseEnd)
#6
kenham

 

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

 

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

 

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

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

شكرا لك 

 

:)

لو رأيـت الجميع ضدك والالوان غيـر لونــــك والكل ماشـي عكسك " لاتتــــردد"..

إمشي وراء قلبـــك وتمسك بمبادءك ولاتأبه لهــم حتى وأن أصبحت وحيداً "لاتتــــردد"..

فالوحدة أفضـل من أن تعيش عكس نفسك لارضاء غيرك..

إن الحياة كتاب مليء .. بالصـور .. والالوان ..والحكايات فلتعشها جميعهـا..

ولتخترالافضل لك ومهما حدث

لاتبكي ولكن إبتسم ..

ودع الدنيا تبكي من جبروت إبتسامتـك ....

#7
KARIMSOFT

 

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

 

بالنسبة للـ DB

أنا استخدم SQLite 

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

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

وهذا الشي primary key 

 

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

 

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

 

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

لو رأيـت الجميع ضدك والالوان غيـر لونــــك والكل ماشـي عكسك " لاتتــــردد"..

إمشي وراء قلبـــك وتمسك بمبادءك ولاتأبه لهــم حتى وأن أصبحت وحيداً "لاتتــــردد"..

فالوحدة أفضـل من أن تعيش عكس نفسك لارضاء غيرك..

إن الحياة كتاب مليء .. بالصـور .. والالوان ..والحكايات فلتعشها جميعهـا..

ولتخترالافضل لك ومهما حدث

لاتبكي ولكن إبتسم ..

ودع الدنيا تبكي من جبروت إبتسامتـك ....

#9

انا قد صنعت البرنامج على هذه الشروط وكان عندي سؤال عن الطبع ولم اكن اعلم بكريستال ريبورت وهذا هو الموضوع /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/

 

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

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

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

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

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

 

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

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

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

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

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

 

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

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

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

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

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…