Module: زیر برنامه ها: رویه ها و عملکردها - 2


Problem

1/10

تابع زیر روال

Theory Click to read/hide

یک تابع یک برنامه فرعی است که نتیجه ای (عدد، رشته کاراکتر و غیره) را برمی گرداند

تصور کنید که محصولی را از یک فروشگاه اینترنتی سفارش داده اید. از نقطه نظر برنامه نویسی، شما زیربرنامه خاصی را فراخوانی کرده اید، و برخلاف یک رویه، این زیربرنامه باید یک نتیجه را برگرداند - محصولی را که سفارش داده اید تحویل دهید. این زیر روال ها توابع نامیده می شوند.
یک تابع تقریباً به همان روشی قالب بندی می شود: <پیش> تابع <نام تابع> (فهرست پارامترها به عنوان <نام متغیر>:<نوع آن> جدا شده با نقطه ویرگول): <نوع مقدار بازگشتی>; شروع <بدنه عملکرد> پایان;
تفاوت بین یک تابع و یک رویه در این است که یک تابع باید مقداری را برگرداند. برای این کار باید از نام تابع به عنوان متغیر یا متغیر ویژه Result استفاده کنید: <پیش> تابع Sum(a, b:integer): عدد صحیح; شروع مجموع := a + b; پایان; یا <پیش> تابع Sum(a, b:integer): عدد صحیح; شروع نتیجه := a + b; پایان;
تابعی که میانگین حسابی دو عدد صحیح را برمی گرداند به شکل زیر است: <پیش> تابع میانگین(a, b: integer): real; شروع   میانگین := (a + b) / 2; پایان؛ باید بدانیم که چگونه این تابع را در برنامه اصلی فراخوانی کنیم:
شما نباید یک تابع را به همان روشی که یک رویه را فراخوانی می کنید: <پیش> میانگین (10, 5); مقدار بازگشتی توسط تابع از بین خواهد رفت. گویی اجناس فروشگاه اینترنتی به کسی داده نشده بلکه دور ریخته شده است. بعید است که مشتری آن را دوست داشته باشد.

صحیح تر است که نتیجه را در یک متغیر ذخیره کنید (یا آن را روی صفحه چاپ کنید): <پیش> a := میانگین (10, 5);

یا

<پیش> writeln(میانگین (10، 5));

Problem

تابعی بنویسید که مجموع ارقام یک عدد طبیعی را محاسبه کند.
با استفاده از این تابع، برنامه ای بنویسید که از بین 5 عدد طبیعی وارد شده، عددی را با حداکثر مجموع ارقام پیدا کند. اگر چندین عدد از این دست وجود دارد، عدد بزرگتر را چاپ کنید
 
نمونه‌ها <سر> <بدن>
# ورودی خروجی
1 15
234
11
9
111112
234