تبلیغات
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی - آموزش تابع و ارائه چند مثال معروف در سی پلاس
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی
دانلود رایگان سورس پروژه
سایت برنامه نویسی تک کدر takcoder.ir


آموزش برنامه نویسی با استفاده از نوین ترین روش و ارائه پروژه های نمونه و مجموعه عظیم سورس کدهای آماده برای شما دوستان

مدیر سایت : Yahya Taherzadeh
نویسندگان
نظرسنجی
زبان برنامه نویسی مورد علاقه شما؟






تابع: 
برنامه ای است که برای حل بخشی از مسئله نوشته می شود.

با استفاده از توابع می توان برنامه های ساخت یافته نوشت که وظایف این نوع برنامه ها توسط بخش های مستقلی که تشکیل دهنده برنامه اند انجام می شود. این بخش های مستقل همان توابع هستند.

امتیازهای برنامه نویسی ساخت یافته عبارتند از:

1.نوشتن برنامه های ساخت یافته آسان است، زیرا برنامه های پیچیده به بخش های کوچک تری تقسیم می شوند و هر بخش توسط تابعی نوشته می شود. دستورالعمل ها و داده های موجود در تابع، مستقل از سایر بخش های برنامه است.

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

3.اشکال زدایی برنامه های ساخت یافته ساده تر است.اگر برنامه اشکالی داشته باشد، بررسی تابعی که این اشکال در آن به وجود آمده ساده است.

4.برنامه نویسی ساخت یافته موجب صرفه جویی در وقت می شود.
توابع کتابخانه ای:

C دارای توابعی است که از قبل نوشته شده اند، و توابع کتابخانه ای نامیده می شوند .در واقع فرایند هایی که پر کاربرد هستند و در اغلب برنامه ها مورد استفاده قرار می گیرند به صورت توابع مستقل قبلاً نوشته شده اند.

نوشتن توابع

برای نوشتن تابع باید اهداف مشخص باشد.

هر تابع سه بخش دارد:فراخوانی، الگوی تابع، تعریف تابع

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

فراخوانی تابع دستوری است که تابع را فراخوانی می کند که با نام تابع انجام می شود.

<نوع تابع>یکی از چیزهایی است که توسط کاربر تعریف می شود.

نکات مهم در استفاده از توابع

1.الگوی تمام توابع را قبل از تابع ()main اعلان کنید.(البته می توانید در خود تابع ()main نیز اعلان کنید.)

2.نوع توابع را تعیین نمایید.

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

4.متغیرهای مورد نیاز توابع را در داخل توابع تعریف کنید.

5.تعریف تابع در داخل تابع دیگر امکان پذیر نیست.

6.هنگام فراخوانی تابع دقت داشته باشید که تعداد و نوع پارامترها وآرگومان ها یکسان باشد.

7.توابع از نظر تعداد مقادیری که می توانند به تابع فراخوان برگردانند به سه دسته تقسیم می شوند 1.توابعی که هیچ مقداری برنمی گردانند 2.توابعی که یک مقدار برمی گردانند3.توابعی که چندین مقدار برمی گردانند.

8. هنگام اعلان الگوی توابع، نیاز به ذکر اسامی پارامترها نیست و ذکر نوع آن ها کفایت می کند.

9.اگر تابعی فاقد آرگومان است به جای لیست آرگومان ها کلمه void قرار دهید.

نکاتی درباره نوشتن توابع

1.ابتدا بدون پرداختن به جزئیات پیاده سازی توابع، آرگومان ها و نتیجه ای که از توابع انتظار دارید، مشخص کرده و برنامه اصلی را بنویسید.

2.توابع را طوری طراحی وپیاده سازی کنید که هر تابع فقط به آنچه که نیاز دارد دسترسی داشته باشد و بقیه قسمت های برنامه و سایر اطلاعات توسط توابع غیر مرتبط قابل دستیابی نباشد.

3.برای ارتباط بین توابع از آرگومان ها و پارامترها استفاده کنید.

مثال ها :

1.تابعی بنویسید که درجه فارنهایت را به سانتیگراد تبدیل کند؟

2.تابعی بنویسید که مقدار صحیح و غیر منفی k را دریافت کرده وk! را محاسبه و ارسال نماید.

3.تابعی بنویسید که سه مقدار صحیح را دریافت کند و کوچک ترین آن ها را پیدا نموده و ارسال کند.

4.تابعی بنویسید که یک مقدار صحیح و یک مقدار اعشار ساده را دریافت کند وچنانچه اختلاف دو عدد کمتر از 0.0001باشد حرف t و در غیر این صورت حرف fرا بازگرداند.

5.تابعی بنویسید که یک عدد صحیح دریافت کند و اول بودن یا نبودن آن را مشخص کند و در صورت اول بودن 1 و در غیر این صورت 0 را ارسال کند.

6.برنامه ای بنویسید که هریک از اعداد1 تا 10 را همراه با فاکتوریل آن ها مقابل هم چاپ کند.

7.برنامه ای بنویسید که سه مقدار صحیح را خوانده و حداقل آن ها را چاپ کند.(با استفاده از تابع)

8.تابعی بنویسید که مقدار π را از فرمول (...+7/1-5/1+3/1-1)4=π تا زمانی که آخرین عبارت از0.0001 بیشتر است بدست آورده و ارسال کند.

9.برنامه ای نویسید که با استفاده از تابع مثال قبل مقدار عدد π را چاپ کند.

10.تابعی بنویسید که مقدار عدد π را از فرمول (...+7/1-5/1+3/1-1)4=π تا n جمله به دست آورده و چاپ کند.

11.برنامه ای بنویسید که ابتدا سری اعداد فیبوناتچی را تا جمله دوازدهم چاپ کرده و سپس یک عدد از ورودی بخواند و جزء سری بودن یا نبودن آن را بررسی و اعلام کند.(با استفاده از دو تابع)

12.برنامه ای بنویسید که معکوس 123 را چاپ کند.

13.برنامه ای بنویسید که متنی را دریافت کند و تمام حروف a را که در متن وجود دارد را به A تبدیل کند و متن را دوباره چاپ کند.

14.برنامه ای بنویسید که دو ماتریس را از کاربر بگیرد سپس آن ها را در هم ضرب کرده و نمایش دهد.


دوستان نظرات خود را اعلام کنید.




نوع مطلب : سی| سی پلاس پلاس، آموزش، 
برچسب ها : تابع نویسی، سی، آموزش نوشتن تابع، آموزش کد نویسی، مثال هایی در مورد تابع، نوشتن توابع در سی پلاس، نحوه تعریف تابع،
لینک های مرتبط :
Yahya Taherzadeh
جمعه 22 آذر 1392
سه شنبه 17 مرداد 1396 02:42 ب.ظ
It's very effortless to find out any matter on net as compared to books, as I found
this piece of writing at this site.
سه شنبه 17 مرداد 1396 08:25 ق.ظ
Excellent post. Keep posting such kind of info on your site.
Im really impressed by it.
Hello there, You've performed a fantastic job. I will
definitely digg it and in my view recommend to my friends.
I'm sure they will be benefited from this website.
سه شنبه 17 مرداد 1396 06:05 ق.ظ
Hello to all, how is everything, I think every one is getting more from this site, and
your views are good in favor of new people.
یکشنبه 15 مرداد 1396 11:32 ق.ظ
Nice post. I was checking continuously this blog and
I'm impressed! Extremely useful info specially the last part :) I care
for such information much. I was seeking this certain info for a
very long time. Thank you and good luck.
جمعه 13 مرداد 1396 12:20 ب.ظ
Excellent blog here! Also your site loads up fast!
What web host are you using? Can I get your affiliate link to your
host? I wish my site loaded up as quickly as yours lol
شنبه 7 مرداد 1396 10:22 ق.ظ
Hey! This is kind of off topic but I need some
help from an established blog. Is it difficult to set up your
own blog? I'm not very techincal but I can figure things out pretty fast.
I'm thinking about making my own but I'm not sure where to begin. Do you have
any ideas or suggestions? With thanks
شنبه 24 تیر 1396 05:47 ب.ظ
It's nearly impossible to find educated people for this topic, but you seem like you know what
you're talking about! Thanks
سه شنبه 13 تیر 1396 12:32 ق.ظ
First off I want to say terrific blog! I had a quick question which I'd like to ask if you don't mind.

I was interested to know how you center yourself and clear your mind before writing.
I've had trouble clearing my mind in getting
my ideas out. I do enjoy writing but it just seems like the first 10 to 15 minutes are wasted
simply just trying to figure out how to begin. Any recommendations or tips?
Cheers!
دوشنبه 12 تیر 1396 08:49 ق.ظ
Hello my loved one! I wish to say that this post is amazing, nice written and include approximately all significant infos.
I'd like to see more posts like this.
دوشنبه 12 تیر 1396 08:45 ق.ظ
Hello my loved one! I wish to say that this post is amazing, nice written and include approximately all significant infos.
I'd like to see more posts like this.
یکشنبه 11 تیر 1396 12:32 ب.ظ
Exactly what I was looking for, thanks for putting up.
شنبه 3 تیر 1396 04:42 ب.ظ
Right here is the perfect website for anyone who hopes to understand this topic.

You realize so much its almost hard to argue with
you (not that I really will need to?HaHa). You certainly put a brand
new spin on a subject which has been written about for
decades. Great stuff, just excellent!
دوشنبه 1 خرداد 1396 07:19 ب.ظ
Very nice post. I just stumbled upon your
blog and wanted to say that I've really enjoyed browsing your blog posts.
After all I'll be subscribing to your rss feed and I hope you write again soon!
یکشنبه 31 اردیبهشت 1396 04:08 ق.ظ
After exploring a handful of the articles on your web site, I truly appreciate your technique of blogging.

I book-marked it to my bookmark site list and will be checking
back soon. Please visit my web site as well and
tell me how you feel.
جمعه 29 اردیبهشت 1396 12:55 ق.ظ
Just wish to say your article is as astonishing. The clearness in your post is simply
excellent and i could assume you're an expert on this subject.
Well with your permission let me to grab your feed to keep updated with forthcoming post.
Thanks a million and please continue the gratifying work.
سه شنبه 19 اردیبهشت 1396 05:02 ق.ظ
Hi, Neat post. There's a problem together with your website in web explorer, may test this?

IE nonetheless is the marketplace chief and a huge component of people
will leave out your fantastic writing because of this problem.
چهارشنبه 13 اردیبهشت 1396 12:23 ب.ظ
Hi there! I just would like to offer you a big thumbs up for the great info you
have got right here on this post. I will be coming back to your blog for more
soon.
چهارشنبه 13 اردیبهشت 1396 06:19 ق.ظ
This is a topic that's close to my heart... Many thanks!
Exactly where are your contact details though?
پنجشنبه 31 فروردین 1396 09:21 ق.ظ
These are truly wonderful ideas in regarding blogging.
You have touched some nice points here. Any way keep up wrinting.
یکشنبه 27 فروردین 1396 06:03 ب.ظ
I pay a quick visit daily a few websites and blogs to read posts, except this
blog offers feature based posts.
جمعه 25 فروردین 1396 07:37 ب.ظ
It's an awesome post for all the internet visitors; they will get advantage from it I
am sure.
شنبه 19 فروردین 1396 12:21 ق.ظ
Hey there! I know this is kind of off topic but I was wondering if you knew
where I could find a captcha plugin for my comment form? I'm
using the same blog platform as yours and I'm having trouble finding one?
Thanks a lot!
دوشنبه 14 فروردین 1396 07:34 ب.ظ
I really love your site.. Very nice colors & theme.
Did you make this web site yourself? Please reply
back as I'm hoping to create my very own website and would like to
learn where you got this from or just what the theme is called.
Appreciate it!
شنبه 12 فروردین 1396 07:54 ب.ظ
Greetings! Very useful advice in this particular post!
It's the little changes which will make the biggest changes.
Thanks a lot for sharing!
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر




صفحات جانبی
آمار وبلاگ
تاییدیه پرداخت
تبلیغات
به سایت تک کدر خوش آمدید