Advanced Search

المحرر موضوع: الحل الأمثل  (زيارة 1996 مرات)

0 الأعضاء و 1 ضيف يشاهدون هذا الموضوع.

سبتمبر 01, 2003, 05:41:32 مساءاً
زيارة 1996 مرات

عسكر

  • عضو متقدم

  • ****

  • 714
    مشاركة

    • مشاهدة الملف الشخصي
الحل الأمثل
« في: سبتمبر 01, 2003, 05:41:32 مساءاً »
بســم اللــه الرحمــن الرحيـــم

السلام عليكم و رحمة الله و بركاته

ولدي أحب أن يشارك باسم أبيه أرجو أن يكون الموضوع ذا فائدة كما أرجو التفاعل :

ربما كانت آخرُ مشاركاتي في المنتدى منذ ما يقارب الستة أشهر

ولكن كان ذلك بسبب الانشغال بالدراسه و الآن أشارك بموضوع أعتقد

أنه مهم لكل محب للبرمجة و لعشّاق حل المسائل المعقدة بواسطة الحاسب

و رغم أني مبببببتدئ جدددداً جدددداً إلا أني سأضع ما في جعبتي ليستفيد

منه الجميع و لعل و عسى أن يوجد أحدآخر يزيد فأستفيد و يستفيد الجميع

قبل البدء بالأمثلة سأبدأ بتعريف بسيط لما يدعى بالخوارزميات التراجعية

هي عبارة عن خوارزميات بسيطة تعتمد مبدأ التجريب و الخطأ في حل المسائل

أي بمعنى آخر الحصول على جميع الإحتمالات الممكنة لمسألة...

{و تتلخص بإيجاد الحل النهائي لمسألة باتباع مجموعة من الخطوات}

أي لدينا مسألة معينة و لدينا مجموعة من الخيارات مثلاً تحريك حصان على رقعة شطرنج

بحيث يتحرك الحصان على كل الرقعة و لا يمر بنفس المربع مرتين طبعا الحصان يكون في المسقط (1,1) في البداية

لدينا مجموعة من الخيارات لتحريك الحصان نختارها واحدا تلو الآخر

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

و نناقش في كل انتقالة امكانية القيام بها أو لا

للتوضيح أكثر:

لاحظ الشكل المرفق رقم 1 لوحة شطرنج نلاحظ وجود 8 احتمالات لحركة الحصان

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

نعم===> تراجع و اختر الحركة التالية

لا=====> أوجد احتمالات حركة الحصان من هذه النقطة ونعيد المناقشة السابقة

بشكل عام سوف نمر بجميع الاحتمالات و نحصل على مخطط شجري كما في الشكل 2

لدينا ثمانية أفرع رئيسية يتفرع من كل منها 8 فرعية و من كل واحدة من الفروع الفرعية يتفرع ثمانية

وهكذا   ...   64 مستوى في لوحة الشطرنج النظامية 8*8 =64

طبعا ربما لن يستوعب معظم القراء 100% مما قلت لأنني أنا نفسي لم أستوعب ذلك إلا بعد القراءة و
التفكير و التدبر و التمحيص

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

تسمح لهذه الآلة بالوصول إلى كل الاحتمالات الممكنة و معالجتها...

ولكن قبل البدء بحل مثال الحصان سنبدأ بمثال بسيط يبين أبسط شكل للخوارزميات التراجعية

حساب عاملي عدد موجب

إن التعريف الرياضي لدالة العاملي هو
  
س!=
      *) 0!=1         :س=0
      *) 1!=1         :س=1
      *) س!=س(س-1)!   : س لايساوي 1 و0
لو عرضنا هذه المسألة على شخص لإيجاد عاملي 5 مثلا يقول:5!=5*4*3*2*1

و أي مبرمج يحلها بواسطة حلقة for مع وضع شروط من أجل الصفر

مثال بيسك:


s=1
for n = 1 to 5
s=s*n
next
print n



لكن و بواسطة الخوارزميات التراجعية يمكن حلها كمايلي

مثال باسكال


program a;
var
c:integer;
var b:integer;
procedure cal(x:integer);
var
b1:integer;
begin
b:=1;
if ( x<>1 ) and (x<>0) then
begin
b1,cal(x-1);
b:=b1*x;
end
end;
begin
c,cal(5);
writeln©
end.


ربما ترى أن هذه الطريقة صعبة للفهم و الكتابة و لكنها علمية أكثر لأنها تطبيق عملي للتعريف النظري

للعاملي و هي الطريقة المنهجية الصحيحة.

الآن سأذكر المخطط العام لهذا النوع من الخوارزميات في حل المسائل

الإجراء


procedure try(مجموعة من متحولات الادخال و الاخراج);
{تسبق متحولات الإخراج ب var }
var
المتحولات المحلية المستخدمة داخل الإجراء فقط
begin
مجموعة من القيم الابتدائية
repeat
if (شرط محقق للقيام بخطوة) then
   قم بخطوة(مجموعة من التعليمات(
    if ليست آخر خطوة then
       try(مجموعة من القيم+متحول إخراج)
       if (متحول اخراج لا يحقق شرط ) then
          تراجع عن الخطوة التي قمت بها
    else
    توصلنا إلى أحد الحلول;
until متحول الاخراج يحقق شرط معين أو أن جميع الاحتمالات التالية لهذه الخطوة قد انتهت
end;



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

1) متحولات الادخال هي رقم الخطوة التي سيخطوها الحصان و احداثيات الخطوة السابقة

   و متحول إخراج ليبين لنا هل يمكن المتابعة في هذا الخيار أم لا
 
   و بالتالي يصبح كما يلي:

procedure try (i:integer;x,y:integer;var q:boolean);

   
  
  
2) المتحولات المحلية المستخدمة داخل الإجراء فقط
    
   أنت مخير في استخدامها حسب الحاجة هنا في هذا المثال سنعرف متحول صحيح k يعبر عن عدد الحركات التي يمكن أن يقوم بها الحصان 8
 
   حركات القيمة الابتدائية 1 و تزداد مع التكرار إلى أن تصل إلى 8 لتعبر عن فرع الشجرة الذي اخترناه

   ونعرف متحولان يعبران عن الاحداثيات الجديدة هما u للسينات و v للعينات (الصادات)

   إضافة إلى متحول منطقي q1 من النوع boolean يساعد في عملية المحاكمة لمعرفة النجاح في الوصول إلى حل أو لا


3)شرط محقق للقيام بخطوة

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

   2)أي كيف ستخبر الحاسب بطريقة انتقال الحصان و التي هي على شكل حرف L
    
    هنا نصمم مصفوفتين(a1,a2( أثنار بدء البرنامج من ثمانية حقول كل منهما إحداهما للسينات و الأخرى للعينات

   باعتبار لوحة الشطرنج لها محورين احداثيين فمن أجل النتقال من الاحداثي x كما في الشكل 1 إلى الاحداثي (1)

   نضيف لعينات(صادات) x اثنين(2) و لسينات x سالب واحد(-1)

   3)الشروط: السينات و العينات(الصادات) الجديدة بين 1 و 8  و المربع لم يمر عليه مسبقاً

   للقيام بآخر شرط نكوّن مصفوفة تحتوي على مساقط لوحة الشطرنج هي h(n,n)

   حيث في لوحة الشطرنج النظامية n=8 كما هو معلوم حيث أن عناصرها هي من النوع integer
  
  و يصرح عنها في بداية البرنامج فاحتواء أحد عناصرها على القيمة صفر يدل أن الحصان لم يمر على

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

  للتعبير عن الشرطين الأولين يمكننا إنشاء مجموعة تحوي الأرقام 1 إلى 8 مثل s و اختبار شرط انتماء v وu

إلى هذه المجموعة أو اتباع أدوات المقارنة >,<,= فنصل إلى ذات النتيجة و بالتالي يكون ملخص ما ذكرته حتى الآن


procedure try (i:integer;x,y:integer;var q:boolean);
var
q1:boolean
k:integer
v,u:integer;
begin
k:=0;
repeat
q1:=false;
k:=k+1;
v:=y+a2[k;]u:=x+a1[k];
if (u in s) and (v in s) and (h[u,v]=0)  then

 
هنا i تدل على رقم الخطوة
4)قم بخطوة:
  
 إن عملية قم بخطوة تعني استبدال الصفر في عنصر المصفوفة h ذي الاحداثيات u,v
  
  برقم الخطوة التي سيقوم بها الحصان وذلك من خلال التعليمة h(u,v)=i;

5)ليست آخر خطوة

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

   هو n*n حيث n=8 ======> آخر خطوة هي n*n و بالتالي إذا كانت i < n*n ====> ليست آخر خطوة

   أما إذا كانت آخر خطوة و بما أن هذا المكعب لم يمر عليه الحصان مسبقاً لذلكفإننا نختارة مباشرة و

    نعطي لـ ض1 قيمة true

6)try(مجموعة من القيم+متحول إخراج)

  ندخل إلى الإجراء من داخل الإجراء نفسه و هذا هو لب الموضوع و السر الذي يجعل الخوارزمية تعالج

  جميع الحالات و تأخذ المعالجة شكل شجري شبية بأسلوب حل بعض  المسائل في الاحتمال

  q1,v,u,try(i+1);

7) عندما يعود متحول الاخراج q1 بقيمة false ====>وصول الاجراءات أثناء الاستدعاءات المتتالية إلى طريق مسدود

و هو حالتين :
              *)إما أن نكون قد و صلنا إلى مربع على اللوحة لايمكن الانتقال منه إلى غيره لأنها جميعا

               قد مر عليها مسبقا

              *)أو أن المربع المراد الانقال إليه قد مر عليه مسبقاً

 وهنا نتراجع عن الحركة الأخيرة  بإعطاء عنصر المصفوفة المقابل للمربع القيمة صفر

8)شرط التكرار حتى الوصول إلى إحدى الحالتين :
  
  *)إما انتهاء حالات الحركة من المربع إلى المربعات الأخرى و هي بشكل عام ثمانية كما ذكرنا سابقا

  *)أو أن نصل  إلى قيمة true لـ q1 أي و صلنا إلى حل مرحلي لعقدة في الشجرة أو نهائي كما في الحالة المذكورة

    في البند رقم 5

  إن هدف التكرار هو المرور على جميع الحالات العامة الثمانية لحركة الحصان من مربع على رقعة الشطرنج

  إلى مربع آخر.

sqrn=n*n في مثالي و ضعته هو و n كثوابت في بداية البرنامج

فيكون الشكل النهائي للاجراء


procedure try (i:integer;x,y:integer;var q:boolean);
var
q1:boolean
k:integer
v,u:integer;
begin
k:=0;
repeat
q1:=false;
k:=k+1;
v:=y+a2[k;]u:=x+a1[k];
if (u in s) and (v in s) and (h[u,v]=0)  then
begin
h[u,v]:=i;
if ibegin
try(i+1,u,v,q1);
if not q1 then h[u,v]:=0;
end
else
q1:=true;
end;
until(q1) or (k=8);
q:=q1;
end;



يتبع
[إذا مات ابن أدم انقطع عمله إلا من ثلاث صدقة جاريه أوعلم ينتفع به أو ولد صالح يدعو له ]

ادعوا لأخيكم عسكر بالعفو والرحمة والمغفرة و الشفاء وحسن الخاتمة


سبتمبر 01, 2003, 05:43:20 مساءاً
رد #1

عسكر

  • عضو متقدم

  • ****

  • 714
    مشاركة

    • مشاهدة الملف الشخصي
الحل الأمثل
« رد #1 في: سبتمبر 01, 2003, 05:43:20 مساءاً »
تابع لما سبق :

الآن علينا البدء بكتابة البرنامج


program chess;
const
n=5;
sqrn=25;
type
index=1..n;
var
h:array[index,index] of integer;
a2,a1:array[1..8] of integer;
q:boolean;
s:set of index;
m,j:integer;



*)n عدد صفوف و أعمدة لوحة الشطرنج وضعته 5 للسهولة يمكنك تغييره

sqrn هو n*n تمكنك الاستغناء عنه بحسابه عن طريق عملية حسابية

*)a1 ,a2 مصفوفتين تم شرحهما في البند رقم 3 مسبقا من أجل معرفة احداثيات

المربع الذي يمكن للحصان الانتقال إليه و ذلك بإضافة قيمة أول حقل مثلا من

 كل من المصفوفتين إلى إحداثيي المكان الحالي للحصان

*) h مصفوفة تمثل لوحة الشطرنج

*)index نوع يعبر عن مجموعة جزئية من الأعداد الطبيعية من 1 إلى 8

*)q متحول سيعود بالنتيجة النهائية لعملية المعالجة إما نجحت أو فشلت

*)s مجموعة ذكرت وظيفتها في البند رقم 3 من شرح الاجراءtry
  
   وهي مجموعة جزئية من index

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

 و تذكرها السريع بالإضافة إلى ميزات التعامل مع المجموعات

*)m,j :متحولين يفيدان في عملية الإدخال و الإخراج كما سيمر معنا



begin
s:=[1,2,3,4,5];
a2[1]:=1;a1[1]:=2;
a2[2]:=-1;a1[2]:=2;
a2[3]:=1;a1[3]:=-2;
a2[4]:=-1;a1[4]:=-2;
a2[5]:=2;a1[5]:=1;
a2[6]:=2;a1[6]:=-1;
a2[7]:=-2;a1[7]:=1;
a2[8]:=-2;a1[8]:=-1;



*)كتبنا في بداية البرنامج محتويات المجموعة s

*) ثم أدخلنا محتويات المصفوفتين a1,a2

 و التي يمكن استنتاجها بسهولة من الشكل 1

باعتبار احدى زوايا رقعة الشطرنج هي مبدأ الاحداثيات و المربع الموجود في هذه الزاوية

ذو إحداثيات 1,1 ....



for j:=1 to n do

for m := 1 to n do

h[j,m]:=0;



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

و هنا يجدر الذكر بأن تراعي دائما أن لاتضع في ذهنك أن الحاسب

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



h[1,1]:=1;

try(2,1,1,q);
if q then
 for j:=1 to n do
 begin
   for m:=1 to n do
   write(h[j,m]:5);
   writeln;
 end
else
 write('imposible');
end.
    

 
في هذه الخطوات نقوم بتحديد الخطوة الابتدائية و التي سنبدأ منها (يمكنك تغييرها)

و لكن و بما أنك و ضعتها يدويا فيجب عليك أن تضع رقم الخطوة وهو واحد ضمن عنصر المصفوفة الموافق

ثم نقوم باختبار المتحول q إذا كان true نطبع النتائج و هي عبارة عن المصفوفة المتكونة h

اما إذا كانت قيمة q=false ====> نطبع مستحيل لأن الحل مستحيل

و بالتالي يكون البرنامج كاملا


program chess;
const
n=5;
sqrn=25;
type
index=1..n;
var
h:array[index,index] of integer;
a2,a1:array[1..8] of integer;
q:boolean;
s:set of index;
m,j:integer;
procedure try (i:integer;x,y:integer;var q:boolean);
var
q1:boolean
k:integer
v,u:integer;
begin
k:=0;
repeat
q1:=false;
k:=k+1;
v:=y+a2[k;]u:=x+a1[k];
if (u in s) and (v in s) and (h[u,v]=0)  then
begin
h[u,v]:=i;
if ibegin
try(i+1,u,v,q1);
if not q1 then h[u,v]:=0;
end
else
q1:=true;
end;
until(q1) or (k=8);
q:=q1;
end;
begin
s:=[1,2,3,4,5];
a2[1]:=1;a1[1]:=2;
a2[2]:=-1;a1[2]:=2;
a2[3]:=1;a1[3]:=-2;
a2[4]:=-1;a1[4]:=-2;
a2[5]:=2;a1[5]:=1;
a2[6]:=2;a1[6]:=-1;
a2[7]:=-2;a1[7]:=1;
a2[8]:=-2;a1[8]:=-1;
for j:=1 to n do
for m := 1 to n do
h[j,m]:=0;
h[1,1]:=1;
try(2,1,1,q);
if q then
 for j:=1 to n do
 begin
   for m:=1 to n do
   write(h[j,m]:5);
   writeln;
 end
else
 write('imposible');
end.


نتيجة تنفيذ البرنامج
 1    6   15   10   21
14    9   20    5   16
19    2    7   22   11
 8   13   24   17    4
25   18    3   12   23

و أخيراً و ليس آخراً هذه إحدى المسائل و سأضع غيرها بإذن الله و لكن أطمع

ان يكون هنالك من يملك المزيد ليفيدنا و يفيد الجميع و قد و ضعت البرمجة و البرنامج التنفيذي لهذا المثال

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

برنامج البيسك برنامج عام يمكن ان تضع عدد الأعمدة و الأسطر ضمن مربع النص مثلا نكتب (5)

ثم ننقر على نفذ و ننتظر قليلاً فيعرض النتيجة

لاحظ أنها ليست الوحيدة و أطلب من كل من يهتم بهذا الموضوع أن يحاول التعميم لإيجاد جميع الحلول

علماً أني سأضع الطريقة المنهجية لاحقاً

و التحية للجميع
[إذا مات ابن أدم انقطع عمله إلا من ثلاث صدقة جاريه أوعلم ينتفع به أو ولد صالح يدعو له ]

ادعوا لأخيكم عسكر بالعفو والرحمة والمغفرة و الشفاء وحسن الخاتمة


سبتمبر 01, 2003, 10:19:32 مساءاً
رد #2

الخالد

  • عضو خبير

  • *****

  • 2286
    مشاركة

  • مشرف الرياضيات

    • مشاهدة الملف الشخصي
    • http://
الحل الأمثل
« رد #2 في: سبتمبر 01, 2003, 10:19:32 مساءاً »
السلام عليكم ورحمة الله وبركاته
بارك الله فيك ياصديقي الصغير وأقر الله عيني ابيك بك
بالفعل كما يقال : هذا الشبل من ذاك الأسد
أرجو من الله لك التوفيق والنجاح الدائم
وأتوقع بإذنه تعالى لك المستقبل الزاهر
وإلى الأمام دائماً


كفى بك داء أن تـرى الموتَ شـافيـاً                و حسبُ المنـايا أن يكنّ أمانيـــا

سبتمبر 01, 2003, 11:58:24 مساءاً
رد #3

ابو سلمان

  • Administrator

  • *****

  • 2691
    مشاركة

  • مشرف إداري

    • مشاهدة الملف الشخصي
    • http://olom.info
الحل الأمثل
« رد #3 في: سبتمبر 01, 2003, 11:58:24 مساءاً »
السلام عليكم

ما شاء الله تبارك الله

اشكرك أخي على هذه المشاركة وأسأل الله ان ينفع بك وبعلمك

وتقبل احترامي وتقديري لك ولابيك

اخوكم / ابو سلمان

سبتمبر 02, 2003, 08:29:36 مساءاً
رد #4

عسكر

  • عضو متقدم

  • ****

  • 714
    مشاركة

    • مشاهدة الملف الشخصي
الحل الأمثل
« رد #4 في: سبتمبر 02, 2003, 08:29:36 مساءاً »
بسم الله الرحمن الرحيم

من بعد التحية و السلام

شكرا أخي الخالد على التشجيع و عقبال عندكم إن شاء الله

شكرا جزيلا أخي أبو سلمان وأتمنى أن يزدهر المنتدى وينمو بأياديكم

ومبارك إن شاء الله الاخراج الجديد للمنتدى

التحية للجميع
[إذا مات ابن أدم انقطع عمله إلا من ثلاث صدقة جاريه أوعلم ينتفع به أو ولد صالح يدعو له ]

ادعوا لأخيكم عسكر بالعفو والرحمة والمغفرة و الشفاء وحسن الخاتمة


سبتمبر 06, 2003, 02:45:54 مساءاً
رد #5

Mgh

  • عضو خبير

  • *****

  • 3536
    مشاركة

    • مشاهدة الملف الشخصي
الحل الأمثل
« رد #5 في: سبتمبر 06, 2003, 02:45:54 مساءاً »
ما شاء الله . موضوع مفيد جدا . أتمنى ألا تتوقف أخى (عسكر الأبن) .

ولكن هل لديك أى مواقع يمكننى مراجعتها إذا أردت التوسع فى الموضوع (عربية أو اجنبية)

وشكرا لك

أنتظر المزيد من مواضيعك الرائعة
هناك أشياء جميلة في حياتنا لكننا لانراها لاننا لانكلف أنفسنا محاولة النظر اليها.. وربما تشابه الايام والروتين يحجب الرؤية عنها

سبتمبر 08, 2003, 06:24:43 مساءاً
رد #6

عسكر

  • عضو متقدم

  • ****

  • 714
    مشاركة

    • مشاهدة الملف الشخصي
الحل الأمثل
« رد #6 في: سبتمبر 08, 2003, 06:24:43 مساءاً »
بســـم اللـه الرحمــن الرحيــم
السلام عليكم ورحمة الله وبركاته

شكرا أخي mgh  على الترحيب والتشجيع الحقيقة ان محمد هاو وبعد اسبوع سيتفرغ للدراسة

وسينقطع عن المشاركة في هذا المجال لأنها السنة الاولى له في الجامعة

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

وسألنا من نعرفهم إن كان بالامكان المساعدة أيضا لم نفلح فاتجهنا لتعلم خوارزميات الحل الأمثل

وأنا لست على دراية كافية فيها فقال أنا أقرأ وأبحث وبالفعل حصلنا على كتاب ( استعاره )

بعنوان الخوارزميات وبنى المعطيات وهو يدرس في السنة الثانية معلوماتيه في الجامعه واستعان به

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

أشكرك مرة ثانيه وأتمنى لكم دوام التقدم والازدهار

وما زلنا نبحث عن برنامج توزيع الحصص على المدرسين فمن أحب أن يساعدنا فله جزيل الشكر

التحية للجميع
[إذا مات ابن أدم انقطع عمله إلا من ثلاث صدقة جاريه أوعلم ينتفع به أو ولد صالح يدعو له ]

ادعوا لأخيكم عسكر بالعفو والرحمة والمغفرة و الشفاء وحسن الخاتمة


سبتمبر 08, 2003, 08:27:57 مساءاً
رد #7

الخالد

  • عضو خبير

  • *****

  • 2286
    مشاركة

  • مشرف الرياضيات

    • مشاهدة الملف الشخصي
    • http://
الحل الأمثل
« رد #7 في: سبتمبر 08, 2003, 08:27:57 مساءاً »
السلام عليكم
مع أجمل تحية ... هذا برنامج يستخدم بكثرة في المدارس السعودية ويختص بتوزيع الحصص على المعلمين .
البرنامج في نسخته السابعة فيه الكثير من الفوائد :
يمكن ادخال اسماء المعلمين أو المعلمات - يمكن ادخال المواد المراد تدريسها - يستطيع ان يحجز الحصص -  يخرج جدول عام للمدرسة - يخرج جداول خاصة لكل معلم - وهناك الكثير والكثير
حجم البرنامج أكثر من 17 ميغابايت بقليل

بسم الله ثم استخدم الزر الأيمن بعدها حفظ الهدف باسم (الجداول المدرسية)

تحياتي


كفى بك داء أن تـرى الموتَ شـافيـاً                و حسبُ المنـايا أن يكنّ أمانيـــا

سبتمبر 10, 2003, 09:43:00 صباحاً
رد #8

عسكر

  • عضو متقدم

  • ****

  • 714
    مشاركة

    • مشاهدة الملف الشخصي
الحل الأمثل
« رد #8 في: سبتمبر 10, 2003, 09:43:00 صباحاً »
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
مشكور أخي الخالد بدأنا في تحميله على مراحل
ونتمنى أن يكون المطلوب وسنستعجل السؤال والاستفسار
هل يوزع حصص مدرسي المرحلة الثانوية
هل هو برنامج معارف ( سمعت أن برنامج معارف لا يقوم بعمل الجدول المدرسي بل خاص بشؤون الطلاب  وشؤون المعلمين,والعهد,والارشاد ..
هل هو مجاني أم يحتاج كراك
ولك منا أعطر التحيات وأجملها

التحية للجميع
[إذا مات ابن أدم انقطع عمله إلا من ثلاث صدقة جاريه أوعلم ينتفع به أو ولد صالح يدعو له ]

ادعوا لأخيكم عسكر بالعفو والرحمة والمغفرة و الشفاء وحسن الخاتمة


سبتمبر 10, 2003, 12:40:00 مساءاً
رد #9

الخالد

  • عضو خبير

  • *****

  • 2286
    مشاركة

  • مشرف الرياضيات

    • مشاهدة الملف الشخصي
    • http://
الحل الأمثل
« رد #9 في: سبتمبر 10, 2003, 12:40:00 مساءاً »
السلام عليكم ورحمة الله وبركاته
الأخ العزيز عسكر

هذا البرنامج يختلف عن برنامج معارف.. برنامج معارف هو برنامج إداري يهتم بالكثير من أمور المدرسة ولكنه لا يقوم بتوزع الحصص على المعلمين، وبالمناسبة .. برنامج معارف هو البرنامج المقرر على جميع مدارس المملكة العربية السعودية.
أما برنامج الجداول فهو برنامج يقوم بتوزيع الحصص على المعلمين من خلال مدخلات عبارة عن اسماء المواد والمعلمين وبيانات المدرسة المختلفة .. كما ( إضافة لما سبق ) بامكانه توزيع لجان الاختبارات آخر العام ... يعني البرنامج ثروة لا تقدر بثمن.
البرنامج من انتاج شركة العرف وسعره ( ربمى) اكثر من 500 ريال سعودي
الكراك مرفق مع البرنامج ... والله المستعان

تحياتي لك


كفى بك داء أن تـرى الموتَ شـافيـاً                و حسبُ المنـايا أن يكنّ أمانيـــا

سبتمبر 10, 2003, 12:46:33 مساءاً
رد #10

الخالد

  • عضو خبير

  • *****

  • 2286
    مشاركة

  • مشرف الرياضيات

    • مشاهدة الملف الشخصي
    • http://
الحل الأمثل
« رد #10 في: سبتمبر 10, 2003, 12:46:33 مساءاً »
عفوا ... نسيت شيء
البرنامج ينفع لجميع المراحل الدراسية ..
حسب تعاملي معه ( في اصدارات سابقة ) يعد برنامج سهل
وأي سؤال ... انا جاهز.

بالتوفيق للجميع


كفى بك داء أن تـرى الموتَ شـافيـاً                و حسبُ المنـايا أن يكنّ أمانيـــا

سبتمبر 14, 2003, 10:06:12 مساءاً
رد #11

عسكر

  • عضو متقدم

  • ****

  • 714
    مشاركة

    • مشاهدة الملف الشخصي
الحل الأمثل
« رد #11 في: سبتمبر 14, 2003, 10:06:12 مساءاً »
بســـم اللـه الرحمــن الرحيــم
السلام عليكم ورحمة الله وبركاته
الأخ العزيز والغالي خالد والله هذا البرنامج ثروة كما تفضلت ألف شكر

ولايعرف فوائده واختصار الزمن وزياغ البصر إلا من مارس وضع الجداول  بشكل يدوي  أثابك الله عليه أحسن الثواب

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

ما المقصود بمدرسي الانتظار

ما هي الغاية من الفسحة الأولى ( الفسحة الأولى بعد الحصة الثانية أو الثالثه أو الرابعه ما الغايه )

ما المقصود فصل الريادة

ما المقصود نصاب الانتظار

توزيع  الانتظار اليومي   و  وجدول الاختبارات  ؟ ؟ ؟

عند كتابة المراحل يتم الترقيم 1  - 2- 3 -4 - 5 . . .

هل يمكن الترقيم 10  - 2 ثا ع - 2 ثا أ - 3 ثا ع - 3 ثا أ وذلك عند طباعة الجدول

هل يمكن زيادة عدد الحصص اليوميه أكثر من تسعه ( في حال المدرسة دوامين  لمرحلتين )

وعلى جميع الأوجه فهو  مفيد جدا جدا في وضع الجداول المدرسية بيسر وسهولة فهو يوفر الجهد والزمن
 
التحية للجميع
[إذا مات ابن أدم انقطع عمله إلا من ثلاث صدقة جاريه أوعلم ينتفع به أو ولد صالح يدعو له ]

ادعوا لأخيكم عسكر بالعفو والرحمة والمغفرة و الشفاء وحسن الخاتمة


سبتمبر 14, 2003, 11:12:59 مساءاً
رد #12

الخالد

  • عضو خبير

  • *****

  • 2286
    مشاركة

  • مشرف الرياضيات

    • مشاهدة الملف الشخصي
    • http://
الحل الأمثل
« رد #12 في: سبتمبر 14, 2003, 11:12:59 مساءاً »
السلام عليكم ورحمة الله وبركاته
بارك الله فيك أخي الغالي عسكر

مدرسي الانتظار هم المعلمون المكلفون بسداد حصص المعلمين المتغيبيين عن حصصهم.

بخصوص الفسحة .. المقصود وقتها ، يعني .. عادة وفي مدارس السعودية تكون هناك فسحتين . ولكن يختلف موعد كل فسحة ( حسب المرحلة ) ، ففي المرحلة الابتدائية تكون الفسحة الأولى بعد الحصة الثانية ، أما المراحل الأخرى تكون الفسحة بعد الحصة الثالثة ... وهكذا.

فصل الريادة هو الفصل الذي يكون تحت إشراف معلم محدد يقوم بمتابعته والاهتمام التربوي بطلابه.

نصاب الانتظار .. في السعودية يكون أقصى نصاب للمعلم 24 حصة ، وبالطبع النصاب يختلف من معلم لآخر بحسب تخصصه أو أعماله الاضافية أو بحسب ظروفه وظروف المدرسة.لذلك تتم زيادة حصص الانتظار للمعلمين الأقل نصاب .. بمعنى آخر ، قد يكون معلم نصابه 12 حصة في هذه الحالة يوضع في جدول الانتظار 10 مرات وفي أيام مختلفة بحيث تكون حصص انتظاره غير متعارضه مع حصصه الأساسية
اما جدول الاختبارات .. فالمقصود به وضع جدول للاختبار النهائي أو الاختبار النصفي ( في المدارس السعودية يوجد نوعين من الاختبارات : اختبار نصف الفصل واختبار نهاية الفصل ، والسنة الدراسية تنقسم لفصلين )

بخصوص ترقيم المراحل ... في الحقيقة لم أجرب ما تفضلت به ، ولكني سأراجع الموضوع عمليا وأرى إن كان بالامكان التغيير.

ايضا لا أعرف إن كان هناك امكانية لزيادة عدد الحصص إلى 9 تسع حصص لعدم وجود هذا النظام في السعودية .. وإن كنت أتوقع امكانية ذلك ( المسألة محتاجة مراجعة )

تحياتي لك


كفى بك داء أن تـرى الموتَ شـافيـاً                و حسبُ المنـايا أن يكنّ أمانيـــا

سبتمبر 16, 2003, 07:56:47 مساءاً
رد #13

عسكر

  • عضو متقدم

  • ****

  • 714
    مشاركة

    • مشاهدة الملف الشخصي
الحل الأمثل
« رد #13 في: سبتمبر 16, 2003, 07:56:47 مساءاً »
بســـم اللـه الرحمــن الرحيــم
السلام عليكم ورحمة الله وبركاته
نشكر الاستاذ خالد على البرنامج الرائع
وهذا موضوع يجيب على معظم التساؤلات حول الجداول المدرسيه  لمن يرغب

على بركة الله

التحية للجميع
[إذا مات ابن أدم انقطع عمله إلا من ثلاث صدقة جاريه أوعلم ينتفع به أو ولد صالح يدعو له ]

ادعوا لأخيكم عسكر بالعفو والرحمة والمغفرة و الشفاء وحسن الخاتمة


أغسطس 28, 2005, 12:57:13 مساءاً
رد #14

مـحمـد

  • عضو مشارك

  • ***

  • 270
    مشاركة

    • مشاهدة الملف الشخصي
الحل الأمثل
« رد #14 في: أغسطس 28, 2005, 12:57:13 مساءاً »
بسم الله الرحمن الرحيم
السلام عليكم بعد غياب طويل أحببت أن ألقي التحية و لكن بطريقتي الخاصة ...
سأعرض مسألة أرجو أن تعجبكم

ولكن قبل ذلك إليكم بعض الملاحظات

إن الطريقة السابقة في الحل (عرض جميع الاحتمالات ) لاتستخدم إلا عند العجز عن إيجاد غيرها

فبعض المسائل تبدو في البداية أنه يجب مسح جميع الحالات لحلها

لكن يمكن حاها ببساطة و بسرعة دون اللجوء للطريقة المعقدة السابقة

المسألة:

لدينا صف من حظائر الأبقار على امتداد واحد قد يصل إلى 200

تحتوي بعضها على أبقار و بعضها الآخر فارغ و لكن للأسف إن كل الحظائر لاتحوي على أبواب

ولكن بمقدورنا أن نضع ألواح أمام الحظائر (اللوح قد يغلق أكثر من حظيرة بوقت واحد )

الألواح مؤمنة و لكن منعا لإهدار الخشب في صناعة الألواح  نريد معرفة عند استخدام عدد من الألواح لايتجاوز(مثلا 5)

كم العدد الأصغر من الحظائر الذي يمكن إغلاقه بواسطة الألواح (بحيث أن تكون الحظائر التي فيها الأبقار مغلقة)

أي مثلا
4 :عدد الألواح  

50 :عدد الحظائر المتتالية(بجانب بعضها في صف واحد)

 18: عدد الحظائر التي فيها أبقار

فيما يلي أرقام الحظائر التي تحوي على أبقار

3,4,6,8,14,15,16,17,21,25,26,27,30,31,40,41,42,43

المطلوب كتابة برنامج يقوم بـ: إغلاق الحظائر السابقة المليئة مع أصغر عدد ممكن من الحظائر الفارغة

ولكن هنا لانريد كنتيجة للبرنامج سوى العدد الأصغري للحظائر المغلقة(على السواء مليئة و فارغة)

سأنتظر فترة من الوقت قبل أن أضع الحل أترك فيها لغيري فرصة الإدلاء بدلوه(ليس بالضرورة كود برمجي

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

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

بالمناسبة حل المسألة السابقة العددي (مخرجات البرنامج):25

وللزيادة فقط أماكن الألواح الأربع هي (من-إلى):3-8,  14-21,  25-31, 40-43

لاحظ في بعض الأحيان قد لانحتاج للألواح الأربع

أتمنى للجميع التوفيق و على بركة الله

التحية للجميع
لمن يرغب  جدول لمدرسته بالمجان
http://syr-math.com/showthread.php?p=7248#post7248