درود!
این جا مکانی است ویژه برای دانشجویان مهندسی کامپیوتر / آی تی و نرم افزار و صد البته افرادی که جویندگان دانش و تکنولوژی هستند.
آقایان دانوش ،یاشار و آمالی دارندگان این بلاگ بودند و هم اکنون تنها آقای دانوش مدیریت این وبلاگ را بر عهده دارد، با توجه به زمان بندی ها هم اکنون در این سایت فعالیت پویا ای نداریم.
یکشنبه 10 آذر 1392
17:23
یاشار عرفانیان
با سلام ، تابع چیست ؟
در دنیای برنامه نویسی ، کار هایی را به صورت مکرر در برنامه های مختلف انجام می دهیم ، به دلیل سهولت کار دیگر برنامه نویسان و دلایل دیگری که در ادامه به آنها خواهیم پرداخت ، برخی از این برنامه ها توسط برنامه نویسانی از قبل به عنوان تابع نوشته شده اند و نسل های بعد از آنها ، از این توابع ( برنامه های از پیش نوشته شده) بار ها و بار ها استفاده کرده اند.
برای مطالعه ی ادامه ی این مطلب و نحوه ی تولید توابع و کتابخانه ها به ادامه مطلب مراجعه فرمایید.
دلایل ایجاد توابع : 1- استفاده مجدد از آنها  2- خوانایی برنامه 3- توسعه برنامه 4- خطا یابی آسانتر برنامه

در کل می توان توابع را به دو گروه تقسیم کرد : 1- توابع بازگشتی 2- توابع غیر بازگشتی 
توابع بازگشتی (غبر void) : به توابعی که ما از آنها انتظار داریم تا پس از انجام یک عمل معین به ما یک مقدار خروجی را بدهد توابع بازگشتی می گوییم. یکی از مشخصه های توابع بازگشتی این است که آنها را در موقع استفاده از آنها به یک متغییر نسبت می دهیم.
به طور مثال توابعی چون pow و sqrt و ... بازگشتی هستند.

توابع غیر بازگشتی (void): توابعی می باشند که پس از انجام یک عمل ما از آنها انتظار مقدار خروجی نداریم. به طور مثال توابعی چون clrscr و getch و ... غیر بازگشتی می باشند.

قالب نوشتن توابع :
برای این که بتوانیم یک تابع را بنویسیم ، ابتدا باید از خود سوال کنیم که آیا تابعی که می خواهیم آن را بنویسیم بازگشتی است یا خیر؟

1- اگر بازگشتی (غیر void) بود داریم : 
دومین سوال این است که تابع بازگشتی چه چیز ( عدد صحیح ، عدد اعشاری ، ...) را به ما خواهد داد؟
حال پس از پاسخ به این دو سوال می توانیم ، تابع را به صورت مقابل بنویسیم:

}(جنس و تعداد هر ورودی)  نام دلخواه برای تابع   جنس بازگشتی تابع 
                                        بدنه تــــــــــــــــــــــــــــــــــــــــــــــــابع
                                                              {   ;خروجی  return 
به صورت مثال اگر به خواهیم یک تابع برای عمل ریاضی فاکتوریل بنویسیم به صورت زیر خواهیم نوشت :
#include<iostream.h>
int fact (int a){
int f = 1;

for (int i = 1 ; i <= a ; i++){

f=f*i;}

return f;
        }
نکته  : اگر به خواهیم تابع ما چند ورودی داشته باشد ، باید در داخل پرانتز از علامت کاما (,) استفاده نماییم .
نکته  : همان طور که گفته شد در زمان استفاده از توابع بازگشتی آنها را برابر با یک متغییر قرار می دهیم تا مقدار محاسبه شده در داخل آن متغییر ریخته شود ، مثلا : 
m = fact (x);
2- اگر بازگشتی (void) بود داریم :
قالب این توابع مشابه قالب توابع بازگشتی است با این تفاوت که : 1- در ابتدا قبل از نام تابع از کلمه void استفاده می کنیم . 2- در انتها دیگر از return استفاده نمی کنیم ، زیرا انتظار بازگشت چیزس را نداریم.

قالب استفاده از توابع در برنامه ها
#include <>
متن توابع تعریف شده
void main(){
برنامه
}

ذخیره سازی توابع به عنوان یک کتابخانه :
فایلی TC را که در آن توابع خود را تعریف کرده ایم با پسوند (H.) ذخیره می کنیم ، سپس قبل از استفاده و فراخوانی مجدد آن ، فایل ذخیره شده را از محل ذخیره به پوشه include انتقال می دهیم.

امیدوارم تا از این مطلب استفاده لازم را داشته باشید.



















شبکه اجتماعی فارسی کلوب | Buy Mobile Traffic | سایت سوالات