الدوال Functions

Functions

عبارة عن مجموعة من الأوامر أو الاكواد تحت اسم معين “مهمة محددة” ، ويتم تطبيقها علي مدخلات “parameters”، ويمكن أن تعود بقيمة، كما يمكن  استدعائها عن طريق تمرير”passing” قيم -أي “arguments” الي اسم الدالة  لاستخدامها العديد من المرات مع تغيير القيم.

ما الفرق بين ال “parameters” و “arguments”؟

  • ال “Parameters” عبارة عن متغيرات داخل الدالة كمدخلات لها.
  • ال “arguments” عبارة عن القيم التي يتم تعينها لمدخلات الدالة، تستخدم عند استدعاء الدالة “داخل أقواس الاستدعاء”.

الاستخدامات:

  • للتنظيم وفصل وظائف مختلفة عن بعضها عن طريق تخصيص اسم ووظيفة محددة لكل function.
  • لإزالة التكرار وتقليل السطور البرمجية عن طريق استدعاء اسم الدالة واستخدامها مرات عديدة.
  • لسهولة الاستخدام وسهولة تصحيح الأخطاء.

أجزاء الدالة :

  1. اسم الدالة :تعبر عن الوظيفة.
  2.  parameters.
  3. arguments.
  4.  القيمة التي ترجع من الدالة “Return”.

Syntax of Functions

[parameters] <اسم الدالة>func

  Block of statements

Syntax of calling Functions

    (function-name (arguments

ملحوظة 1: لا يوجد اسم لنهاية الدالة – ولكن قد يتم استخدام كلمة  Return للنهاية وهي اختيارية.

ملحوظة 2:من الممكن استدعاء الدالة قبل تعريف الدالة.

مثال توضيحي :

()Hello

func hello

see “Hello from function” + nl

1.jpg

ملحوظة: نرسل قيم ال “parameters” أي ال “arguments” للدالة عند الاستدعاء داخل أقواس الاستدعاء( ).

في المثال التالي تم تحديد مدخلات للدالة num1,num2 لارسال القيم الجديدة للدالة.

2.jpg

نطاق المتغيرات(Variables Scope)

المتغيرات داخل الدالة تعتبر محليه أو local  أي لا يتعرف عليها الا كل من هو داخل تعريف الدالة فقط – وعند استدعاء الدالة التي تحتوي علي المتغيرات المحلية في مكان اخر لابد من تعريف المتغيرات مرة ثانية في ذلك المكان – ولمنع التكرار يتم تعريف المتغيرات كعامة أو public  وعندئذ تكون معرفة لجميع الدوال المستخدمة داخل البرنامج.

ملحوظة 2: عند تعريف المتغيرات كعامه  public يكون ذلك قبل استدعاء وتعريف أي دالة .

مثال توضيحي :

3.jpg

Main Function

هي دالة معرفة داخل اللغة قد يتم استدعائها، أو  لا يتم استدعائها; حيث تنفذ الاكواد التي بداخلها تلقائياً بدون استدعاء، وبعد تنفيذها تتجاهل باقي الاكواد التي بعدها ولا يتم تنفيذهم، وقد يتم استدعائها لتنفيذ الاكواد التي بداخلها.

 ارجاع القيمة(Return)

 [Return [Expression

ملحوظة: في حالة عدم ذكر تعبير أو “Expression” بعد Return،  يتم تلقائيا ارجاع قيمة تساوي null  أي قيمة خالية ” ” وتستخدم لنهاية الدالة وهي اختيارية.

مثال توضيحي:

4.jpg

Recursion

أي استدعاء ذاتي لا نهائي; حيث تستدعي الدالة نفسها عدة مرات تلقائيا،كما لو أن هناك حلقة تكرارية، حتي الوصول الي الاساس أو Base.

مثال توضيحي :

5.jpg

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

والي اللقاء…

 

 

 

Advertisements

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s