المهارات الرقمية فصل أول

الحادي عشر خطة جديدة

icon

الدوال البرمجية
(Functions)

الدوالُّ البرمجية

 لغة البرمجة بايثون  Python   وفَّرت عليْنا هذا الجُهْد والعناء بتقديمها مقاطع برمجية جاهزة مُدقَّقة وخالية من الأخطاء، بحيث يُمكِننا استدعاؤها بكل سهولة عن طريق اسمها، واستخدامها في برامجنا من دون حاجة إلى كتابة الأوامر دائمًا.
 

الدوالُّ البرمجية الجاهزة
تُوفِّر لغة البرمجة بايثون   Python   عددًا كبيرًا من الدوالِّ البرمجية الجاهزة

 

الوحدات البرمجية Modules
 في لغة البرمجة بايثون   Python     وحدات modules تحتوي   دوالَّ برمجية تشترك معًا في الغرض والاستخدام.
فمثاً، تحتوي وحدة ( time ) على دوالَّ لها علاقة بالوقت والتاريخ، وتحتوي وحدة (math ) على
دوالَّ لها علاقة بالعمليات الرياضية، وهكذا.

 

يُبيِّن الجدول ( 6- 1) مجموعة من الوحدات في لغة البرمجة بايثون   Python  وأمثلة على الدوالِّ
البرمجية التي تنتمي إلى هذه الوحدات.

 

هناك دوالِّ تستقبل مدخلات، و بعضها الآخر لا يستقبل أيَّ مدخلات.

فمثلًًا، الدالَّة(…) sqrt    تستقبل رقمًا واحدًا،

الدالَّة (…) pow تستقبل رقمين اثنين

الدالَّة (…) median تستقبل قائمة،

الدالَّة (  )random لا تستقبل أيَّ مدخل.

أيضا هناك دوالِّ تعمل على إرجاع النتائج با فمثلًًا، تطبع الدالَّة (…) print على الشاشة، ولا تُرجِع أيَّ شيء ما يُفسِّر سبب استدعائهامن دون تخزين نتيجتها

أمّا الدالَّة (…) input فتعمل على إرجاع ما أدخله المُستخدِم.

و الطريقة المُستخدَمة في استدعاء كلٍّ من هاتين الدالَّتين مختلفة:
 

 الفرق بين الدالَّة(…) sorted والدالَّة ()sort 

 تعمل الأولى على إرجاع إحدى القوائم المُرتَّبة، في حين تعمل الثانية على ترتيب القائمة نفسها، ولا تُرجِع أيَّ نتيجة، أنظر الجدول(2-6)

استيراد الوحدات ( Import)
الوحدة هي ملف يحوي مجمعة من الدوال ويمكن استيرادها  باستخدام كلمة( import ) كما في المثال الآتي:

import math
print(math.sqrt(2))

 خطوات استيراد وحدة : 

1 - وضع جملة الاستيراد في رأس البرنامج حتّى  يبين أيُّ الوحدات يراد استخدامها 

2 - وبعد استيراد الوحدة، يُمكِن استدعاء الدوالِّ الخاصة بها بنفس الطريقة التي ورد ذكرها سابقا
 مثال

from math import sqrt
print(sqrt(2))

 في هذه الجملة لا تستورد الوحدة، وإنَّما تستورد فقط الدالَّة

تعريف دوالَّ برمجية جديدة
قد يحتاج المُستخدِم إلى تعريف دوالَّ برمجية خاصة به؛ إمّا لتنظيم البرامج، وإمّا لاحتواء هذه
الدوالِّ على وظائف تَلزمه في البرنامج بصورة مُتكرِّرة، وإمّا لاستدعاء آخرين هذه الدوالَّ للإفادة
منها.


 

 

يجب تعريف الدالَّة بكتابة كلمة ( def  )  متبوعةً باسم الدالَّة، ثمَّ بأقواس ونقطتين رأسيتين. ويُمكِن
للمُفسِّر التمييز بين ما بداخل الدالَّة وخارجها عن طريق مسافة البَدْء التي تكون في أوَّل السطر.

 

بعد تعريف الدالَّة، يُمكِن استدعاؤها في أيِّ مكان داخل الملف نفسه كما يأتي:

 

random_greeting()

يُبيِّن الشكل ( 6- 2)   السابق  برنامجًا مُتكامِلًًا يعمل على تعريف دالَّتين واستدعائهما. ولمّا كانت الدوالُّ لا تُنفَّذ إلا بعد استدعائها، بِغَضِّ النظر عن مكانها في الملف، فإنَّ البرنامج سيبدأ العمل من السطر الذي يُسأَل فيه عن الاسم، بالرغم من أنَّ هذا السطر يأتي بعد تعريف الدوالِّ.

  يتطلَّب استخدام بعض الدوالِّ توافر مجموعة من البيانات، تعمل الدوالُّ على تحليلها ومعالجتها.
فمثلًًا، لا يُمكِن استخدام دالَّة الجذر التربيعي قبل استقبال رقم يُمكِّن من حساب جذره التربيعي.
ولهذا يجب تحديد عدد مدخلات  ( أو مُعامِلات) الدالَّة (parameters) عند تعريفها، وإعطاء كل
مدخل (مُعامِل) اسمًا.

 

إرجاع النتائج
 يُمكِن إرجاع نتيجة من دالَّة من خلال تعليمة print

يمكن استدعاء دالة  بذكر اسم الدالة في جملة طباعة  أو جملة    ( الدالة  = متغير )

 

 

 

مدى المُتغيِّراتScope

لكل مُتغيِّر مدى   scope   

1-  المُتغيِّرات المحلية   local variables   فهي مُعرَّفة فقط محليًّا داخل الدالَّة وتنتهي بانتهاء الدالة
 2- المُتغيِّرات العامة  global variables   هي المتغيرات الغير محصورة داخل دالة

 عند استدعاء دالَّة ما  يُحجَز لها مكان في الذاكرة، ويُسمّى إطار ذاكرة التكديس
 و يُستعمَل هذا المكان لحفظ كل ما يتعلَّق بالدالَّة من مُتغيِّرات محلية، ثمَّ يُتخلَّص
منه عند الانتهاء من تنفيذ الدالة

 

سلاسل التوثيق
هي توثيق المعلومات الأساسية   حول الدوالِّ التي يكتبونها  المبرمجين باستخدام الدالة help  او اضافة شرح داخل سلسلة التعريف  """  ...................     """


مثل: الهدف من الدالَّة، ومُعامِلاتها مدخلاتهاوما تعمل على إرجاعه ما يُسهِّل عليهم إعادة
استخدام هذه الدوالِّ.

وتُستخدَم الدالَّة help ، حتّى يظهر الشرح الذي كتبه المبرمج .

تصميم البرامج باستخدام الدوالِّ
تستعمل الدوال لتنظيم عملية تصميم البرامج وكتابتها؛ كي تصبح أسهل للقراءة والتصحيح والتعديل وإعادة الاستخدام.

 

هناك دالَّة تتحقَّق من نمط البريد الإلكتروني؛ويمكن التأكُّد من البريد الإلكتروني من دون حاجة إلى إعادة كتابة ذلك الجزء مَرَّة أُخرى.

 

المواطنةُ الرقميةُ:

  •   المسؤولية الرقمية: أحرص على الإحاطة بالتطوُّرات الجديدة في مجال الأمان الرقمي والتكنولوجيا، وأُطوِّر مهاراتي باستمرار.
  •   المشاركة الفاعلة: أُشارِك في المناقشات والمنتديات بفاعلية وإيجابية، وأُسهِم في بناء مجتمع

رقمي صحي.

  •   التعاون الإلكتروني: أُوظِّف الأدوات الرقمية في العمل الجماعي البَنّاء والتعاون الفاعل مع 

الآخرين.

  •   دعم المبادرات الرقمية الإيجابية: أُشارِك في المبادرات الرقمية التي تُسهِم في تعزيز الوعي

الرقمي والمواطنة الرقمية.