عرض مشاركة واحدة
قديم 10-07-2010, 05:09 AM   #6
nermine
مشرفة منتدى الأعمال
الصورة الرمزية nermine

المعلومات





آحدث المواضيع


الاتصال

nermine غير متصل

nermine is on a distinguished road
افتراضي رد: بالتطبيق المباشر تعلم برمجة الإكسبرتات من البدايه حتى الإحتراف

بسم الله الرحمن الرحيم

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

لكن قبل أن نتكلم عن الدول سنتكلم أولا عن الحلقات والتي غالبا ما يتم إستخدامها في الدوال
تستخدم الحلقات لعمليات المقارنه التي تتكرر ما دامت شروط المقارنه صحيحه ثم تقوم بتنفيذ جسم الحاله ما دامت هذه الشروط صحيحه وبمجرد إنتهاء الحلقه تقوم بنقل العمل إلى الأمر التالي ويوجد نوعين من الحلقات :
الحلقه for
الحلقه while

أولا : الحلقه for

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

for(int i=5;i>0;i--)


{


PlaySound("Alert.wav");


}



في البدايه نقوم بكتابة الحلقه for ثم يتبعها قوسين نقوم بداخلها بكتابة شروط الحلقه وفي الحلقه السابقه قمنا أولا بتعريف المتغير i=5 ثم قمنا بمقارنه هل i أكبر من صفر إذا كانت الإجابه نعم فقم بطرح واحد من قيمة i ولا ننسى وضع الفاصله المنقوطه التي تفصل بين كل جزء والآخر ثم تقوم بتنفيذ جسم الحلقه وهو إعطاء تنبيه ثم تعود الحلقه مره أخرى لمقارنه الشروط بعد أن أصبحت i=4
هل i>0 إذا كانت الإجابه نعم سيطرح واحد من i ثم ينفذ جسم الحلقه وهو إصدار التنبيه
ثم يعود إلى المقارنه مرة أخرى حتى يصل إلى i=0 ثم يقارن هل i>0 فستكون الإجابه فولس بالتالي يتم إنهاء الحلقه وينتقل إلى الأمر التالي

ثانيا : الحلقه while

هذه الحلقه لا تختلف عن الحلقه for إلا أنها لا تحتوي على إبتداء للحلقه أو نقصان أو زياده بل تقوم مباشرة بعملية المقارنه كما في المثال التالي
كود PHP:

while(int i<20)


{


PlaySound("Alert.wav");


}



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

ملحوظات :
يمكن إستخدام أكثر من أمر في جسم الحلقه مثلا
كود PHP:

for(int i=5;i>0;i--)


{


PlaySound("Alert.wav");


Print("ArabicTrader");


}



يمكننا أيضا تعريف المتغير i خارج الحلقه مثلا
كود PHP:

int i;


while(i<20)


{


PlaySound("Alert.wav");


}



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

الدوال :

كما أخبرنا سابقا أن الدوال الأساسيه الموجوده في المؤشر أو الإكسبرت ثلاثة دوال هم
كود PHP:

init() start() deinit(



لنبدأ بمثال مباشر
كود PHP:

int orderscnt(){




return(0);


}



كما نلاحظ يتم تعريف الداله تماما كأننا نقوم متغير
فمثلا إذا أردنا أن تعود الداله بقيمة عدد صحيح فسوف نقوم بتعريفها على أنها int أو عدد صحيح
وإذا أردنا أن تعود الداله بقيمة عدد عشري سنقوم بتعريفها بإستخدام الأمر double
وإذا كانت ستعود بقيمة منطقيه ترو أو فولس سنقوم بتعريفها على أنها متغير من نوع bool
ثم بعد ذلك يتبع الداله قوسين ()
بعد ذلك نستخدم الأقواس { } ويوضع بداخلها الأوامر التي ستنفذها الداله عند إستدعائها
ثم تأتي في النهاية الداله return وهي تقوم بإنهاء هذه الداله وتعود بالقيمه التي أخذتها هذه الداله
طبعا في مثالنا السابق الداله سوف تعود بالقيمه 0

لنبدأ بدالة بسيطه تحسب قيمة حاصل جمع متغيرين
كود PHP:

int equal(){


int a=5; int b=12;



int c=a+b;



return(c);


}



في المثال السابق قمنا بتعريف المتغير a وأخذ القيمه 5 والمتغير b وأخذ القيمه 12
والمتغير c=a+b
ثم قمنا بإنهاء الداله وحفظ الناتج عن طريق الأمر كود PHP:

return(c);



الآن إذا أردت إستخدام هذه الداله بداخل الداله start وأردت على سبيل المثال أن أقوم بعمل مقارنه بسيط إذا كان ناتج الداله أقل من 20 فسوف يقوم بإصدار تنبيه صوتي

سنقوم بكتابة بداخل الداله start
كود PHP:

if( equal() < 20 ){PlaySound("Alert.wav");}



طبعا إذا راجعنا ناتج الداله equal فسوف يكون 12+5 بالتالي ستكون عملية المقارنه ترو وسوف يقوم بإصدار تنبيه

الآن ماذا إذا أردت أن أجعل الرقمين 12 و 5 كمتغيرين يتم تحديدهم كل مره عند إستدعاء الداله
في هذه الحاله سنقوم أولا بتعريف الداله بشكل آخر فبدلا من أن نقوم بتعريف المتغيرين a و b بداله الداله نفسها سنقوم بتعريفهم بداخل القوسين ( ) كما في المثال التالي

كود PHP:

int equal(int a , int b){



double c=a+b;



return(c);


}



والآن عندما نقوم بإستدعاء الداله بداخل الداله start
ستكون المقارنه كالآتي
كود PHP:

if(equal(12, 5)<20){PlaySound("Alert.wav");}



كما ترى قمنا بكتابة 12 و 5 بدلا من a و b التي قمنا بتعريفها بداخل القوسين ويمكن كتابة أي قيمة أخرى بدلا من 12 و 5 وهذا هو سبب تعريفنا لها كمتغيرات في الداله

تحياتي
نرمين من المغرب






رد مع اقتباس