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

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

آموزش برنامه نویسی در ++C – پارامتر های تابع و ارسال پارمتر به صورت call by value

پارامتر های تابع شامل دو قسمت هستند:
۱- صوری ( formal )
۲- واقعی ( actual )

صوری

به متغیر های تابع که هنگام ایجاد تابع ایجاد می کنیم تا در داخل تابع از آن ها استفاده کنیم پارامتر های صوری یا formal گویند.
مثال: ایجاد یک تابع

توضیحات: به متغیر های a و c پارامتر های صوری تابع گویند.

واقعی

پارامتر های واقعی یا actual یا آرگومان های تابع در واقع همان مقادیری هستند که هنگام استفاده از تابع در تابع main استفاده می کنیم.
مثال در تابع main :

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

ارسال پارامتر های تابع به روش call by value

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

خروجی:
output_call_by_value
توضیحات: همانطور که دیدید هنگامی که به مقدار a تابع main در داخل تابع f1 یک مقدار اضافه شد مقدار آن یک عدد زیاد شد اما مقدار a در داخل تابع main تغییر نکرد پس نتیجه می گیریم که در این روش ارسال پارامتر واقعی به تابع هر تغییر در پارامتر صوری تاثیری بر متغیر تابع main نمی گذارد.

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

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

علاوه بر حالت های r ( read ) برای خواندن از فایل و w ( write ) برای نوشتن در فایل یک حالت دیگر هم وجود دارد به نام a.
وقتی فایلی را در حالت w باز می کنیم تمام متن داخل آن حذف می شود و سپس می توانیم متن جدید را در فایل اضافه کنیم ولی وقتی فایل را در حالت a باز کنیم متن داخل فایل حذف نمی شود و هر متن جدیدی که به فایل اضافه کنیم در آخر متن پیش فرضیمان قرار می گیرد.

حالت a

مثال: فایلی با نام a.txt در دایرکتوری زیر قرار دارد که متن hello در آن نوشته شده است. می خواهیم با استفاده از برنامه نویسی متن world را به آخر متن hello که به طور پیش فرض در فایل قرار داده شده است اضافه کنیم.
دایرکتوری:

C:\TurboC++\Disk\TurboC3\BIN

کد:

توضیحات: همانگونه که در توضیحات بالا خواندید فایل را در حالت a باز می کنیم سپس تغییرات جدید را روی آن اعمال می کنیم.
تمرین: برنامه ای بنویسید دو فایل a.txt و b.txt که در دایرکتوری زیر قرار دارند را باز کرده متن فایل b.txt را خوانده و به آخر متن فایل a.txt اضافه کند.
دارکتوری: مسیر پیش فرض برنامه ی نصب شده ی توربو

C:\TurboC++\Disk\TurboC3\BIN

متن پیش فرض در فایل hello : a.txt
متن پیش فرض در فایل world : b.txt
کد:

توضیحات: طبق تعریفات بالا ما باید دو متغیر از نوع فایل ایجاد کنیم برای باز کردن فایل های a.txt در حالت a برای نوشتن متن در آخر متن پیش فرض قرار داده شده و فایل b.txt در حالت r برای خواندن متن از آن.
طبق گفته ی بالا کار ها را در کد انجام داده ایم سپس یک حلقه ی while ایجاد می کنیم برای خواندن تک تک کاراکتر های درون فایل b.txt و قرار دادن همان کاراکتر ها با استفاده از تابع fputc در فایل a.txt.
تابع fcloseall بعد از کد های حلقه ی while : اگر چند فایل باز در برنامه دارید برای بستن تمام آن ها می توانید از این تابع استفاده کنید.
خروجی :
متن جدیدی که در فایل a.txt قرار گرفته است:

hello world

برای نمایش داده شدن فرمت فایل ها وقتی فایلی را به صورت گرافیکی در دایرکتوری در ویندوز می توانید از راحل زیر استفاده کنید:
۱- گزینه ی folder options در قسمت تنظیمات my computer ( در ویندوز های مختلف جای آن متفاوت است)
folder_options
۲- سربرگ view
۳- در قسمت Advanced Setting تیک گزینه ی Hide exensions for know file type را بردارید
۴- Ok
settings

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

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

فرض کنید فایلی با نام a.txt در این مسیر قرار دارد:

C:\TurboC++\Disk\TurboC3\a.txt

برای باز کردن فایل از دو مسیر آن می توانیم استفاده کنیم
مسیر مطلق:

C:\TurboC++\Disk\TurboC3\a.txt

مسیر نسبی: چون برنامه ی توربو در این مسیر C:\TurboC++\Disk\TurboC3\BIN باز می شود برای دسترسی به فایل باید یک دایرکتوری به عقب بیاییم و سپس فایل را باز کنیم.
در داخل هر دایرکتوری دو دایرکتوری وجود دارد ( در واقع فایل هستند ) با نام های . (نقطه) و .. ( دونقطه ) که ما آنها را نمی بینیم.
برای دیدن آن ها در ویندوز cmd را فعال باز می کنیم سپس دستور dir را می نویسیم که علاوه بر فایل ها و دایرکتوری ها فایل نقطه و دو نقطه نیز نمایش داده می شوند.
برای دیدن آن ها در لینوکس پس از باز کردن terminal دستور ls –a را نوشته و این دو فایل یا دایرکتوری نمایش داده می شوند.
نقطه نشان دهنده ی همان دایرکتوری و دو نقطه برای دسترسی به یک دایرکتوری عقب تر است.
پس مسیر نسبی فایل a.txt می شود :

..\a.txt

در cmd ویندوز:
cmd_file
در terminal لینوکس:
terminal_file
با زدن دستور ls -a میتوانیم آن ها را ببینیم.
توضیحات: یک دایرکتوری به عقب میاییم سپس به فایل دسترسی پیدا می کنیم.
مثال: در دایرکتوری زیر یک فایل با نام a.txt قرار دارد که متن داخل آن hello world است با مسیر نسبی به آن دسترسی پیدا کنید و متن آن را نمایش دهید

C:\TurboC++\Disk\TurboC3\a.txt

خروجی:

hello world

توضیحات: مسیر فایل نسبی را در توضیحات بالا گفتم و طریقه ی خواندن فایل را هم در مقاله ی قبلی توضیح داده ام.

نوشتن فایل

برای نوشتن در فایل باید فایل را در حال w (write) باز کنیم و با استفاده از تابع های مخصوص نوشتن در فایل نوشت.
نکته: وقتی می خواهیم فایلی را باز کنیم به تابع fopen مسیر می دهیم و اگر فایل باشد تمام متن داخل آن پاک می شود و متنی که مورد نظرمان است را در فایل می نویسیم ولی اگر فایل نباشد یک فایل ایجاد می شود و سپس متنمان را در آن وارد می کنیم.
مثال: فایلی در مسیر زیر ایجاد کنید با نام a.txt که متن hello world را در آن نوشته و آن را save کنید سپس با برنامه نویسی در توربو C++ متن hello world را با کاراکتر h عوض کنید.
مسیر save فایل a.txt :

C:\TurboC++\Disk\TurboC3\BIN

کد:

اگر دوباره فایل را باز کنید تنها کاراکتر h را میبینید که در فایل نوشته شده است.
توضیحات:
کد:

در حالت write آن را باز می کنیم یعنی به جای گذاشتن حرف r به جای آرگومان دوم تابع fopen حرف w را می گذاریم.
کد:

تابع fputc یک کاراکتر را به عنوان آرگومان اول گرفته و در فایلمان که به عنوان آرگومان دوم می گیرد قرار می دهد.
کد:

همانگونه که وقتی متنی را در فایلی تغییر می دهیم باید آن را save کنیم در حالت نوشتن هم باید در آخر پس از انجام کارهایمان در فایل آن را با تابع fclose که آرگومان آن نوع متغیر فایل است ببندیم.

نوشتن متن یا رشته در فایل

از تابع fputs استفاده می کنیم.
مثال: ابتدا فایل a.txt را حذف می کنیم.
کد:

توضیحات:
چون فایلمان وجود ندارد پس برنامه یک فایل با نام a.txt در مسیر پیش فرض که برنامه ی توربو در آن مسیر باز می شود ایجاد می کند سپس تابع fputs یک رشته را به عنوان آرگومان می گیرد و در فایل مورد نظرمان که به عنوان آرگومان دوم به آن داده ایم می نویسد.

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

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

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

مسیر های فایل

ابتدا در مورد مسیرهای فایل بحث می کنیم.
هر فایل دو مسیر برای اجرا دارد:
۱- نسبی
۲- مطلق
مسیر مطلق به مسیری می گویند که از مقصد اصلیمان باشد.
مثال: فایلی با نام a.txt در درایو C در پوشه ۱ در پوشه ی ۲ قرار دارد.
فرض کنید ما پوشه ای را باز نکرده ایم و در desktop سیستم هستیم یا در درایو D هستیم.
مسیر مطلق برای دستیابی به فایل a.txt:

C:\1\2\a.txt

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

مسیر نسبی:

حالا فرض کنید ما در درایو C و پوشه ی ۱ باشیم.
مسیر فعلی ما:

C:\1\

مسیر نسبی مسیری است که نسبت به مکان فعلی ما داده می شود.
طبق تعریف بالا مسیر نسبی برای دستیابی به فایل a.txt این است:

\۲\a.txt

وقتی برنامه ی توربو را باز می کنید این برنامه در این مسیر باز می شود ( مسیر پیش فرض در هنگام نصب برنامه ) :

C:\TurboC++\Disk\TurboC3\BIN

حالا فرض کنید فایلی با نام a.txt در این پوشه BIN که برنامه ی توربو در آن باز می شود داریم
مسیر های دستیابی به فایل از طریق برنامه نویسی در توربو :

مسیر مطلق:

C:\TurboC++\Disk\TurboC3\BIN\a.txt

نسبی:

a.txt

چون برنامه ی توربو در دایرکتوری BIN اجرا می شود و هم فایل ما در این پوشه قرار دارد پس نیازی نیست که مسیری به برنامه دهیم.
نکته: در برنامه نویسی در زبان ++C و اکثر زبان های برنامه نویسی دیگر می توانید از هر دو نوع مسیر دهی استفاده کنید.
مثال: ابتدا در پوشه ی BIN یک فایل با نام a.txt ایجاد کنید و این متن را در آن بنویسید hello world سپس با استفاده از برنامه نویسی در ++Turbo C متن فایل را بخوانید.

خروجی: کاراکتر h
توضیحات: ما ابتدا یک متغیر از نوع FILE ( برای استفاده از آن باید هدر فایل stdio.h را به برنامه اضافه کنید ) به صورت اشاره گر برای اشاره به فایل ایجاد می کنیم.
نکته: دقت کنید که FILE حتما با حروف بزرگ باشد.
سپس با استفاده از تابع fopen فایل را باز می کنیم.
آراگومان های تابع fopen :
۱- مسیر فایل : هم می تواند مطلق باشد و هم نسبی
۲- مد استفاده از فایل را نشان می دهد : چون ما فعلا می خواهیم فقط از فایل بخوانیم پس از r که مخفف read است استفاده می کنیم.
چون در فایل متن است پس یک متغیر از نوع char ایجاد می کنیم.

توضیح کد بالا : تابع fgetc یک کاراکتر از فایل مورد نظر می خواند. آرگومان آن هم متغیر fp است که فایلمان را با آن باز می کنیم.
ما هم در این خط کد یک کاراکتر از فایلمان می خوانیم و آن را در متغیر ch قرار می دهیم و در خط بعد هم آن را با cout نمایش دادیم.
حالا این کد را امتحان می کنیم:

خروجی:
file1

توضیحات: در این حالت ما دو کاراکتر را از فایل خواندیم.
حالا مشکل ما اینجا است که برای خواندن تمام کاراکتر ها چکار کنیم ( شاید یک متن هزار خطی باشد ).
خب پس ما نمیدانیم که فایلمان چند کاراکتری است و در این موارد ما از حلقه ی while استفاده می کنیم.
خب می رسیم به شرط حلقه:
در آخر متن هر فایل یک کاراکتر End Of File) EOF ) قرار دارد که ما آن را نمیبینیم و این کاراکتر برای آن است که سیستم متوجه شود متن فایل به پایان رسیده است.
برنامه جدید برای خواندن تمام متن داخل فایل a.txt :

خروجی:
hello world
توضیحات: تابع feof که آرگومان آن متغیری است که به فایل اشاره می کند در هر دوره یک کاراکتر از فایل می خواند که اگر کاراکتر برابر با EOF نبود صفر را و اگر بود یک را برمیگرداند.
نکته: می توانیم به جای NULL از صفر استفاده کنیم.
ادامه ی توضیحات: تابع در ابتدا کاراکتر h را می گیرد و صفر را برمی گرداند و چون صفر با NULL یا صفر برابر است پس شرط داخل while درست است و حالا وارد بلوک حلقه ی while می شویم : گرفتن یک کاراکتر از فایل و نمایش آن.
این روند تا کاراکتر EOF که در آخر متن قرار دارد ادامه می یابد و در آخر تابع feof کاراکتر EOF را می گیرد و ۱ را برمی گرداند و چون ۱ با صفر یا NULL برابر نیست حلقه شکسته می شود و در آخر هم تابع fclose را داریم که فایل را می بندد.

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

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

یک رشته در واقع یک آرایه از کاراکتر ها است.
در c++ استاندارد برای ایجاد رشته به این صورت کد می نویسند:

برای استفاده از این نوع رشته ها باید به صورت حرفه ای با آنها کار کرده باشید و کار با آنها بسیار سخت است به همین خاطر بعضی از IDE های برنامه نویسی و کامپایلرشان مانند: visual studio یا کامپایلر لینوکس و یونیکس کارمان را راحت کردند ( در توربو قابل استفاده نیست ) و نوع متغیری بوجود آوردند به نام string که یک رشته را نگه داری می کند. مثال های ما در مورد متغیر string در کامپایلر و محیط visual studio است و در موقع مناسب کار با رشته به این صورت char ch[10] را آموزش می دهیم.
مثال: متغیر از نوع string تعریف کنید و مقداری به آن دهید سپس آنرا نمایش دهید.

توضیحات: ابتدا باید هدرفایل string را به برنامه اضافه کنید سپس یک متغیر تعریف کنید و مقداری به آن دهید و سپس با دستور cout آن را نمایش دهید.
نکته: می توانید از دستور cin برای گرفتن string استفاده کنید.

متد

متد (metod): در واقع یک نوع تابع است که وقتی متغیری تعریف می کنید می توانید از آن استفاده کنید. در کد متوجه می شوید.
متد size:

توضیحات: این متد تعداد کاراکتر های متغیر s را نشان می دهد.
ساختار کلی متد:

نام متد . نام متغیر();

متد در واقع عملیات خاصی را روی یک متغیر انجام می دهد. در پست های بعدی بیشتر با متد آشنا می شوید.

متد های string

متد empty: این متد متغیر را خالی از هر چیزی می کند.(NULL)
مثال:

append: این متد یک رشته را می گیرد و به انتهای رشته ای که ما می خواهیم اضافه می کند.
مثال:

توضیحات: متد رشته ی ali را به آخر رشته s که hello است اضافه می کند.
find: این متد یک رشته از ورودی می گیرد( ورودی: متغیر یا رشته ای که در داخل پرانتز های متد قرار می گیرند ) و درون رشته ی مورد نظرمان جست و جو می کند که نشان دهد چندمین اندیس رشته است.
مثال: می خواهیم ببینیم که رشته ی “ll” درون رشته ی hello چندمین اندیس است.

خروجی:
string1
توضیحات: اگر دقت کنید متوجه می شوید که رشته ی ll از اندیس دوم شروع می شود. ( اندیس اول صفر است )

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

آموزش برنامه نویسی ++C – ساختمان ( struct ) – قسمت دوم

تابع sizeof

تابع sizeof: تابعی است برای بدست آوردن size یک متغیر یا size یک نوع متغیر بر اساس byte.
مثال:
بدست آوردن size نوع متغیر int:

در خروجی ۴ چاپ می شود و نشان می دهد که اندازه ی یک متغیر از نوع int برابر با ۴ بایت یعنی ۳۲ بیت است.
می توانیم به جای گذاشتن نوع یک متغیر در آراگومان تابع sizeof نام متغیر هم گذاشت:

خروجی برابر با ۴ خواهد بود.

حالا می خواهیم یک آرایه از نوع structی که خودمان ایجاد کرده ایم بسازیم و size آنرا محاسبه کنیم.

تابع sizeof برای محاسبه ی struct

اطلاعات در مورد size انواع متغیر

توضیحات: قبل از اجرای برنامه می خواهیم خودمان size آرایه ی جدید را محاسبه کنیم.
در struct با نام f1 یک آرایه ی ۱۰تایی از کاراکتر داریم و اگر دقت کنید متوجه می شوید که هر کاراکتر ۱ byte است
یعنی:

۱*۱۰=۱۰byte

در ادامه یک آرایه ی ۵تایی از نوع int داریم که size نوع int هم برابر با ۴بایت است و چون ما یک آرایه ی ۵تایی از این نوع داریم پس درواقع پنج متغیر از این نوع داریم
یعنی:

۴*۵=۲۰byte

بعلاوه ی ۱۰ تای اول:

۲۰+۱۰=۳۰byte

در ادامه یک متغیر از نوع double داریم و اندازه ی double برابر با ۸بایت است
یعنی:

۸*۱=۸byte

۳۰+۸=۳۸byte

در اینجا متغیر های ما در struct تعریفی ما به اتمام می رسد یعنی اندازه ی یک متغیر از نوع struct تعریفی ما به نام f1 برابر با ۳۸بایت است و چون ما یک آرایه ی ۱۰تایی از این نوع متغیر ایجاد کرده ایم
پس:

۳۸*۱۰=۳۸۰byte

struct_part2

آموزش زبان ++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 – ارسال آرایه به تابع

گاهی اوقات ما می خواهیم عملیاتی را روی اندیس های آرایه انجام دهیم البته با فرستادن آن به تابع.
با مثالی ساده شروع می کنیم:

ارسال آرایه به تابع

می خواهیم آرایه ای (ماتریس ۳ در ۳) را به تابعی ارسال کنیم سپس اعضای روی قطر اصلی آنرا با هم ضرب کنیم:
نکته: اعضای روی قطر اصلی: اعضای روی قطر اصلی به رنگ زرد مشخص شده اند.
ghotr_asli
نکته: شرط نشان دادن اعضای روی قطر اصلی:i==j

توضیحات: ابتدا آرایه ای ۳ در ۳ ایجاد می کنیم و اعضای آنرا مقدار دهی می کنیم سپس تابعمان را ایجاد می کنیم.
شرط i==j را در تابع برقرار می سازیم سپس عددی که برابر حاصل ضرب اعضای روی قطر اصلی است (همان z در برنامه) را return می کنیم.
می رسیم به prototype و صدا زدن تابع: ابتدا prototype را در بالای تابع main می نویسیم

int اول نوع خروجی را نشان می دهد و چون خروجی یک عدد از نوع int است int را مینویسیم سپس نام تابع و در سپس در درون پرانتز ها باید نوع ورودی را مشخص کنیم و چون نوع ورودی یک آرایه ی ۳ در ۳ است و نوع آن هم int است به این صورت که در کد بالا می بینید آنرا می نویسیم.
میرسیم به صدا زدن تابع: دستور صدا زدن تابع را برای راحتتر کردن برنامه در cout می نویسیم به این صورت که ابتدا نام تابع سپس آرایه ای که باید وارد تابع شود را درون پرانتز های آن می نویسیم.

ارسال آرایه به تابع

تمرین: یک ماتریس ۳ در ۳ وارد تابع کنید و تابع بگوید که این ماتریس قطری است یا نه.
ماتریس قطری: ماتریسی است که اعدادی که روی قطری اصلی نیستند برابر صفر باشند. مهم نیست که اعضای روی قطر اصلی صفر باشند فقط باید اعضای که روی قطری اصلی نیستند صفر باشند.

توضیحات: یک آرایه ۳ در ۳ ایجاد می کنیم و آنرا به گونه ای مقدار دهی می کنیم که به طور پیش فرض طبق تعریفمان یک ماتریس قطری باشد.
شرط:
(i!=j && B[i][j]!=0)
اگر این شرط برقرار شود  ماتریس قطری نیست چون نشان می دهد اعضایی که روی قطر نیستند برابر صفر نیستند. ما نمی توانیم در دستورات این شرط که در for نوشته شده است یک cout بنویسیم برای نشان دادن قطری بودن یا نبودن ماتریس چون ممکن است ده ها بار شرط برقرار شود و همینطور ده ها بار cout اجرا شود.
ما در این حالت یک متغیر وضعیت ایجاد می کنیم به نام e که اگر e برابر ۱ باشد ماتریس قطری است واگرنه نیست.
همان گونه که در کد میبینید ما به این صورت برنامه را ایجاد کرده ایم:

در درون for این شرط را نوشته ایم که اگر شرط داخل if برقرار بود که در صورت قطری نبودن ماتریس است عدد e برابر صفر شود.
چون ما از تابع نمی خواهیم چیزی را return کند و فقط می خواهیم نشان دهیم که ماتریس قطری است یا نه ما نوع تابع را void می گذاریم.
اطلاعات بیشتر

آموزش زبان ++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 را چاپ کند:

Oracle Java

آموزش Java – تابع Main

تابع Main

مثل بقیه‌ی زبان‌های دیگه Java هم تابع Main داره. تابع Main تابع اصلی برنامه هستش که کدهای اصلی در داخلش نوشته میشن. تابع Main بدنه ی اصلی کد نویسی را تشکیل میده.به طور کل هر تابع دارای آرگمان‌های ورودی و بدنه‌ی کد و خروجی هستش.

همون طور که دیدین تابع Main رو نوشتم…البته نه خروجی داره نه ورودی، ولی برای معرفی خوبه.
توابع در کل به چند بخش تقسیم میشن. همونطور که میبینید public میزان دسترسی تابع که به سه قسمت Public , Private و Protected که بعدا در قسمت‌های آینده در مبحث encapsulation راجع بهش صحبت میکنیم ، Static به این معنی که متغیر یا تابع بین همه موارد است کلاس به اشتراک گذاشته میشه و اون رو به عنوان یک تابع Static میشناسه که در کل پروژه بدون تعریف شی کلاس میشه از اون استفاده کرد و Void که به طور کل به توابعی میگن که خروجی ندارد…یعنی اطلاعات پردازش شده از قسمت تابع Main به بیرون تابع نمیره. میدونم در کل بحث برای شروع یه مقدار سنگین شده اما بعد از مباحث شی گرایی که در قسمت‌های آینده با هم کار می‌کنیم، خیلی راحت با همه‌ی اینها کار میکنیم.
در اینجا تابع Main دسترسی Public داره Static هستش و void که یعنی خروجی نداره.
در کل توابع کمک زیادی به ما میکنن. یکی از اون کارا جلوگیری از تکرار کد‌نویسی هستش. یعنی ما برای مثال میخوایم یه برنامه بنویسیم که چند بار از یک عمل ریاضی مثل فاکتوریل استفاده میشه. خوب نباید شش بار کد عمل فاکتوریل رو بنویسیم. یک تابع فاکتوریل تو کد مینویسیم. در قسمت آرگمان ورودی عدد رو به تابع میدیم تو قسمت بدنه عمل فاکتوریل انجام میشه و عدد نهایی تو یک متغیر میذاریم و متغیر رو به عنوان خروجی تابع ازش استفاده می‌کنیم.

با پنگوئن همراه باشید.

 

تابع Main
Java