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

سی شارپ #C

آموزش برنامه نویسی #C _انعطاف پذیری حلقه for

۱) ابتدا کنترل Button دیگری روی فرم برنامه قبلی اضافه کنید.خاصیت Name آن را برابر btnNewForLoop و خاصیت Text آن را برابر New For Loop قرار دهید.
۲) روی این کنترل دو بار کلیک کنید و کد زیر را در متد مربوط به رویداد Click آن وارد کنید.

۳)برنامه را اجرا کنید و روی دکمه New For Loop جدید کلیک کنید. نتیجه مشابه شکل زیر دریافت می کنید.
آمزش برنامه نویسی C#

چگونه کار می کند ؟
به تعریف حلقه for در این مثال توجه کنید:

نکته اولی که در این حلقه وجود دارد تعریف متغییر intcont در خود حلقه است. این مورد باعث می شود برنامه هنگامی که به حلقه رسید متغییری به نام intcont تعریف کند و برای شمارش درون حلقه از آن استفاده کند . هنگامی که کار حلقه به پایان رسید ، متغییر نیز از بین خواهد رفت و فضای اشغال شده توسط آن آزاد می شود. در مرحله بعد، به جای استفاده از عدد ۱ به عنوان مقدار شروع ، از عدد ۴ استفاده کرده ایم. در حقیقت در اولین دوره اجرای حلقه مقدار intcont برابر عدد ۴ است و بنابرین اولین مورد اضافه شده به لیست عدد ۴ خواهد بود . همچنین در هر مرحله از اجرای حلقه ، ۷ واحد به مقدار intcont افزوده می شود .به همین دلیل ، دومین موردی که به لیست اضافه می شود عدد ۱۱ است ، نه عدد ۵٫
با وجود اینکه حلقه باید در عدد ۶۲ به پایان برسد . اما مشاهده می کنید که حلقه در عدد ۶۰ به پایان می رسد. زیرا عدد بعد از آن ،۶۷ خواهد بود که از ۶۲ بزرگتر است. بنابراین حلقه برای مرتبه نهم اجرا نخواهد شد.
شمارش معکوس در حلقه:
اگر در هر مرحله از اجرای حلقه عددی را از شمارنده ی آن کم کنید ، حلقه به صورت معکوس حرکت خواهد کرد.
۱) اگر هنوز برنامه قسمت قبل در حال اجراست آن را ببندید و سپس کنترل Button دیگری به فرم اضافه کنید . خاصیت Name آن را برابر btnBackwardsForLoop و خاصیت Text آن برابر Backwards For Loop
قرار دهید .

۳) برنامه را اجرا کنید و روی دکمه Backwards For Loop کلیک کنید . نتیجه ای مشابه شکل زیر مشاهده خواهید کرد.
آموزش برنامه نویسیC#
همانطور که در قسمت سوم تعریف حلقه مشاهده می کنید ، در هر مرتبه اجرای حلقه ، استفاده از عملگر — موجب می شود یک واحد از مقدار intcont کم شود . چون مقدار اولیه این متغییر برابر ۱۰ در نظر گرفته شده است ، حلقه ۱۰ بار اجرا می شود و از عدد ۱۰ به صورت معکوس به عدد ۱ می رسد و اجرای حلقه تمام می شود .

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

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

در مقالات قبل گفته شد که چگونه در نرم افزار Visual Studio رشته (string ) تعریف کنیم اما در Turbo C++ با این روش ممکن نیست به همین دلیل می بایست به روش دیگری رجوع کرد که آن تعریف کردن آرایه ای از کاراکتر هاست (مجموعه ای از چندین کاراکتر یه رشته محسوب می شود) که در ذیل نحوه استفاده از آن را شرح می دهیم.

در کد بالا می بینید که یک آرایه ی ۵ تایی تعریف کردیم که مقدار خود را از ورودی می گیرد و فرض کنید ورودی “Hello” باشد بنابراین بعد از پاک شدن صفحه بوسیله ()clrscr خروجی رشته ای که نام آن A است یعنی کلمه ی “Hello” را مشاهده خواهید کرد.
توجه: برای مقدار دهی کاراکتری به آرایه نیاز به یک حلقه دارید اما اگر یه کلمه یا یک متن باشد میتوانید به راحتی آن را با علامت دابل کد (“”) به متغیر بدهید.

خروجی در کد بالا نیز “Hello” خواهد بود.
توابع مهم در رشته ها:
قبل از شرح توابع شما نیاز به افزودن یک هدر فایل (Header File ) یا کتابخانه ( Library ) دارید که آن ( string.h) می باشد.
تابع (A)strlen
این تابع طول رشته را نشان میدهد و چون عدد بر می گرداند میتوان آن را در یک متغیر عددی ذخیره نمود یا مستقیم از آن خروجی گرفت.

یا

تابع (A,B)strcat:
این تابع متن B را به انتهای متن A می چسباند.

خروجی “HelloWorld” خواهد بود.
تابع (A,B)strcpy:
این تابع متن B را بجای متن A می نشاند بطوریکه متن پیشین حذف می گردد.

خروجی “World” خواهد بود.
آموزش برنامه نویسی C++ – رشته ها در Turbo C++ – قسمت اول

سی شارپ #C

آموزش برنامه نویسی #C – حلقه ها

هنگامی در حال نوشتن یک برنامه کامپیوتری هستید، ممکن است بخواهید یک عمل مشخص را چندین بار متوالی انجام دهید تا نتیجه مطلوب خود را دریافت کنید . مثلا ممکن است بخواهید صورت حساب تلفن را برای تمام مشترکین بدست آورید و یا ۱۰ فایل را از روی کامپیوتر بخوانید.
در برنامه نویسی ، برای انجام این امور معمولا از حلقه ها استفاده می شود. دراین بخش با سه دسته کلی از حلقه ها که در #C وجود دارند آشنا خواهیم شد.
۱) حلقه های for – این حلقه ها معمولا به تعداد مرتبه شخصی اجرا می شود(برای مثال ، ۱۰ بار).
۲) حلقه های while – این حلقه ها معمولا تا هنگامی که نتیجه یک شرط در ست شود ادامه پیدا می کنند.
۳) حلقه های do – عملکرد این حلقه ها نیز همانند حلقه های while است، با این تفاوت که شرط در حلقه های while در ابتدا بررسی می شود ولی در این حلقه ها، شرط در انتها بررسی می شود.
حلقه های for:
حلقه for حلقه ای است که درک نحوه کارکرد آن بسیار راحت است. در قسمت های بعد ، با این دستور آشنا خواهیم شد.

ایجاد یک حلقه for
۱) یک پروژه ویندوزی جدید به نام Loops ایجاد کنید.
۲) در فرمی که ظاهر می شود یک ListBox و یک کنترل Button اضافه کنید .
۳) خاصیت Name مربوط به ListBox را برابر lstData و خاصیت IntegerlHeight آن برابر false قرار دهید.
۴) خاصیت Name مربوط به دکمه فرمان Button را برابر btnForLoop و خاصیت Text
آن را برابر For Loop قرار دهید. مانند شکل زیر:
آموزش برنامه نویسی C#
۵) بر روی دکمه فرمان دو بار کلیک کنید تا متد مربوط به رویداد Click آن ایجاد شود. سپس کد زیر را در آن وارد کنید :

۶) برنامه را اجرا کنید و بر روی دکمه for Loop کلیک کنید.
ادامه این مطلب در قسمت بعد ……..
دوستان گرامی امیدوارم از این قسمت به خوبی استفاده کرده باشید ، شما دوستان عزیز می توانید نظرتون رو از طریق بیان دیدگاه ها با من و دیگر همکارانم به اشتراک بگزارید، همچنین می توانید از طریق صفحه ی ما در اینستاگرام به همین نشانی ما رو دنبال کنید.

سی شارپ #C

آموزش برنامه نویسی #C -کنترل روند اجرایی برنامه

در قسمت های قبل در مورد الگوریتم ها و کاربرد آنها در نرم افزار مطالبی را آموختید. در این قسمت نحوه کنترل روند اجرایی برنامه در طول این الگوریتم ها را مشاهده خواهید کرد. برای مثال خواهید دید که چگونه می توانید تصمیماتی از قبیل ” اگر X به این حالت بود،A را انجام بده در غیر این صورت B را انجام بده” را در برنامه ی خود پیاده کنید . این قابلیت در الگوریتم برنامه ها به عنوان انشعاب شناخنه می شود. همچنین در این قسمت و قسمت های بعد مشاهده خواهید کرد چگونه می توانید یک قطعه کد را به تعداد مرتبه مشخص و یا تا زمانی که یک شرط درست است اجرا کنید.
خصوصا در این قسمت و قسمت های بعد در مورد موارد زیر صحبت خواهیم کرد:
۱) دستور if
۲)شامل switch
۳) حلقه های for و foreach
۴) حلقه های while و until
تصمیم گیری در برنامه :
الگوریتم ها همواره دارای تصمیماتی هستند . در واقع ، این تصمیمات است که باعث می شود که کامپیوتر بتواند وظیفه خود را به خوبی انجام دهد. هنگام کد نویسی با تصمیم گیری های زیادی مواجه می شوید . مثلا فرض کنید که لیستی شامل ده نام در اختیار شما قرار داده اند و باید کدی بنویسید که به اعضای این لیست نامه ای را بفرستید. در هر قسمت از این کد می پرسید ” آیا لیست تمام شده است؟” اگر چنین بود الگوریتم تمام می شود . در غیر این صورت نام نفر بعدی از لیست استخراج می شود و مراحل ارسال نامه برای او انجام می شود . به عنوان مثالی دیگر ممکن است که بخواهید فایلی را باز کنید . در این حالت ابتدا می پرسید : آیا فایل مورد نظر وجود دارد ؟”. در صورت وجود فایل را باز می کنید و در غیر این صورت الگوریتم را به اتمام می رسانید.
تمام این تصمیم گیریها به یک نحو در برنامه پیاده سازی می شود. در ابتدا به بررسی دستور if برای کنترل روند اجرای برنامه می پردازیم .
دستور if ;
راحت ترین راه برای تصمیم گیری در ویژوال استودیو استفاده از دستور if است. در قسمت پایین با نحوه کاربرد این دستور آشنا خواهید شد.
یک دستور if ساده
۱) یک برنامه تحت ویندوز به نام Simple If ایجاد کنید . سپس با استفاده از جعبه ابزار یک کنترل Button بر روی فرم قرار داده ، خاصیت Name آن را برابر btnIf و خاصیت Text آن برابر If قرار دهید . روی این کنترل دو بار کلیک کنید و کد زیر را در آن وارد کنید.

۲) برنامه را اجرا کنید و بر روی دکمه فرمان If کلیک کنید. کادر پیغامی را مشابه شکل زیر خواهید دید.
آموزش برنامه نویسی C#
چگونه کار می کند؟
در ابتدا یک متغییر به نام intNumber ایجاد می کنید و مقدار آن برابر۲۷ قرار می دهید( همانطور که می بینبد هم تعریف متغییر و هم مقدار دهی اولیه به آندر یک خط انجام شده است):

سپس با استفاده از دستور if مشخص می کنید که باید چه کاری انجام دهید . در اینجا شما می گویید” اگر intNumber برابر با ۲۷ بود …”.

قطعه کدی که درون آکولاد پایین دستور if قرار دارد فقط هنگامی اجرا می شود که intNumber برابر با ۲۷ باشد ، به عبارت دیگر هنگامی که شرط داخل پرانتز برابر true و یا درست باشد، کد داخل بلاک if اجرا می شود.
بنابر این در اینجا ، اجرای برنامه شروع می شود و به دستور if می رسید . بعد از ارزیابی عبارت داخل پرانتز چون مقدار آن برابر با true است. دستورات درون بلاک if اجرا می شود و سپس اجرای برنامه از خط بعد از بلاک if ادامه پیدا می کند .
یک دستور if ساده همانند قسمت قبل می تواند بدون هیچ آکولادی نوشته شود . البته این کار هنگامی امکان پذیر است که بلاک if فقط شامل یک دستور باشد. به کد زیر نکاه کنید:

این دستور هم مانند دستور if در برنامه قبلی کار می کند و مزیت آن فقط این است که کد را کوتاهتر می کند . اما اگر نتیجه یک شرط نادرست باشد، چه اتفاقی می افتد؟ ادامه در جلسه بعدی ……

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

C

آموزش برنامه نویسی #C – متدها قسمت دوم

متد هایی که تا کنون دیده اید:
بهتر است بدانید که تاکنون در برنامه هایی که در قسمت های قبل نوشته ایم، از متددهای زیادی استفاده کرده اید. به عنوان مثال کد زیر را که در ابتدای آموزش #C نوشته اید ملاحظه کنید:

این کد یک متد است زیرا همانطور که در تعریف متد گفتیم ،قطعه کدی مجزا است که کار خاصی را انجام می دهد . در اینجا این قطعه کد عدد یک را به متغییر intNumber اضافه می کند و نیجه را نمایش می دهد .
این متد هیچ مقداری را بر نمی گرداند بنابراین نوع مقدار بازگشتی void تعریف شده است. کلمه void به کامپایلر می گوید که این متد هیچ مقداری را برنمی گرداند. اگر متدی مقداری را برگرداند به جای استفاده از void باید نوع مقداری که برگشت داده می شود را بنویسید(برای مثال int یا double یا …) .هر دستوری که بین دو علامت آکولاد نوشته شود جزیی از بدنه ی متد محسوب می شود. یک متد به صورت زیر تعریف می شود:
آموزش برنامه نویسی C#
۱) قبل از هر چیز ، کلمه private را در تعریف تابع مشاهده می کنید .
۲)کلمه بعدی ،کلمه void است که همانطور که گفتیم به ویژوال #C می گوید این متد هیچ مقداری را برنمی گرداند .
۳)بعد از void با کلمه btnAdd_ Click روبرو می شوید. همانطور که ممکن است حدس زده باشید ، این کلمه نام متدی است که تعریف کرده ایم.
۴) چهارمین مورد در تعریف این تابع پارامترهایی است که به آن فرستاده می شود. همانطور که مشاهده می کنید این تابع دو پارامتر را دریافت می کند. پارامتر اولsender از نوع object است و پارامتر دوم e از نوع EventArgs است.
استفاده از متد ها
۱) یک پروژه #C در ویژوال ایجاد کنید و نام آن را برابر Three Buttons قرار دهید.
۲) با استفاده از جعبه ابزار سه دکمه فرمان بر روی فرم خود قرار دهید.
۳) روی دکمه فرمان اول دو بار کلیک کنید و سپس کد مشخص شده در زیر رابه آن اضافه کنید:

۴) برنامه را اجرا کنید . فرمی را با سه دکمه فرمان مشاهده خواهید می کنید کرد . بر روی با لاترین دکمه فرمان کلیک کنید . کادر پیغامی با عبارت !Hello ,Pangoan را خواهید دید.
دوستان گرامی امیدوارم از این قسمت به خوبی استفاده کرده باشید ، شما دوستان عزیز می توانید نظرتون رو از طریق بیان دیدگاه ها با من و دیگر همکارانم به اشتراک بگزارید، همچنین می توانید از طریق صفحه ی ما در اینستاگرام به همین نشانی ما رو دنبال کنید.

نویسنده: مسعود ثابتی

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

آموزش برنامه نویسی ++C – ساختار یا Struct | قسمت سوم

در این قسمت تمرینی در نظر گرفته شده است تا شما را بیشتر با بخش ساختار یا Struct در ++C آشنا کند بنابراین بدون مقدمه به حل تمرین می پردازیم.
شرح تمرین به گونه ای است که نام و نام خانوادگی و حقوق افراد را دریافت می کند و به آن ها یک کد اختصاص می دهد. اگر فرد کاربر ویژه بود مالیات از او گرفته نمی شود و اگر نبود مبلغی از درآمدش کم خواهد شد.
ابتدا قسمت ساختار یا Struct را تعریف می کنیم.

دو آرایه ی کاراکتری تعریف کرده ایم که مجموعه آن یه رشته خواهد شد (اعداد دلخواه می باشد).

همان درآمد شخص می باشد.

درآمد نهایی برای افرادی که مشمول مالیات می شوند.

مقدار پولی است که براساس مالیات از پوا اصلی کم می شود.

برای جداسازی کاربران ویژه از کاربران عادی بکار می رود.
حالا نوبت به تابع ()main می باشد.

از ساختاری که قبلا تعریف کرده ایم یک آرایه ۱۰ تایی با نام ma تعریف می کنیم (عددی که در این قسمت قرار می دهید همان تعداد افراد می باشد).

برای انتخاب گزینه های زیر از آن استفاده می کنیم.

کد های مربوط به گزینه ی اول:

با هربار اجرای این مرحله یک فرد دیگر به لیست اضافه خواهد کرد.

استفاده از این کد برای زیبایی برنامه بوده است و ضرورتی در استفاده از آن نیست.

در این برنامه به هر فردی که وارد لیست می شود یه کد بین ۰ تا ۱۰ داده می شود.
کد های مربوط به گزینه دوم:

برای اشاره به شخص مورد نظر باید کد زیر را وارد کنید.

اگر کاربر ویژه باشد کد های این قسمت اجرا می شود

اگر کاربر ویژه نباشد کد های شرط ذیل اجرا خواهد شد.

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

مقدار مالیات از مبلغ کل برداشته می شود تا مقدار درآمد خالص یا همان درآمد نهایی بدست آید.
کد های مربوط به گزینه سوم:

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

نمونه ای از روش کارکرد این برنامه.

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C – ساختار یا Struct – قسمت سوم

سی شارپ #C

آموزش برنامه نویسی #C – قالب بندی تاریخ ها

با سلام امیدوارم تا اینجای آموزش زبان #C تونسته باشیم نظرتونو به این زبان برنامه نویسی جلب کرده باشیم، با ما در ادامه آموزش زبان #C همراه باشید.

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

به دلیل اینکه تنظیمات محلی این کامپیوتر بر اساس ایران است، تاریخ به صورت YYYY/MM/DD و زمان نیز به صورت ۱۲ ساعته نمایش داده میشود . این نیز نمونه دیگری از تاثیر تنظیمات محلی کامپیوتر بر نحوه نمایش متغییر ها است. برای مثال اگر تنظیمات محلی کامپیوتر خود را برابر انگلیس قرار دهید ، تاریخ در قالب DD/MM/YYYY و زمان نیز بصورت ۲۴ ساعته نمایش داده می شود.
البته می توانید نحوه نمایش تاریخ را در برنامه مشخص کنید تا در هر سیستم با هر تنظیمات محلی به یک صورت نمایش داده شود ، اما بهتر است که اجازه دهید NET. نحو نمایش را بصورت اتوماتیک انتخاب کند ، تا هر کاربر به هر نحوی که بخواهد آن را مشاهده کند . در ادامه با چهار روش مفید برای قالب بندی تاریخها آشنا خواهید شد.
۱) اگر برنامه Data Demo در حال اجراست آن را ببندید .
۲) با استفاده از ویرایشگر کد برای Form 1، تابع مربوط به رویداد Click دکمه فرمان را پیدا کنید و کد مشخص شده در زیر را به آن اضافه کنید :

۳) برنامه را اجرا کنید با کلیک بر روی دکمه Show Data ، پنج کادر پیغام نمایش داده می شوند . همانطور که مشاهده می کنید ، کادر پیغام اول تاریخ و زمان را بر اساس تنظیمات محلی کامپیوتر شما نمایش می دهد. کادر دوم تاریخ را به صورت کامل و کادر سوم تاریخ را به صورت خلاصه شده نمایش می دهد. کادر چهارم زمان را بصورت کامل و کادر آخر زمان به صورت مختصر نمایش می دهد.

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

نویسنده: مسعود ثابتی

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

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

در این قسمت تمرینی دیگر از توابع بازگشتی مثال زده خواهد شد.
تمرین: با استفاده از توابع بازگشتی برنامه ای بنویسید که دنباله فیبیوناتچی را حساب کند.
برای حل این تمرین ابتدا نیازمند آشنایی با چند مفهوم در ریاضی می باشید.
۱- دنباله: به مجموعه ای از اعداد گفته می شود که بوسیله ی ترتیبی خاص که جمله عمومی یا (فرمول دنباله) نام دارند محاسبه می شوند، مانند دنباله اعداد اول یا دنباله اعداد فرد.
۲- دنباله بازگشتی: نوعی از دنباله هاست که برای محاسبه هرکدام از اعدادش به عدد پیشین نیازمند است.
۳- اندیس: همانطور که به یاد دارید در قسمت آرایه ها برای اشاره به خانه ی پنجم همواره داشتیم:

عدد چهار اندیس است. در ریاضی مانند آرایه ها اندیس ها اِلزاما از صفر شروع نمی شوند و کارشان همانند آرایه ها اشاره به عدد خاصی می باشد. اندیس ها را در ریاضی در زیر عدد می نویسند (مانند زیروند در شیمی). و معمولا آن را با حرف n نمایش می دهند.
…,an=1,3,5,7
در مثال بالا a یک متغیر است و n اندیس است (بخوانید a اندیس n).
حال اگر بخواهیم به عدد سوم اشاره کنیم بصورت زیر عمل می کنیم:
نکته: انتخاب اندیس به شما بستگی دارد بنابراین هم می توانید اندیس را از صفر بگیرید هم از یک که اگر از صفر بگیرید همانند آرایه ها خواهد شد.ما در این مثال ترجیحا از اندیس یک شروع میکنیم.
a3=5
بخوانید a اندیس ۳ برابر ۵ .
۳- دنباله فیبیوناتچی: به دنباله ی بازگشتی ای گفته می شود که اعداد آن از جمع دو عدد پیشین آن عدد بدست می آید.
نکته:اگر اندیس را از یک بگیرید دو اعدد اول این دنباله برابر یک است اما اگر اندیس را از صفر بگیرید دو عدد اول صفر و یک خواهند بودک
پس با توجه به نکته بالا فرمول این دنباله بصورت زیر است:
n=0 => 0,1,1,2,3,5,8,13,…,an-1 + an-2 اگر
n=1 => 1,1,2,3,5,8,13,…,an-1 + an-2 اگر
ما ترجیحا از فرمول دوم استفاده خواهیم کرد.
اگر توجه کنید عدد دو برای مثال از جمع دو عدد پیش از خود بدست آمده و یا عدد سه که از جمع عدد دو و یک بدست آمده.
اکنون این دنباله را به فرم توابع بازگشتی مینویسیم.
برای نوشتن آن به صورت توابع بازگشتی به کد زیر توجه کنید.
ابتدا تابع بازگشتی را تعریف کرده.

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

اندیس ها در هیچ موردی منفی نمی شود مثلا اندیس ۱۳- معنایی ندارد بنابراین در کد بالا شرطی مبنی بر این نوشته تا از این اشتباه جلوگیری شود.
و در نهایت:

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

همانطور که می بینید هفتمین جمله از دنباله فیبیوناتچی برابر ۱۳ می باشد.
آموزش برنامه نویسی ++C – توابع بازگشتی یا (Recursive Function) – قسمت سوم

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

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

تمرین:

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

تابع بازگشتی

توضیحات: اگر دقت کنید متوحه می شوید که ضرب دو عدد a و b برابر است با اینکه a bبار در خودش جمع شود:
اگر b==1:
a*b=a
و یا اگر b>1:
a*b=a*(b-1)+a

برای مثال اعداد ۵ و ۳:
در تعریف این تابع باید اینطور گفت که ابتدا باید ۵ ضربدر ۲ را حساب کرد و سپس ۵ را به آن اضافه کرد و برای محاسبه ی ۵*۲ باید ۵*۱ را حساب سپس ۵ را به آن اضافه کرد.

:output

recursive_func

اطلاعات بیشتر

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

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

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

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

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

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

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

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

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