بایگانی برچسب: s

آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – توابع بازگشتی یا (Recursive Function) – قسمت اول

همانطور که به یاد دارید در مقالات گذشته گفته شد که یک تابع برای آنکه به مرحله اجرا برسد باید در تابع ()main فراخوانی شود. اما توابع نیز می توانند خود را فراخوانی کنند. به چنین توابعی توابع بازگشتی گویند. بنابراین توابع بازگشتی به توابعی گفته می شود که خود را فرا بخوانند و نام دیگر آن خود فراخوان یا (recursive Function) می باشد.
زمانی یک تابع جُزء توابع بازگشتی قرار می گیرد که:
۱- شرطی برای تکرار شدن آن تابع وجود داشته باشد.
۲- شرطی برای متوقف شدن آن تابع نیز وجود داشته باشد.
هنگامی که شما هر دو شرط بالا را به درستی در تابع مورد نظر خود پیاده کردید تابع شما جزء توابع بازگشتی قرار خواهد گرفت.
ابتدا با دو مثال ساده تفاوت توابع بازگشتی و توابع عادی را شرح می دهیم.

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

آموزش برنامه نویسی ++C – توابع بازگشتی یا (recursive Function) – قسمت اول

خروجی هر دو برنامه همانند تصویر بالا می باشد.
حالا به مثال زیر توجه کنید.

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

آموزش برنامه نویسی ++C – توابع بازگشتی یا (recursive Function) – قسمت اول

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

آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – تابع (function)

تابع چیست؟ تابع در برنامه نویسی قطعه کدی است که مقادیری را به عنوان ورودی گرفته و محاسباتی را که ما می خواهیم روی آنها انجام می دهد و این مقدار ها را به عنوان خروجی به ما می دهد.
موارد استفاده: در هر برنامه اگر قطعه کدی بیش از یک بار نوشته شود از تابع استفاده می کنیم.
نکته: دستور main که از آن برای اجرای برنامه خود استفاده می کنیم نیز یک تابع است یا تابع های دیگر مانند clrscr یا تابع getch که برای گرفتن یک کاراکتر استفاده می شود.
نکته: برای ایجاد تابع، در بیرون از تابع main اقدام می کنیم و در داخل تابع main از آن استفاده می کنیم.
ایجاد یک تابع دارای سه قسمت است:
۱- تیتر تابع (Header)
۲- بدنه ی تابع (Body)
۳- صدا زدن تابع (Call) و الگو (prototype)
Header تابع
ساختار کلی:

(…,نام متغیر ورودی دوم    نوع متغیر ورودی دوم,نام متغیر ورودی اول   نوع متغیر ورودی اول)نام تابع     نوع خروجی تابع

مثال:

نام: power

نوع متغیر ورودی اول:int

نوع متغیر ورودی دوم:float

نام متغیر ورودی اول:a

نام متغیر ورودی دوم:b

قسمت Body در تابع:

ساختار کلی:

الگو (prototype):
این دستور را برای آن می نویسیم که به عنوان یک الگو قرار گیرد و سپس بتوانیم از آن استفاده کنیم.
ساختار کلی:
نوع خروجی تابع نوع ورودی اول تابع)نام تابع,نوع ورودی دوم تابع,…)
مثال:
int power(int,float,…)
صدا زدن (call):
در جایی که می خواهید تابع را مورد استفاده قرار دهید نوشته می شود مانند: تابع main که تمام کد هایمان را می خواهیم در آنجا اجرا کنیم.

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

۵!=۱*۲*۳*۴*۵

کد:

توضیحات: همانطور که می بینید یک تابع به نام fact ایجاد کرده ایم که عمل فاکتوریل را انجام می دهد و اگر دقت کنید متوجه می شوید که ما باید دو عمل فاکترویل را برای دو عدد ورودی انجام دهیم. در این موارد ما از تابع استفاده می کنیم.
در پایان دستورات دستور return را مشاهده می کنید که عددی که ما می خواهیم را به ما می دهد تا ما ادامه عملیاتی که می خواهیم را برروی آن انجام دهیم.
قسمت صدازدن تابع را ما هم میتوانیم در داخل تابع main و هم در بالای تابع main بنویسیم.
بصورت کد های زیر:

یا:

نوع تابع :

void

این نوع تابع return ندارد و چیزی را باز نمیگرداند ولی ممکن است یک یا چند ورودی داشته باشد
مثال: تابعی ایجاد کنید که کلمه ی hello world را چاپ کند:

مثال: تابعی ایجاد کنید که عددی از ورودی گرفته اگر ۱ بود hello را چاپ کند واگر ۲ بود hi را چاپ کند و اگرنه bye را چاپ کند:

آموزش زبان ++C - مقدمه

آموزش زبان ++C – توابع (Functions)

يکی از اصلی ترین بخش کد نویسی توابع هستند Functions
هر برنامه ،چه در برنامه نویسی Java و چه در ++C و… دارای توابع مختلف می باشد. اما مهمترین آنها تابع Main هست.
تابع Main بدنه ی اصلی کد نویسی را تشکیل می دهد. ادامه خواندن آموزش زبان ++C – توابع (Functions)