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


Problem

1/10

روتين الوظيفة

Theory Click to read/hide

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

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

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

أو

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

Problem

اكتب دالة تحسب مجموع أرقام العدد الطبيعي.
باستخدام هذه الوظيفة ، اكتب برنامجًا ، من بين 5 أعداد طبيعية تم إدخالها ، يجد العدد الذي يحتوي على أقصى مجموع من الأرقام. إذا كان هناك العديد من هذه الأرقام ، فقم بطباعة الرقم الأكبر
نبسب ؛
أمثلة <الجسم>
# إدخال الإخراج
1 15
234
11
9
111112
234