أنت غير مسجل في منتديات كشكول . للتسجيل الرجاء إضغط هنـا

مرحبا ً بك على ساحة منتديات كشكول ... تستطيع التسجيل ومشاركتنا بالضغط هنا

 
الإهداءات
دلوعه بكيفى : السلاام عليكووم كيفكووم كل عاام وانتم بخير ومباارك عليكوم الشهر ام النورين : مبروك على الاستايل الروووووووووووعه كل عام وانتم بخير هايمة بروحها : بصراحة الاستايل مررررة جنان يسلموو رومانتيك ع الذوق مررة كيوت مذهــلــه : قـرّب شهـر الخيـر كل عام والجميع بألف خير ان شاء الله مبارك عليكم الشهـر قبل الزحمـة وينعاد عليكم بالخير ان شاء الله حبايبي دمعة غلآ : صبااح الـورد : الاستاايلـ مررررررهـ روووع ــه ع ـــاشتـ الاياادي كابتشينو : اهلين اشتقت لكم ومبروك الستايل الجديد صراحه مره نااايس شموخي زلزلهم : مرحبا أعضاء منتدى كشكول الغالين والله وحشتووووني واشتقت لكم حيــــل أبشركم انا رجعت من السفر ،،، بس مره ولهااانه عليكم فانتازيا : سامي انا لك بالمرصاد راح تشوف الرد القاتل عندي ملفات كتيره ضدكم اليوم افضحكم واحد واحد سامي : الوعد اليوم فانتازيا فانتازيا : بنات لحقوااااااااااااااااااااااااااااااااااا فيه حرب ضدنا بدنا نكون يد وحده ههههههههههههههههههه Romantic : حبايبي الأعضاء بقي يومين على مسابقة كشكول الصيفية اتمنى من اراد المشاركة ان يتقدم قبل بداية رمضان وشاكر للجميع تفاعلكم هايمة بروحها : السلام عليكم كل عام وانتة بخير يا احلى اعضاء بس بغيت اقولكم اعذروني لاني ماني مهتمة بقسمي لاني مشغولة شوي اسفة بس ان شا الله اعوضكم في المرة الجاية Romantic : صباحكم سكـر حبيت اهنيكم بقدوم شهر رمضان المبارك وترقبو كشكول بمظهره الجديد فانتازيا : مساااااااااااااء الخير و الفل و الياسمين على احلى ناس بالمنطقه كلهاااااااااااااااااا احبكم مووووووووووووووووت ام النورين دمتي لنا متميزه sg of life احبك ياقمرررررررررررررررررررررررر الشــ عطري ــوق : اهلين حبايبي اليوم اخر يوم لتسليم الاجابات بليز اللي ما ارسلت ترسل ولا بيتم تجاهلها ملكة جمال منتدى كشكول فانتازيا : مبروووووووووووووووووووووووك ام النوريـــــــــــن التميز تستاهلين قلبي مش جديد عليكي فانتازيا : صباح الفلافل على كل الموجودين بسام انت اللي جبتها لنفسك Romantic : م ــنووووور حبيبنا آبو طلال واشتقنآ لــك كآتم العبرات : سلامون عليكم كيفكم جميعاً فديتكم وربي لكم وحشه مدري من وين ولا شلون جايه ! الموهيم انكم من جد واحشيني واعتذر عن غيابي الفتره اللي طافت لان كان عندي ترم صيفي واختبارات وانا يقال لكم مجتهد ودافور هع أبو طلال : السلام عليكم آسف على الإنقطاع الذي طال وأعدكم بالجديد بإذن الله فانتازيا : هلاااااااااااااااااااااااا و غلاااااااااااااااااااااااا انتقامووووووووووووووووووووووووو نورت الحته يالغلااااااااااااااااااااااااااا ام النورين : اهلا انتقامو & صدى الحرماااااااااان & بسااااااااااااام Song Of Life : صبااح الفـــل لاحلى مــــ ديور ـــس مـــــــ ديـــور ــــــــس : صبــــــــــااااح الخيــــــــــــر لاحلي اعضـــــــــاااء فانتازيا : هلاااااااااااااااااااا صدى الحرمان نورت يالغلااااااااااااااااااااااااااااااااااااااااااااااااا البدر : ويلكمـ باااااك اووختي جوهرة الكون جوهرة الكون : بــــــــــــاك رجعت لعيونكم فانتازيا : مساااااااااااااااااااء النرجس و الفل و الياسمين Song Of Life : مساااء الياااسمين ام النورين : مساء الخير Song Of Life : صبااح الفل فانتازيا : صباح الخـــــــــــــــــــــــير -{ كبُريًآء آنثىّ .. !! : الله يبـآآآركـ فيك غلآآآي وعقبـآآآآلك إن شاء الله مـــــــ ديـــور ــــــــس : مبروك حياتو كيرياء انثي وعقبال المليونين مــــــ ديــــــــــور ــــــــــس -{ كبُريًآء آنثىّ .. !! : الله يبـاآآركـ فيك ياقلبي وع ــقباآآآآلك إن شاء الله miss loody : مبرووكــ كبريــاء انثى 6000 مشاركة وعقبال ماتكملين 6000000 الشــ عطري ــوق : يسعد لي مساءكم يا جميلات كشكول حبيباتي حبيت اخبركم اني نزلت الاسئله



::توجيهات ادارة كشكول::

أعزائنا الأعضاء نرجو من الجميع ازالة صور النساء - ان وجدت - في الملفات الشخصية والتواقيع والالبومات حتى لايتعرض صاحبها للايقاف .. اعزائنا نعمل لذلك من اجل رقي المنتدى ومن اجلكم نحو مجتمع راقي يسمو بكم شاكرين لكم تعاونكم


متميزين كشكول لهذا اليوم
العضو المميز الموضوع المميز المشرف المميز المشرفة المميزه
غياب جوهرة الكون
بقلم : فانتازيا
آخر 9 مواضيع
خاص لرمضان{رسائل وسائط + صور... خــطورهـ حبــس البــكآآء..** جفاف العين Dry eyes
’’’عروس ابكت الحظور ليلة... كبكات للشباب روعة عَرَفْتْ الْحينْ وِشْ...
الى جميع المراقبين والمشاركين... نصائح هامه لكل عريس مسجات حوه

موضوع جديد
 
العودة   منتديات كشكول >

..~][ المنتديات التقنية][~..

> الإنترنت والمواقع
التّسجيل المنتديات موضوع جديد الأسئلة الشائعة التقويم البحث مواضيع اليوم جعل جميع المنتديات مقروءة
 

الإنترنت والمواقع كل ما يتعلق بمواقع الإنترنت وخدمات التطوير لأصحاب المواقع من واجهات وبرمجيات وأكواد الجافا وسكربتات وبرمجيات - php - واستايلات وهاكات وبرودكت وإضافات ونسخ برنامج المنتديات vBulletin ..



أضف مشاركة
 
LinkBack خيارات الموضوع
 
قديم 10-03-06, 11:50 PM   #1
 
الصورة الرمزية لـ Romantic
تعلم سي بلس بلس ::الدرس الرابع::

تعلم سي بلس بلس

الدرس الرابع



الدوال


مساء الخير

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

· تقسيم البرنامج الى اجزاء صغيرة تستدعى وقت اللزوم

· عدم ازدحام الدالة الرئيسية للبرنامج بأوامر كثيرة

· تقسيم البرنامج الى اجزاء يمكن اختبارها منفصلة لسرعة تحديد الخلل بالبرنامج

· توفير المجهود والوقت والتفكير بعمل مكتبة خاصة بك تعيد استخدام الدوال التي استخدمتها في برنامج وذلك في برنامج آخر عند اللزوم

· تقسيم العمل بين المبرمجين عن العمل في مشروع جماعي لانتاج برنامج كبير

· تبادل الخبرات بين مطوري البرامج بنشر اجزاء يستخدمها الآخرون في برامجهم

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



#include <iostream.h>

int main()

{

int x , y , z;

for(x=1;x<13;x++)

{

for(y=1;y<13;y++)

{

z = x * y;

cout<<x<<”*”<<y<<”=”<<z<<endl;

}

}



return 0;



}

لوكنت قد تذكرت الآن فان البرنامج كان يقوم بعمل جدول الضرب من جدول واحد الى جدول 12 واحتوى كامل التعليمات داخل الدالة الرئيسية دعنا نستخدم الدوال ولنسمي هذه الدالة DoiT



#include <iostream.h>

void DoiT (void);



int main()

{

DoiT ();

}



// This is the new function

void DoiT (void)

{

int x , y , z;

for(x=1;x<13;x++)

{

for(y=1;y<13;y++)

{

z = x * y;

cout<<x<<”*”<<y<<”=”<<z<<endl;

}

}



return ;



}





void DoiT (void);



وفيه نخبر الكومبايلر بشكل وما ستكون عليه الدالة كما يلي



الصيغة
التفسير

void
ماهي القيمة التي سوف تعيدها الدالة للدالة التي استدعيت منها وذلك بالامر return هنا استخدمنا void بمعنى لاشئ وبالتالي علينا استبدال return 0 التي استخدمناها في الدرس الثالث الى الامر return فقط حيث اننا اعلنا ان الدالة غير مطلوب منها اعادة شئ

DoiT
اسم تختاره لدالتك بحيث يكون معبرا قليلا عما ستفعل انا هنا لم اختر اسم معبر

(
قوس لاحتواء البارامترات التي ستمرر للدالة

void
البارامترات التي ستمرر للدالة وهنا اخترنا void بمعنى لن نمرر لها شئ

);
قوس اغلاق لمجموعة البارامترات يليها فاصلة منقوطة






والآن الى باقي سطور البرنامج لاستكمال الشرح

int main()

{

DoiT ();

}

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



DoiT();



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

void DoiT (void)

{

ضع اوامر الدالة هنا



}

ثم قوس بداية بلوك الدالة ثم مابداخلها من اوامر وقوس النهاية ودعنا ننتهز فرصة الدوال لاعطاءمزيد من التحسينات على البرنامج حيث ان البرنامج ينتج فقط جدول الضرب من جدول 1 الى جدول 12 فلماذا لانجعلها دالة عامة تنتج مايحلو لنا من جداول ضرب من المؤكد انك تتفق معي في ذلك وبذلك نستفيد من قوة الدوال وتصبح دالة عامة غير موجهه لمهمة ثابته فنحن نريد ان نحدد نحن بداية الجداول ونهايتها فتارة تطبع من جدول 7 الى جدول 20 وتارة تطبع من جدول 17 الى 40 وهكذا اليس هذا افضل سوف نمرر للدالة قيمة البداية وقيمة النهاية مع اجراء التعديلات اللازمة لذلك.



#include <iostream.h>

void DoiT (int Start , int End);



int main()

{

int Start , End;

cout<<"Please input start value ?: ";

cin>>Start;

cout<<"Please input end value ?: ";

cin>>End;

DoiT (Start , End);

}



// This is the new function

void DoiT (int Start , int End)

{

int x , y , z;

for(x=Start;x<End+1;x++)

{

for(y=Start;y<End+1;y++)

{

z = x * y;

cout<<x<<”*”<<y<<”=”<<z<<endl;

}

}



return ;



}







void DoiT (int Start , int End);

ثم داخل الدالة الرئيسية اعلنا عن استخدام متغيرين جديدين من نوع الاعداد الصحيحة هما

int Start , End;



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



cout<<"Please input start value ?: ";

cin>>Start;



مثلهما تماما للمتغير الثاني ليعرف البرنامج قيمة النهاية والتي كانت ثابتة سابقا على القيمة 12 ونحن نريد برنامج اكثر مرونة ومطوع لكل الحالات



cout<<"Please input end value ?: ";

cin>>End;

بعد ان ادخلت قيمة البداية والنهاية فكما ذكرنا تم تعديل الدالة لتمرير متغيرين لها يتغيران مع كل ادخال والآن لننادي الدالة ممرين لها القيمتين الذين ادخلهما مستخدم البرنامج



DoiT (Start , End);



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

// This is the new function

void DoiT (int Start , int End)

{

ثم تلى ذلك وضع القيمة Start الممررة للدالة كبداية عداد للحلقتين بدلا من القيمة 1 وكذلك المتغير End الممرر الى الدالة كنهاية لعداد الحلقتين بدلا من القيمة 13 في مثال الدرس الماضي



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



#include <iostream.h>

void DoiT (int Start , int End);



int main()

{

int Start , End;

A1:

cout<<"Please input start value ?: ";

cin>>Start;

cout<<"Please input end value ?: ";

cin>>End;



if (Start >= End) goto A1;



DoiT (Start , End);

}





الى مثالنا الاخير وهو دالة تعيد قيمة ويممر اليها بيانات



#include <iostream.h>

float Mul (float A , float B);



int main()

{

float A , B , R;

cout<<"Please input A ?: ";

cin>>A;

cout<<"Please input end B ?: ";

cin>>B;





R = Mul (A , B);



cout<<R;



}



float Mul (float A , float B)

{

return A*B;

}

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


التوقيع:
R♥mantic

طبع الح ـياة حزن وفرح .. وطبع الورود ش ـوك وزهـور ..
Romantic غير متصل  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
الرد مع إقتباس
 
 
قديم 10-04-06, 07:44 PM   #2
.
 
الصورة الرمزية لـ بحيرة العطش

وااااااضح ما شاء الله تبارك الله..


بحيرة العطش غير متصل  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
الرد مع إقتباس
 
 
قديم 10-05-06, 05:57 PM   #3
 
الصورة الرمزية لـ Romantic
 
مزاجي:
الدولة : saudi arabia
معلوماتي ومن مواضيعي
رقم العضوية : 1
عدد المشاركات : 7,895
بمعدل : 10.29 يوميا
عدد المواضيع : 1013
عدد الردود : 6882