الدوال Functions

Functions

عبارة عن مجموعة من الأوامر أو الاكواد تحت اسم معين ومهمة محددة – يتم استدعائها بذلك الاسم، ويتم تطبيقها علي مدخلات parameters، ويمكن أن تعود بقيمة يتم الاعتماد عليها.

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

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

كتابة الدالة :

  1. اسم الدالة :تعبر عن الوظيفة.
  2. المدخلات أو parameters.
  3. الكود أو الأوامر التي ستنفذ عند استدعاء الدالة.
  4. المخرجات أو القيمة التي ترجع من الدالة.

بناء جملة الدالة(Function)

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

الكود   Block of statements

بناء جملة استدعاء الدالة(Call Function)

 (  المدخلات أو   parameters المراد إرسالها الي الدالة  ) <اسم الدالة>

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

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

ملحوظة 3: يتم استخدام parameters  عندما تريد  استدعاء الدالة أكثر من مرة مع تغيير المدخلات الموجودة داخل الدالة.

مثال توضيحي :

()Hello

func hello

see “Hello from function” + nl

1.jpg

ملحوظة: لارسال قيم ال parameters للدالة عند الاستدعاء يكون داخل الاقواس( ) مباشرة بعد اسم الدالة.

في المثال التالي تم تحديد مدخلات للدالة 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