رزفایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

رزفایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

روالها و توابع

اختصاصی از رزفایل روالها و توابع دانلود با لینک مستقیم و پر سرعت .

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 7

 

روالها و توابع

علوم ریاضی > علو م رایانه

(cached)

این مطلب از بخش آموزش وب‌سایت المپیاد کامپیوتر رشد،انتخاب شده که با فرمت pdf نیز در وب‌سایت المپیاد رشدموجود می‌باشد. برای مشاهده این موضوعات در وب‌سایت المپیاد، به آدرس فهرست مطالب کامپیوتر مراجعه کنید. همچنین می‌توانید با کلیک اینجا‌ ، با ویژگی‌های بخش آموزش این وب‌سایت آشنا شوید.

روالها و تابع ها

در مورد زیر برنامه ها و نقش آنها در تسهیل برنامه نویسی و همچنین فواید این ایده در نحوه نوشتن برنامه صحبت شد. اینک به پیاده سازی این ایده ها در محیطمی پردازیم.

قبل پرداخت به ساختار تعریف زیر برنامه ها که در اکثر زبانهای برنامه نویسی به دو دسته توابع و روالها تقسیم می شوند – چند نکته تکنیکی را با هم بررسی کنیم.

در تعبیر و تبیین راهبرد پیمانه ای گفتیم که اصولاً در چه مواردی زیر برنامه ها مفیدند، یکی در هنگام انجام یکسری کارهای تکراری بود و دیگری کارهایی که قالب یکسان دارند ولی بر روی داده های متفاوتی عمل می کنند، از دسته اول می توان به یک برنامه اشاره کرد که در جایگاه های متفاوت باید یک وسیله الکترونیکی را خاموش کند، حال اگر تعداد زیادی دستور جهت خاموش کردن دستگاه لازم باشد. این کار را یک بار به عنوان زیر برنامه می نویسیم و سپس در جایگاههای مورد نیاز آنرا اجرا می کنیم. مثال از دسته دوم همان تابع محاسبه عددی انتگرال معین است که با ورودیهای متفاوت حدود بالا و پایین و تابع مورد نظر نتیجه را محاسبه کرده و بر می گرداند. در مکالمات روزمره هم از کارهای روتین زیاد نام می بریم که همین زیر برنامه ها هستند و روتین نام دیگر همین زیر برنامه است.

بنابراین یک مساله جابجا شدن سرنخ اجرای برنامه به یک زیربرنامه و سپس بازگشت از آن و مساله دیگر انتقال داده ها از برنامه به زیر برنامه و بالعکس است.

در فصل اول اشاره کردیم که هم برنامه و هم داده ها در حافظه ذخیره می شوند و از طرفی پر واضح است که پارامترها و سرنخ فراخوانی زیر برنامه ها هم در حافظه ذخیره می شوند به این علت نیاز به یک راهکار برای ساماندهی به این موارد ذخیره شده در حافظه است. از تاریخچه تحول راهکارها که بگذریم در حال حاضر این ساماندهی به عهده پردازشگر مرکزی است، نتیجه انجام راهکار این است که سیستم عامل بخشی از حافظه را به نحوی به پارامترها و سرنخ فراخوانیها اختصاص می دهد، به این بخش پشته می گویند، این بخش حافظه خود یک ساختار دارد که در فصل پنجم به آن خواهیم پرداخت این نشان می دهد که اگر به دفعات بسیار زیاد زیر برنامه تو و تو حساب کنید سرنخ از دست در می رود!

بدین معنا که حافظه پشته کفاف ذخیره اطلاعات لازم را نمی دهد به این حال گویند، هر چند این خطا در زمان برنامه نویسی در سیستم عامل اهمیت داشت و با استراتژی های جدید کار با حافظه بسیار بعید است که بتواند برنامه ای را بصورت مذکور دچار خطا کنید!

برای نوشتن یک زیر برنامه یکی از دو ساختار زیر استفاده می شود اولی برای رولها و دومی برای توابع:

ساختار 1:

 

 

 

 

ساختار 2:

 

 

 

 

ها اسامی اختصاص یافته به هر کدام از زیر برنامه ها، نام پارامترهای انتقال داده شده به زیر برنامه ها انواع داده هستند همان انواع متغیرها مثل پارامترها در برنامه عیناً مانند متغیر قابل دسترسی اند. در نهایت هم عیناً نوع متغیر است و نوع متغیری است که تابع به برنامه اصلی باز می گرداند. بخش بدنه زیر برنامه است و کل متن اصلی زیر برنامه در این بخش نوشته می شود.

در مورد انتقال پارامترها به زیربرنامه نکاتی وجود دارد، هر چند که گفتیم پارامترها عیناً مشابه متغیرها هستند ولی در عمل سه نوع متفاوت از پارامتر وجود دارد که در هر مورد نحوه برخورد متفاوت است، این موارد بدون آوردن مثال قابل توضیح نیست لذا باید تا کامل شدن توضیح بدویات تعریف زیر برنامه صبر کنید.

در توابع برای آنکه مقداری که می خواهید به برنامه بازگردانید مشخص کنید دو راه وجود دارد یکی استفاده از متغیری هم نام با اسم تابع البته نه به این معنا که آن را تعریف کنید بلکه فقط استفاده کنید مثلاً

 

 

 

 

 

ولی در علاوه بر امکان فوق که مشترک با است، یک متغیر تعریف شده دیگر وجود دارد که استفاده از آن ترجیح دارد. در تمامی توابع تعریف شده متغیر با نوع متغیر مشابه تابع وجود دارد که می توان استفاده کرد:

 

 

 

 

 

مزیت روش دوم این است که می توان از متغیر در هر دو سوی عبارت انتساب استفاده کرد مثلاً

 

ولی از نمی توان چون در سمت راست = معادل فراخوانی خود تابع است:

 

اما نکته دیگر اینکه همانند اینکه برنامه را بر چند زیر برنامه تقسیم کردید می توانید زیر برنامه ها را به چند تکه کوچکتر تقسیم کنید که البته برای این سطح زیر برنامه اسمی نمی گذاریم فقط توضیح زیر را که در مورد کار با توابع و روالها ضروری است در نظر بگیرید. در فاصله بین تعریف صورت تابع و می توان عیناً مانند فاصله بین زیر برنامه تعریف کرد تعریف کرد و متغیر تعریف کرد. متغیرها و ها و زیر برنامه های تعریف شده در این بخش فقط در ی زیر برنامه قابل استفاده اند. به این محدودیت گفته می شود. عبارت قبلی را به این نحو می توان بیان کرد که متغیرها و روالها و ... تعریف شده در فاصله بین نام زیر برنامه و فقط خود زیر برنامه است. لذا عبارتی مانند زیر مجازند.

 

 

 

 

 

 

 

حال به این بپردازیم که در برنامه چگونه می توان از این زیر برنامه های نوشته شده استفاده کرد. یک روش عبارت مقابل است:

 

که برای هر دوی تابع و رول مشترک است مثلاً:

 

 

 

 

 

 

 

و حالت دوم

 

که منظور از عبارت بالا فقط انتساب نیست بلکه در هر جایگاهی که مشابه نسبت دهی است قابل استفاده است مثلاً:

 

 

 

 

 

 

 

و یا

 

 

 

 

 

 

که جایگاه استفاده از توابع را بخوبی نشان می دهد.

اگر دقت کرده باشید سؤالی پیش می آید. وقتی که روال ها یا تابع ها با پارامترها فراخوانی می شود تاثیر روالها و توابع بر متغیرها ی استفاده شده به عنوان پارامتر چیست؟این سؤال وقتی مطرح است که عدد ثابت به عنوان پارامتر داده نشده باشد.

برای روشنتر شدن بحث روال و فراخوانی نمونه زیر را در نظر بگیرید.

 

 

 

 

 

 

 

 


دانلود با لینک مستقیم


روالها و توابع