توابع


مقدمه:دستورالعمل های نوشته شده در تابع ()main هنگام ترجمه و اجرای برنامه ها مورد استفاده قرار می گیرند.در برخی موارد به دلیل پیچیدگی و حجم بالای کد های نوشته شده ذر برنامه ها, بهتر است که کدهارا قطعه قطعه کنیم تا هر بخش از کد ها , بخشی از کل عملیات برنامه را انجام دهد.این بخش های منطقی و مستقل از هم را تابع می نامیم.برخی از توابع که در اغلب برنامه ها مورد استفاده قرار می گیرند, از قبل نوشته شده و آماده اند.این توابع را توابع کتابخانه ای می نامیم.توابعی همچون ()sin() , cos() ,clrscr و بسیاری موارد دیگر در فایل های سرآیندخاصی قرار دارند که در صورت لزوم می توانیم از آن ها استفاده کنیم.با استفاده از توابع می توان برنامه های ساخت یافته نوشت.در این نوع برنامه ها هر قسمت از عملیات مربوط به برنامه توسط توسط بخش مستقلی انجام می شود که به آن تابع گفته می شود.

برنامه نویسی ساخت یافته :

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

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

بخش های اصلی توابع :

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

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

اعلان الگوی تابع : نوع تابع , نام تابع و تعداد و نوع پارامترهای تابع را به کامپایلر معرفی میکند.

تعریف توابع:

نوع تابع: یکی از انواع void , char , double , float , int . یکی از انواع تعریف شده توسط کاربر .

عنوان تابع : همانند قوانین نامگذاری متغیرها . وسیله ای برای دسترسی و استفاده از تابع.

پارامتر های تابع: متغیر هایی برای انتقال مقادیر از برنامه اصلی به یک تابع .

بدنه تابع : مجموعه دستوراتی که عملیات مربوط به تابع را انجام می دهند.

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

نوع تابع :

نوع تابع ,یکی از انواع موجود در زبان c یا انواع تعریف شده توسط کاربر است . اگر تابع بخواهد مقداری را به تابع فراخوان برگرداند, آن مقدار در نام تابع قرار می گیرد. چون هر مقداری در زبان c دارای نوع است . لذا تابع نیز دارای نوع است.

اگر تابع هیچ مقداری را به برنامه فراخوان برنگرداند, نوع تابع void خواهد بود.

پارامترهای تابع:

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

فراخوانی توابع:

  • برای شروع اجرای یک تابع , با استفاده از نام تابع آن را فراخوانی می کنیم.
  • اطلاعاتی هنگام فراخوانی تابع در جلوی نام تابع (در داخل پرانتز ) قرار می گیرند, آرگومان تابع نامیده می شوند.
  • هنگام فراخوانی توابع دقت داشته باشید که تعداد و نوع پارامترها و آرگومان ها یکسان باشند.
  • تمامی توابع در داخل یکدیگر قابل فراخوانی هستند.

الگوی تابع:

الگوی تابع مشخص می کند که تابع چگونه باید فراخوانی شود

;  (لیست پارامترها)   نام تابع   <نوع تابع>

  • برای بکار گیری تابع در برنامه ,باید الگوی آن را در خارج از تابع ()main به کامپایلر اعلان کرد.به این کار اعلان الگوی تابع گفته می شود.
  • اگر تعریف توابع قبل از تابع ()main باشد,دیگر نیازی به اعلان تابع نیست.
  • اگر تابع بعد از تابع ()main تعریف شود,باید الگوی آن قبل از تابع ()main قرار داده شود.
  • بهتر است الگوی تمامی توابع را قبل از تابع ()main اعلان کنید.حتی می توانید در داخل تابع ()main نیز قبل از استفاده از تابع آن را اعلان کنید.

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

محل اعلان الگوی تابع:


عملکرد توابع ۲:


عملکرد توابع ۱:


نکته:

نحوه تهیه توابع:

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

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *