الدوال

الدالة هي مجموعة من العبارات والبيانات التي تؤدي معًا مهمة ما. يحتوي كل برنامج ,تنفيذي, للخوارزم على دالة واحدة على الأقل ، وهي الاصل() ، ويمكن لجميع البرامج ولو كانت بسيطة تحديد دوالة إضافية. يمكنك تقسيم التعليمات البرمجية الخاصة بك إلى دوال منفصلة. إن كيفية تقسيم الصفرة الخاص بك بين دوال متروك لك ، ولكن منطقيا يكون التقسيم بحيث تؤدي كل الدالة مهمة محددة.

                                            
الدالة  الاصل() {
   شاشة::اكتب("السلام عليكم ")؛	
   دالة_اخرى()؛																					
}																		
            
الدالة  دالة_اخرى() {
   شاشة::اكتب("ورحمة الله وبركاته")؛
}		
                                                                                

تبدأ تعريفات الدوال في الخوارزم ب الدالة ولديها مجموعة من الأقواس بعد اسم الدالة. تخبر الأقواس المتعرجة { } المترجم أين يبدأ جسم الدالة وأين ينتهي.

يمكننا استدعاء أي الدالة حددناها بإدخال اسمها متبوعة بمجموعة من الأقواس. لأنه تم تعريف دالة_اخرى في البرنامج ، يمكن استدعاؤها من داخل الدالة الرئيسة الاصل. لاحظ أننا حددنا دالة_اخرى بعد الدالة الرئيسة في الصفرة المصدرية ؛ لكن يمكن أن يتم تعريفها من قبل كذلك. إذ لا يهتم الخوارزم بالمكان الذي تحدد فيه دوالك ، ولكن احرص فقط على أن يتم تعريفها في مكان ما داخل الصنف.

منطلقات الدالة

يمكن أيضًا تعريف الدوال مع منطلقاتها ، وهي متغيرات خاصة تشكل جزءًا من توقيع (شكل) الدالة. عندما تحتوي الدالة على المنطلقات، يمكنك تزويدها بقيم محددة لتلك المنطلقات.

من الناحية الفنية ، تسمى القيم الملموسة بالوسيطات ، ولكن في المحادثة العادية ، يميل الناس إلى استخدام الكلمات منطلقات و والوسيطات إما للمتغيرات في تعريف الدالة أو القيم الملموسة التي تم تمريرها عند استدعاء الدالة .

تُظهر النسخة المعاد كتابتها من دالة_اخرى شكل المنطلقات في الخوارزم:

                                            
الدالة  الاصل() {
        دالة_اخرى(19)؛																					
}																		
            
الدالة  دالة_اخرى(عدد صحيح) {
   شاشة::اكتب("قيمة العدد = ")؛
   شاشة::اكتب(عدد)؛		   
}	
                                                                                

عند اطلاق البرنامج ستطبع النتيجة التالية على الشاشة:

قيمة العدد = 19

في تواقيع الدوال ، يجب أن تعلن عن نوع كل منطلق على حدى. هذا قرار متعمد في تصميم الخوارزم: تحديد نوع المنطلق يمكن المترجم من تحديد النوع المستعمل عند استخدام الدالة.

عندما تريد أن تحتوي الدالة على منطلقات متعددة ، افصل تعريفات المنطلقات بفواصل ، كالآتي:

                                            

الدالة  الاصل() {
    اكتب_باقي_قسمة(19، 2)؛
}

الدالة  اكتب_باقي_قسمة(عدد_اول صحيح ، عدد_ثان صحيح ) {
        شاشة::اكتب("قيمة باقي القسمة للعددين = ")؛
            شاشة::اكتب(عدد_اول نمط عدد_ثان)؛	
}	

                                                                                

لأننا أطلقنا الدالة بـحيث يتم تمرير القيمة 19 لـ عدد_اول و 2 كقيمة لـ عدد_ثان ، تتم طباعة باقي القسمة لبهذه القيم.

دوال ذات قيم مرجعة

يمكن للدوال إرجاع القيم إلى التعليمات البرمجية التي تستدعيها. عند الاعلان لا نذكر قيم الإرجاع ، لكننا نعلن نوعها.

يمكنك الارجاع من الدالة ما باستخدام الكلمة الأساسية ارجع مع تحديد القيمة المراد ارجاعها. فيما يلي مثال على الدالة تُرجع قيمة:


الدالة  الاصل() {
        المتغير نتيجة صحيح ؛
        نتيجة	:=	ضرب(5، 6)؛
        شاشة::اكتب(نتيجة)؛		
}

الدالة  ضرب(عدد_اول صحيح ، عدد_ثان صحيح )  صحيح {
        ارجع 	عدد_اول × عدد_ثان؛
}