الروتين الفرعي: الإجراءات والوظائف - 2


الوظيفة عبارة عن روتين فرعي يعرض نتيجة (رقم ، سلسلة أحرف ، إلخ.)

تخيل أنك طلبت منتجًا من متجر على الإنترنت. من وجهة نظر البرمجة ، قمت باستدعاء روتين فرعي معين ، وعلى عكس الإجراء ، يجب أن يعرض هذا الروتين نتيجة - تسليم المنتج الذي طلبته. تسمى هذه الإجراءات الفرعية وظائف .
يتم تنسيق الوظيفة بنفس طريقة تنسيق الإجراء إلى حد كبير: <قبل> دالة & lt ؛ اسم الوظيفة & GT ؛ (قائمة المعلمات مثل العلامة & lt ؛ اسم المتغير & GT ؛: & lt ؛ نوعه & GT ؛ مفصولة بفواصل منقوطة): & lt ؛ نوع قيمة الإرجاع & GT ؛؛ يبدأ العلامة & lt ؛ وظيفة الجسم & GT. النهاية ؛
الفرق بين الوظيفة والإجراء هو أن الدالة يجب أن ترجع قيمة. للقيام بذلك ، تحتاج إلى استخدام اسم الوظيفة كمتغير أو نتيجة المتغير الخاص: <قبل> دالة مجموع (أ ، ب: عدد صحيح): عدد صحيح ؛ يبدأ المجموع: = أ + ب ؛ النهاية ؛ أو <قبل> دالة مجموع (أ ، ب: عدد صحيح): عدد صحيح ؛ يبدأ النتيجة: = أ + ب ؛ النهاية ؛
ستبدو الدالة التي تُرجع الوسط الحسابي لعددين صحيحين كما يلي: <قبل> متوسط ​​الوظيفة (أ ، ب: عدد صحيح): حقيقي ؛ يبدأ نبسب ؛ المتوسط: = (أ + ب) / 2 ؛ نهاية؛ يبقى أن نفهم كيفية استدعاء هذه الوظيفة في البرنامج الرئيسي:
لا يجب استدعاء وظيفة بنفس الطريقة التي تستدعي بها الإجراء: <قبل> متوسط ​​(10 ، 5) ؛ ستفقد القيمة التي تم إرجاعها بواسطة الوظيفة. يبدو الأمر كما لو أن البضائع من المتجر عبر الإنترنت لم يتم تسليمها لأي شخص ، ولكن تم التخلص منها. من غير المحتمل أن ينال إعجاب العميل.

من الأصح حفظ النتيجة في متغير (أو طباعتها على الشاشة ): <قبل> أ: = متوسط ​​(10 ، 5) ؛

أو

<قبل> writeln (متوسط ​​(10 ، 5)) ؛

غالبًا ما يستخدم المبرمجون الدوال المنطقية التي تعرض قيمًا منطقية: صواب أو خطأ (T rue أو F alse )
هذه الوظائف مفيدة في & nbsp؛ تحقق من بعض الممتلكات.
ضع في اعتبارك مثالين لكتابة دالة منطقية تتحقق من رقم للتساوي <الجسم>
1) نبسب ؛ طريقة أفضل :
نتيجة التعبير
ن٪ 2 == 0
سيكون صواب (صواب) أو خطأ (خطأ)
لا حاجة لكتابة بيان شرطي!
2) لا تفعل ذلك!
يمكنك كتابته على هذا النحو ، ولكن سيتحول إلى سجل أطول ، لذلك من الأفضل عدم القيام بذلك
<قبل> منطقي يساوي (int n) { العودة (ن٪ 2 == 0) ؛ } <قبل> منطقي isEven (int n) { إذا (ن٪ 2 == 0) العودة صحيح آخر عودة كاذبة؛ }

والملاحظة الأخيرة حول العمل بالوظائف والإجراءات: عدد الوظائف والإجراءات في البرنامج غير محدود. بالإضافة إلى ذلك ، يمكن لروتين فرعي واحد استدعاء روتين فرعي آخر وحتى نفسه.
نبسب ؛