فلسفه توابع در برنامه نویسی
سلام و عرض ادب
در ریاضیات دبیرستان هم با توابع سر و کار داشتیم مثلا :
f(x) = 2x+1
هر اسمی هم که دلمون میخواد میذاشتیم f(x) , g(x) , h(x) , ...
که یک(یا چند) پارامتر میگرفت و محاسباتی روش انجام میداد و حاصلش رو برمیگردوند(محاسبه ش رو خودمون باید انجام میدادیم تو ریاضی اما توی کامپیوتر پردازنده این محاسبه رو برای ما انجام میده)
مثلا
f(x,y) = x+y
تابعی توی ریاضیاته که دوتا عدد میگیره و جمع میکنه(محاسباتش با خودمونه)
توی ریاضیات ما چه چیزهایی میتونستیم بفرستیم به تابع؟؟ 1-عدد 2-عبارت جبری
پس دو تا نوع داده ای داشتیم تو ریاضیات ، جز این دو تا دیگه نمیتونستیم بفرستیم مثلا نمیتونستیم اسم خودمون رو بفرستیم به تابع f(x) چون یک پارامتر غلطیه و f(x) عدد یا عبارت جبری میخواد. در واقع *انواع داده ای* که توی ریاضی تعریف شدن رو میتونه بعنوان پارامتر بگیره.
اگه دقت کنین میبینین توی ریاضی وقتی کار تابع تموم میشه انگار ی مقدار برگردونده میشه مثلا
f(x,y) = x+y
f(2,3) = 2+3 = 5
این مقدار 5 الان برگردونده شد . اگه دقت کنین تابع توی ریاضی هر چندتا که پارامتر بگیره ، در نهایت فقط یک خروجی برمیگردونه مثلا
g(x,y,z,t,k) = x+y+z+t+k
g(1,2,3,4,5) = 1+2+3+4+5 = 15
میبینین که هر چندتا پارامتر بهش میدیم ، در نهایت فقط یک خروجی داره.
توی برنامه نویسی هم دقیقا مثل همین ، ما با توابع سر و کار داریم که یکسری کارهایی برای ما انجام میدن ، هر اسمی دوست داشتیم میتونیم براش بزاریم . مثلا یک تابع دو عدد رو میگیره و اولی رو به توان دومی میرسونه و برمیگردونه که توی ریاضی اینجوری نشون میدن :
h(x) = x^y
توابع توی برنامه نویسی به این شکلن :
return-type function-name(data-type parameter1 , data-type parameter2 , ...)
{
//statements...
}
return-type = نوع داده بازگشتی(int , char , float , ... مثل)
function-name = f,g,h,... اسم تابع مثل
data-type = نوع داده ای پارامتر
parameter1 = نام پارامتر اول(همونطور که توی ریاضیات اسمشو میذاشتیم ایکس)
parameter2 = نام پارامتر دوم
...
دستورات مربوط به هر تابع بین آکلاد باز و بسته است { }
مقایسه کنین با توابع توی ریاضی
این تابع توی برنامه نویسی :
int add(int a , int b){
return a+b;
}
دقیقا همان کاری را میکند که تابع f(x,y) = x+y در ریاضیات میکند . در برنامه نویسی باید حتما نوع داده بازگشتی مشخص باشه.
بیشتر از این از فلسفه خارج میشه و میره تو دانش برنامه نویسی
کوچیکتون Alone7
یا علی(ع)
Tel : @AloneMaster7
مطلبی دیگر از این انتشارات
بهترین سایت خرید فالوور اینستاگرام به انتخاب کاربران
مطلبی دیگر از این انتشارات
پر درامدترین کانال تلگرامی چیست؟
مطلبی دیگر از این انتشارات
ارتباط اینستاگرام و برندهای شخصی