تبلیغات
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی - آموزش تابع و ارائه چند مثال معروف در سی پلاس
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی
دانلود رایگان سورس پروژه
سایت برنامه نویسی تک کدر 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
جمعه 27 مهر 1397 04:38 ب.ظ
I love it whenever people come together and share ideas.
Great site, stick with it!
پنجشنبه 26 مهر 1397 04:40 ب.ظ
Hi, i think that i saw you visited my blog so i came to “return the favor”.I'm trying to find things to
enhance my site!I suppose its ok to use some of your ideas!!
چهارشنبه 18 مهر 1397 02:20 ب.ظ
Hey! This is kind of off topic but I need some advice 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
tips or suggestions? Appreciate it
دوشنبه 16 مهر 1397 09:29 ب.ظ
Thank you for the good writeup. It actually was once a entertainment account it.
Look advanced to far introduced agreeable from
you! By the way, how could we communicate?
دوشنبه 16 مهر 1397 01:12 ق.ظ
Good post! We will be linking to this particularly great article on our website.

Keep up the good writing.
یکشنبه 15 مهر 1397 09:03 ب.ظ
At this moment I am ready to do my breakfast, after having my breakfast coming
again to read other news.
یکشنبه 15 مهر 1397 10:22 ق.ظ
This is very interesting, You are a very skilled blogger.
I've joined your feed and look forward to seeking more of your wonderful post.

Also, I have shared your web site in my social networks!
شنبه 14 مهر 1397 02:11 ب.ظ
Hello outstanding blog! Does running a blog similar
to this take a great deal of work? I have no expertise in coding however I had been hoping to
start my own blog soon. Anyway, if you have any
suggestions or techniques for new blog owners please share.
I understand this is off topic however I just needed to ask.
Kudos!
سه شنبه 10 مهر 1397 11:45 ق.ظ
I absolutely love your blog and find the majority of your post's to be exactly what I'm looking for.
Would you offer guest writers to write content available for you?
I wouldn't mind creating a post or elaborating on a
lot of the subjects you write concerning here. Again, awesome web log!
سه شنبه 10 مهر 1397 01:26 ق.ظ
Excellent beat ! I would like to apprentice while
you amend your website, how could i subscribe for a blog web site?

The account helped me a acceptable deal. I had been a little
bit acquainted of this your broadcast provided bright clear concept
دوشنبه 9 مهر 1397 07:13 ب.ظ
After going over a few of the articles on your web site, I honestly appreciate your way of blogging.

I book marked it to my bookmark website list and will be checking back in the near future.
Please check out my website as well and tell me what you think.
دوشنبه 9 مهر 1397 11:20 ق.ظ
I read this article fully on the topic of the comparison of most recent and previous technologies,
it's remarkable article.
دوشنبه 26 شهریور 1397 07:50 ب.ظ
Can you tell us more about this? I'd care to find out
more details.
دوشنبه 26 شهریور 1397 05:04 ق.ظ
This piece of writing will assist the internet
viewers for creating new web site or even a weblog
from start to end.
چهارشنبه 21 شهریور 1397 03:21 ب.ظ
I know this if off topic but I'm looking into starting my own blog and was wondering
what all is required to get set up? I'm assuming having a blog like yours would cost
a pretty penny? I'm not very internet savvy so I'm not 100%
positive. Any recommendations or advice would be greatly appreciated.

Appreciate it
سه شنبه 20 شهریور 1397 01:53 ب.ظ
Hey very cool site!! Man .. Excellent .. Wonderful ..
I'll bookmark your site and take the feeds additionally?

I'm glad to search out so many helpful info right here in the post, we want work out extra techniques in this
regard, thank you for sharing. . . . . .
یکشنبه 18 شهریور 1397 11:14 ب.ظ
As the admin of this site is working, no doubt very rapidly it will be renowned,
due to its feature contents.
سه شنبه 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!
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


نمایش نظرات 1 تا 30


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