رد جديد  مشاركة جديدة 
الدوال --1--#Methods in c - دروس سى شارب C# - دروس السى شارب C# (الدوال --1--#Methods in c دروس سى شارب C#)
الكاتب الرسالة
صور سيارات رووووووعه
الحريف
عضو مسجل خطر


المشاركات : 267
مجموعة : مسجل خطر
الإنتساب : Sep 2007
الحالة : غير متصل
السمعة : 0
الرد : #1
الدوال --1--#Methods in c - دروس سى شارب C# - دروس السى شارب C#

الدوال --1--#Methods in c - دروس سى شارب C# - دروس السى شارب C#
الدوال --1--#Methods in c

<!-------------------><!--مقطع البدايه----->

<!--------------------><!--الخبر الرئيسي----->

كما هو معروف في أي لغة برمجة إذا واجهتنا أي مشكلة كبيرة فإن أفضل طريقة لحلها هي تقسيمها لمجموعة من الأجزاء الصغيرة أو ما يعرف بال module
أو
function
"الدّوال "

بحيث كل منها تؤدي وظيفة معينة ...ويعرف هذا التكنيك عادة بـما يسمى بـ divide and conquer ...


وهذه الـ
module
أو الـ
function
الدوال تعرف في ال #
C
بما يسمى بـ
Method
و
Classes
, والمبرمج يستطيع كتابة الـ
Method
لتعريف مهام معينة ومن ثم يستدعيها (
calling )
من أي نقطة من البرنامج بمجرد ذكر اسمها لكي يتم تنفيذها عند تلك النقطة ...


لذا فإن

الدوال
"Methods"
في ال #
C
هي محور حديثنا في هذا الدرس :


فالمبرمج إما أن يقوم بكتابة الـ
method


بنفسه عندها تسمى (user-defined
method
),

أو أن يقوم باستخدام دوال معرفة في نفس اللغة(
build in
)

و كل ما عليه هو استدعاءها عندما يحتاج إليها ليستخدمها في برنامجه ...و سنتعرف في درس اليوم إنشاء الله كيف يمكننا إنشاء هذه ال user-defined
method
ومن ثم استدعائها في البرنامج..


و سأستكمل الحديث باعتبار أن القارئ الكريم لديه خبرة ولو قليلة للتعامل مع
#C
...لنلق الآن نظرة على الصورة العامة لكتابة أي
method
في
#C
:

access_ Modifier


return-value-type
M
ethod-
N

ame( parameter-list )
{


declarations and statements


}


السطر الأول من تعريف الـ
method
يسمى بال
method header
ويحتوي على كل من :

access modifier :
.


method-name
: اسم الدالة التي نريد تعريفها , وقواعد كتابة الاسم هنا يتبع نفس شروط كتابة أسماء المتغيرات وطبعا سيكون الاسم اختياري .


return-value-type : نوع النتيجة التي ستعود بها الدالة والدالة إذا كانت تعود بقيمة فإنها لا تعود بأكثر من قيمة واحدة ,,, مثلا إذا كانت الدالة تعود بقيمة
integer
فإننا سنكتب في هذه الخانة
int ,
وهكذا. أما في حالة عندما لا تعود الدالة بقيمة فإننا نكتب هنا
void
.


parameter-list
:
هي القيم التي نقوم بإرسالها للدالة ,,,,,,,,,,وستتعرف عليها أكثر عندما نشرح أنواع الدوال .


أما بالنسبة للـ

declarations and statements :
فهي الأوامر التي تقوم هذه الدالة بتنفيذها .







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


1-الدالة التي لا تعود بقيمة ولا تستقبل أي "
parameter
"
:

أي لا تستقبل أي قيمة......

و المعنى سيتضح من خلال المثال :





وهنا الـ
access Modifier
هي
static

...


وبما أن الدالة لا تعود بقيمة فسنكتب
void
عند الـ

return-value-type

...

وبما أن الدالة لا تستقبل أي قيمة فسنكتب القوسين فارغة ...!


وهنا الدالة تؤدي وظيفة سهلة للغاية مجرد أنها تطبع الرسالة " !! FirstMethod was called

" فور مناداتها ..إذن لابد من مناداة الدالة "
calling
" حتى تطبع الرسالة .. لكن كيف يتم استدعاء أي دالة ؟؟

بمجرد ذكر اسم الدالة فقط فإنه سيتم تنفيذها ....كالتالي:



والبرنامج كاملا :













لاحظ في البرنامج أننا قمنا في السطر 6 بإنشاء الدالة FirstMethod واستدعائها في السطر 14 من داخل الـ
Main
حيث أن نقطة بداية البرنامج هي من بعد ال
Main
مباشرة
....

/*


ضع في اعتبارك أنه لا معنى من إنشاء دالة دون استدعائها
*/
...







2- الدالة التي تستقبل قيمة "
parameter
"

ولكنها لا تعود بقيمة :

والمثال التالي يوضح الفكرة في البداية لننشئ الدالة كالتالي :






الدالة هنا تستقبل قيمة
parameter
إذن سنكتب بين القوسين اسم أي متغير يستقبل هذه القيمة التي ستدخل للدالة وطبعا سنكتب نوع لهذا المتغير ونوعه بلا شك سيكون من نفس نوع القيمة المراد تمريرها للدالة والتي سيحتفظ بها المتغير. وكما هو واضح فإن الدالة تستقبل القيمة المخزنة في
x
ثم تحسب نتيجة ضربها مع العدد 10 وتخزن النتيجة مرة أخرى في
x
ومن ثم تطبع النتيجة ..


فقط تبقّى مناداة الدالة حتى تنفذ عملها لكن يبدو أننا هنا لا بد و أن نرسل قيمة لهذه الدالة لكي تقوم بعملها وطبعا القيمة التي سنرسلها ستكون من النوع
integer ....




بمجرد بدء البرنامج في التنفيذ "كما ذكرت نقطة البداية هي من عند الـ
Main
" فإنه بمجرد ما يواجه المترجم الـ"
compiler
"

الجملة
;(5)

SecondMethod
فإنه يبحث عن الدالة التي تحمل هذا الاسم ويمرر لها القيمة الموجودة بين القوسين وهي 5 ,,,,يدخل العدد 5 إلى الدالة ليحل محل المتغير
x ,
ويتم إجراء العملية الحسابية ويتم طباعة النتيجة على الشاشة ..


و بما أن الدوال يمكن مناداتها أكثر من مرة داخل البرنامج ,,,إذن جرب أن تكتب جملة الاستدعاء التالية :




فهنا قمنا بمناداة نفس الدالة
SecondMethod


ولكن مع قيمة أخرى 6 ستتكرر نفس العملية السابقة ولكن مع تغير ال
parameter
وبالتالي ستتغير النتيجة :

البرنامج كاملا :












وستكون المخرجات كالتالي :



بحيث أن السطر الأول في المخرجات هو نتيجة مناداة الدالة المرة الأولى في السطر 15, والسطر الثاني نتيجة مناداتها المرة الثانية في السطر 16.







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






الدوال --1--#Methods in c - دروس سى شارب C# - دروس السى شارب C#

09-14-2007 10:39 PM
أرسل بريد للمستخدم إعرض جميع مشاركات العضو إقتبس الرسالة فى رد

عالم السيارات العاب سيارات

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


المشاركات : 267
مجموعة : مسجل خطر
الإنتساب : Sep 2007
الحالة : غير متصل
السمعة : 0
الرد : #2
RE: الدوال --1--#Methods in c - دروس سى شارب C# - دروس السى شارب C#

منقوووول

09-14-2007 10:40 PM
أرسل بريد للمستخدم إعرض جميع مشاركات العضو إقتبس الرسالة فى رد
رد جديد  مشاركة جديدة 
الدوال --1--#Methods in c - دروس سى شارب C# - دروس السى شارب C#

إحتمالات التقييم ...
المشاركة : الكاتب الردود : المشاهدات : آخر رد
  الرجااااااااء المساعدة وبسرعة musabxbs 1 320 03-06-2008 11:27 PM
آخر رد: عاشقة السعاده
  Regular Expression --2 - دروس سى شارب C# - دروس السى شارب C# الحريف 1 676 09-14-2007 10:52 PM
آخر رد: الحريف
  Regular Expression --1 - دروس سى شارب C# - دروس السى شارب C# الحريف 1 701 09-14-2007 10:49 PM
آخر رد: الحريف
  مدخل إلى البرمجة غرضيّة التوجّه في السي شارب - دروس سى شارب C# - دروس السى شارب C# الحريف 1 745 09-14-2007 10:47 PM
آخر رد: الحريف
  ربط الفلاش بال #C - دروس سى شارب C# - دروس السى شارب C# الحريف 1 621 09-14-2007 10:45 PM
آخر رد: الحريف
  الدوال --2--#Methods in c - دروس سى شارب C# - دروس السى شارب C# الحريف 1 483 09-14-2007 10:43 PM
آخر رد: الحريف
  السيطرة على الأخطاء Exception Handling - دروس سى شارب C# - دروس السى شارب C# الحريف 1 344 09-14-2007 10:37 PM
آخر رد: الحريف
  المؤشرات في سي شارب - دروس سى شارب C# - دروس السى شارب C# الحريف 1 716 09-14-2007 10:35 PM
آخر رد: الحريف
  التحويل العلني - Explicit Conversion - دروس سى شارب C# - دروس السى شارب C# الحريف 1 465 09-14-2007 10:33 PM
آخر رد: الحريف
  تحويل الأنواع - التحويل الضمني - دروس سى شارب C# - دروس السى شارب C# الحريف 0 423 09-14-2007 10:28 PM
آخر رد: الحريف
  المتغيرات - Variables - دروس سى شارب C# - دروس السى شارب C# الحريف 2 598 09-14-2007 10:27 PM
آخر رد: الحريف
  أنواع البيانات – Data Types - دروس سى شارب C# - دروس السى شارب C# الحريف 1 392 09-14-2007 10:24 PM
آخر رد: الحريف
  البرنامج الأول في C# - دروس سى شارب C# - دروس السى شارب C# الحريف 1 419 09-14-2007 10:23 PM
آخر رد: الحريف
  البرنامج الأول في C# - دروس سى شارب C# - دروس السى شارب C# الحريف 0 550 09-14-2007 10:22 PM
آخر رد: الحريف
  نقاط مهمة في C# - دروس سى شارب C# - دروس السى شارب C# الحريف 0 871 09-14-2007 10:20 PM
آخر رد: الحريف

مشاهدة نسخة للطباعة
إرسال المشاركة لصديق
إشترك بالمشاركة | إضافة المشاركة للمفضلة

الذهاب إلى :

 Quick Theme: