کامپیوتر و IT و اینترنتعلوم مهندسی

برخی از توابع در زبان برنامه نوسی ++ C

صفحه 1:

صفحه 2:

صفحه 3:
«gg»

صفحه 4:
آنچه در این جلسه می خوانید ‎oles ۳‏ كتابخانهاى ()++ استاندارد '!- توابع ساخت كارير ۳ برنامةً آزمون ۳- اعلان‌ها و تعاریف تابع کامپابل جداکانة توابع 7 یرس سطر: تایه نی

صفحه 5:
هر توارع بولق ا ا 4160 ‎-١‏ ارسال به طريق ارجاع (درس) ۱ - ارسال از طریق ارجاع ثابت 1 )3

صفحه 6:
Eee ee le OSS) el |۱۳ to) a

صفحه 7:
هدف‌های رفتاری؛ ا 7 ‎oe‏ «تعریف» ‎Ghee‏ ۳ 5 و خودتان توابعى را ايجاد ‎PolPen prem ip ISS arr I OVEN RpCarer Septal DiTUye ey Oper peer ben) ‏مفهوم دآ ركومان»‎ - ‏- تفاوت ارسال به طريق ى «ارجاع» و ارسال به طريق «مقدار» و ارسال به طريق «ارجاع ثابت» را بيان كنيد و شكل استفاده از هر يكد را بدانيد. ‎>>>

صفحه 8:
۳ ew a hee ‏بدانيد.‎ - جندشكلى توابع را تعريف كنيد و شيوة آحن را بدانيد. Ie De aC ‏مم ا‎ ee

صفحه 9:
| دموتروه |۱7 oe ‏برنامههايى هستند كه تاكنون بررسى كرديم.‎ EEC ‏ل ا ل ل‎ bs) ‏باشند. برنامهنويسان اين برنامهها رابه‎ Re CCG a tL Lee) ‏زيريرنامههها «تابسع» نامیده مى شوند. رت را‎ 0 ‏ا ا‎ Psy Frame] ‏ل ا ا‎ ‏كرد‎

صفحه 10:
‎glseaty als}‏ سب ارندارد «كتابخانة ‎++O‏ استاندارد» مجموعه‌ای است که ‎ee ere)‏ ل ا ل برنامه است. این توابع و عناصر از طریق « .. » قابل دستیابی‌اند. قبلا برخی از آن‌ها را استفاده کرده‌ایم: ثاببت ‎1011٠1‏ كهدر < ‎١‏ > تعريف شده. تابع (702010 كه در < 220 > تعريف شده است ‎wed‏

صفحه 11:
he ab ‏ريشة دوم يك عدد مثبت مثيت. حذر آن عدد است.‎ تابع مانند يك برنامة كاملء. داراى روند ورودى - پردازش - خروجی است هرچند که پردازش» مرحله‌ای پنهان است. یعنی نمی‌دانیم که تابع روی عدد ۲ چه اعمالی انجام می‌دهد که ۴۱۴۲۱/۱ حاصل می‌شود.

صفحه 12:
برای اجرای یک تابع مانند تابع جح() کافی ‎are ae a ree Ree‏ 0 Pepe ‏ا ا ا‎ py vers p=sqt(x);

صفحه 13:
‎See |‏ م تانيع ما داحضار تایسع» گفته مىشود. بنابراين وقتى كد (:)01+< اجرا شود, تابع 1<() فراخوانى مى كردد. عبارت << درون يرانتز ‎nen eS DC] eer) Fe wey CD‏ 0 می‌شود. در چنین حالتی می‌گوییم که > توسط «مقدار» به نت فرستاده مىشود. لذا 39 / ‏است. با اجرای کد (71< تابع ۷۱() فراخوانی شده و مقدار "ابه لن فرستاده مىشود. تابع مذكور تحر حاسكل :دراه عنوان ياسخ

صفحه 14:
ا 0 رم نج 5 متغيرهاى « و بر در تابع ۵() تعریف شده‌اند. مقدار « که برابر با ااست به تابع #4() فرستاده مىشود و اين تابع مقدار ۵ .را به تابع ل ا ا 000 را نشان مىدهذ به رنك تيره است, به اين معنا كه فرايند داخلى و ‎eS)‏ ا 2 055

صفحه 15:
۱ ‏ا‎ any] این برنامه هم از سرفایل <7۵3> استفاده می‌کند. هدف این است که صحت رابطةً :)20 :2) به شکل تجربی بررسى شود. ref ca) { Por Poatx=O; x < S; x += ©.) rout << x << "WI" << (C*x) << "\" >>( رم 2۳ >>

صفحه 16:
‎io‏ لان 0 0 ‏خروجى نشان مىدهد كه براى هر مقدار آزمایشی >« مقدار 2:6 با مقدار ‎rere 0‏ ‏0 ‏۷ ‏تچ ۱0 ار سر ۱۳۱۱۱۹ ار الحا .0 1۳ ‎Te ‎0 ‏ری ‎ae ‎9 ‎۳9

صفحه 17:
i a Sc ‏م‎ Tee ‏ریت شده است. بعفيى إن لين‎ ae ‏را‎ ee 00 ‏ا ل‎ ‎asin(x) 1, 0.201358‏ ‎aie‏ سينوس معكوس + ابه راديان) ‏(8830)0.2 مقبار ‎atan(x) 1, 0.197396‏ بر تنزانت معکوس ‏ (بهرادیان) ‎ceil (3.141593) ‎ceil(x) 0 aie 5 0 cos (2) ‎cos (x) 1,0.416147‏ در رط کسینوس ‏ (به رادیان) ‎suis exp (2)

صفحه 18:
floor(x ‏مقدار كف (كرد‎ floor(3.141593) مقدار 3.00 را برمی‌گردلند ‏ شده) ) ۳۹ 0.693147 ,| لگاریتم طبیعی عد (در و۱0 بسرمیگردلند پایه ع) ‎rere jus Log (2)‏ لك ۹ [ ‎pow(x,p 1, 8.0 ,vi pow(2,3)‏ جردا نه «به تولن ) ‎ ‎

صفحه 19:
7 pee teers Er Te ya lead eee Pelee Tew) ‏نوع‎ ‏تابع فرستاده شود. قبل از اين که تابع آن را پردازش‎ كند. مقدارش ‎ex el‏ ارتقا مىدهد.

صفحه 20:
۸ fe 715۳5 © لع ع ‎٩‏ اين سرفايلها از كتابخانة 0 استاندارد كرفته ”7 شده‌اند. استفاده از آن‌ها شبیه استفاده از سرفایل‌های ()++ استاندارد (مانند > ) است. برای مثال اگر بخواهیم تابع اعداد تصادفی له را از سرفایل <7210> به کار ببریم. باید دستور پیش‌پردازندةٌ زیر را به ابتدای فایل برنامةٌ اصلی اضافه کنیم: ۸ ۸۱ | ۸ ‎<vstdlib>‏ مش ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 21:
Dy ces alin گرچه توابع بسیار متنوعی در کتابخانةً 0++ استاندارد وجود دارد ولی این توابع برای بیشتر وظایف برنامه‌نویسی کافی نیستند. علاوه بر این برنامه‌نویسان دوست دارند خودشان بتوانند توابعی را بسازند و استفاده نمایند.

صفحه 22:
eat eo Ole Pye Coes an eas Sane | oa tot vube(tat x) { ac Nac oa ate eS ca ed return ‏کرک‎

صفحه 23:
یک تا بع سا< 3 خت كارير دو ق 7 اح عنوان 5 تابع به 8 بر ۳۳ aT 1 7 ست:

صفحه 24:
روص و۲۳ ‎ae‏ عمده قاب اول اين كه اجراء ‎pipe‏ ‏نها ‎ay ime ae‏ ‎coli! pq‏ كرددايم 5-1 كت به نام «تابع اصلى» را تعريف م ىكند. نوع باز كشتى اين تابع از نوع #وااست. نام آلن 5د ‎mean‏ و و كه ست؛ یعنی هیچ پارامتری ندارد. وع سس ‎eee ee‏ 0 مه ‎= . {=

صفحه 25:
‎Ao po‏ آزسون و تنها هدف این برنامه. امتحان ‏كردن تابع و بررسی صحت ‏بر = ‎ms‏ 2 برچسب‌ها و راهنماهای خوانا - را لحاظ کنید. ‎

صفحه 26:
مثال ۵-۴ یک برنامهةً آزمون برای تابع علح() ‎AC run eee EC‏ 00 برنامهً حاضر اعداد صحیح رااز ورودى مى كيرد و 0 ‎gad Sh‏ کر مكار د را رجاه تي tot vube(tat x) اس 0000 a atc ORO can 0 20: white (a != O) 9 ‎a <<") = "<< pube(a) << eo); }}‏ << ما مت

صفحه 27:
هر عدد صحیحی که خوانده می‌شود. با استفاده از کد ‎et cay‏ عل ‎na‏ می‌شود. ۰ | PY ee دقت كنيد كه ‎oo Fan EO AC ar‏ تعریف شده زيرا قبل از اين كه 7 ‎ENO at‏ 2-495 () به كار رودء كاميايلر (00++ بايد در بارةٌ آن اطلاع حاصل كند. main() cube() 5 ‏ع‎ ‏لما ل‎ pea 0 ۳ 9 ‏تصور نمود:‎ a ۳7

صفحه 28:
مثال 0-8 يك برنامة آزمون براى تابع ©( اا ا ا ‎PU Pee‏ سا سس ‎mee ee‏ ا 11 سس |

صفحه 29:
دستور 202020 نوعى دستور يرش است (شبیه دستور . . ) زیرااجرارابه لك ل ‎a> S|‏ 07 20202 درانتهاى تابع قرار ‎ce‏ رس الس ديكرى از تابع قرار داد.

صفحه 30:
به دو روش ميتوان توابع را تعريف نمود: -تولبع قبل از تابع 7۵0() به طور کامل با بدنه مربوطه آورده شوند. -راه ديكرى كه بيشتر رواج دارد اين كونه است که ابتدا تابع اعلان 01000 | قرار بگیرد.

صفحه 31:
لت لت لت لب تمس لد 520 ‏اعلان مه‎ Ewer 2 ire) es ۷ Come ce) peri ea Sy Pw Prom pp) ايك ‎Bd CS ISS er) paste‏ :اعلان شود. تابع هم همين طور است با اين فرق كه متغير رادر هر جايى از برنامه می‌توان اعلان کرد ا.ا تابیر را راب د قبل از برنامة اصلی الا نمود.

صفحه 32:
در اعلان. تابع فقط 9 مى شود تك نوع تابع .نام ‎ets a ae‏ همينها براى كاميايلر كافى است تا بتواند کامپایل برنامه را آغاز کند. سپس در زمان اجرا به تعريف بدنة تابع نيز احتياج مىشود كه اين بدنه در انتهاى برنامه و يس از تابع 25ت () قرار مى كيرد.

صفحه 33:
: ‏ارگومان _ پارامتر‎ oe ) متغیرهایی هستند که در فهرست يارامتر يك تابع نام برده مى شوند. ‎pene)‏ ا ی می‌شوند؛ یعنی فقط در طول اجرای تابع وجود ۰۳ 202 متغيرهايى هستند كهاز برنامة اصلى به ‎fold‏ فرستاده مى شوند.

صفحه 34:
‎waren tne);‏ بر ‎iat wai) ‎ ‎) ۸ dy ‏زو << مه << وو { ‎ ‏>> و ک> )م۱۱ >> نوس ‎

صفحه 35:
ee | تاتداردر در ۱۱۱۱۵ يبادهسازى شدداند و هنكامى كه يكى از لن توايع را در برنامه‌هایتان بسه کار می‌برید باید با دستور راشای پیش بر دازنددء 0 توابع رابه ‎hed QUA‏ كثيدر FF ‏رت‎

صفحه 36:
۱- اولین مزیت «مخفی‌سازی اطلاعات» است. ۲-مزیت دیگر این است که توابع مورد نیاز را می‌توان قبل از این که برنامة اصلی نوشته شود. جداگانه آزمایش نمود. ۳-سومین مزیت این است که در هر زمانی به راحتی می‌توان تعریف توابع را عوض کرد بدون این که لازم باشد برنامة اصلی تغییر یابد. ۴چهارمین مزیت هم این است که می‌توانید یک بار یک تابع را کامپایل و ذخیره کنید و از تن پس در برنامه‌های مختلفی از همان تابع استفاده ببرید.

صفحه 37:
رت

صفحه 38:
رک اول برنامه اصلی وقبل از اضافه کنیم: ‎cee Rec ee‏ ی اه ز ‎Sct er ORS ae‏ 00000 2 ۱ الي ۱ << wax(w,a) << eo;

صفحه 39:
نحوةٌ كاميايل كردن فايلها و الصاق آنها به ‎ee nCe)‏ ا ا ‎Fee rN eer‏ ‎PEED] Dea‏ ا ‎PD‏ ‏رادر فايلهايى از نوع و ‎Peers)‏ 7 0 بيشتر بافايلهاى ,ارا(ا) به مرجع ويندوز و كاميايلرهاى ()++ مراجعه كنيد.

صفحه 40:
ee eee ‏اعلان گر دد. ۱ نه متغیر ها فقط در دا<‎ پارامترهای تابع محلى براى آن تابع هستند.

صفحه 41:
22010 an ae BOROW Be beh F Se eet Foyer POE CET 7 WBS LOIN SpyecIC Ee 0 ..)0()()0( BR 7 ‏وا هام‎ ۰ ۱ ‏للك اش‎ Stel WE =a) PAS or; ca

صفحه 42:
‎Bee Pepe ye oom ercmy ee)‏ باشند تن ‏باشند. ‎1 Sl Ree Mey oS Coen ee eS eo eve We ‏ا‎ ree eee Bee ene ‏ا‎ ‏ساخت. به مثال زير نكاه كنيد.‎ ‎0000 Te ‏ا ل ا ا ا ل ‎Polar‏ ‏مىكند كه به جند طريق مىتوان >اعنصر دلخواه از يك مجموعة - ۰ 7 استفاده مى شود:

صفحه 43:
0 ‏ا ا‎ otro ee ۳ ‏ا‎ SF oe)| شرط به كار رفتهدر دستور “#براى محدود كردن ‎Tene‏ ا ا ال ل ا ا ا 01 تابع مقدار ‎٠‏ را برمى كرداند تانشان دهد كه يك ورودى اشتباه وجود داشته است. ی هن سمتت اما ee ac Aa i) Ree et eee ead F(a <Q) || ١ > © || ‏(ه < ؟!‎ ret O; ‏تست يي‎

صفحه 44:
Pom ESOL NBEO. ac ant bey oi Ab UN AA Nea em aaa ۱ میمصت ‎joo‏ ۱ 6 ا ‎Por (Gre eH)‏ ‎ere‏ ‎vot << pod OG@ dear ee o‏ ‎i 956 60 160 560 ۵0۵‏ ‎SPO. S680‏ و2 وحن + لبن

صفحه 45:
vor gi -۷ لازم نیست یک تابع حتما مقداری را بر گرداند. در ۶++ برای ۱ باز كشتى تابع استفاده مى كنند ل ل ال ات از آن‌جا که یک تابع لس مقداری را برنمی گرداند. نیازی به دستور 9 ‎reser SBIR eee eee ele Sec Crowe‏ به شکل تنها استفاده کنیم بدون این که بعد از کلمةٌ نم تم .۶ دیگری بیاید: ۳۳2 CSW ‏ال‎ NaN ay re Ren caus] a)

صفحه 46:
‎rope ۳‏ 1۱ ا ا ‎ere‏ استفاده مى شود بسيار مفيد است. ‏رت ا ‎ee‏ ‏ال رن ‎owe ters]‏ ا ‎et Se re ie ed Oo‏ ۱ ‎

صفحه 47:
مثال ۵-۱۰ تابعی که اول بودن اعداد را بررسی می‌کند كد زير یک تابع بولی است که تشخیص می‌دهد آیا عدد صحیح ارسال شده به آن, اول است یا خیر: اس مها ‎Race A ate aa ee oe‏ 10 ی مت مزا ‎ // O ood ( we wit priwes‏ ۱ ‎[CO od 9 oe the Pret prives‏ ۱ ‎PF (a%C == O) retura Poe} // © is the oly eves prive‏ ‎Lael (ic Re Ros a HR talc)‏ ‎(QMO) aisha eam es ieee‏ ‎retura fru; USN aaa aa es cece‏

صفحه 48:
(VO) ‏توابغ ورودق /خروجی‎ -٩ بح 1۱۳ به هدف اصلى برنامه مربوط نيست را مىتوان به توابع سيرد. در چنین شرایطی سودمندی توابع محسوس‌تر می‌شود. ‎BND EC See eer cE Se)‏ الم كرددايد كه سوابق تحصيلى دانشجويان را نكه مىدارد. در اين ‎Or Ps) Ibe ee‏ ا 0000 دانشجو وارد شود. اكر وظيفة دريافت سن را به عهدةٌ يك تابع .۰ جزییاتی از قبیل کنترل ورودی معتبر. يافتن سن از روی تاریخ تولد و ... را در اين تابع پیاده‌سازی کنید ‏ ... ‎ ..‏ ‏از مسير برنامة اصلى منحرف شويد.

صفحه 49:
‎ec)‏ ا اا ا ل لاا ا ‎۵-٩ 0‏ 0 اصلی برنمی گرداند و فقط برای چاپ نتایج به کار می‌رود. ‏ابن ارت 3 :نات ‎١‏ توابع خروجی . . یعنی توابعی که ‏فقط برای چاپ نتایج به کار می‌روند و هیچ مقدار باز گشتی ندارند. ‏.سا نیز به همین روش کار می‌کنند اما در جهت رت ۳ ‎el tpeE exes el ewd]‏ ۱ ندارند. ‎

صفحه 50:
een) ‏مثال ۵-۱۱ تابعی برای دریافت سن کاربر‎ ‏رس عفص ارسي ا ع سي‎ 007 7 PEP bo5)) cuelys y2 4 Se FE ede el CD eae ek SED 1۱ ot ga hea ee eRe 0 ‏مى ين ست‎ الا ينا PF (a < O) wu << “Wow wee cod wt be vexnive."; ebe F (ac > (CO) pou << "\l/ou coud wot aa el eee 5 ‎a Ai‏ >> بود

صفحه 51:
fom eM AN Brel bn ener pear eres A eres ‏اسف‎ ‏ابر‎ ‎{ [ests the ae() Puowtiva: ‏)صم د مم‎ ‎Ae‏ م ا و ل ی ام ‎57 ‎Nae Rn av) ‏تسم‎ ‎0 ‏سنطكيوكه صط اص للنوص جكب عسويو نا ماده بصا 512101011116 امس ا ‎ ‎ ‎0

صفحه 52:
‎sails‏ لحظه ‎aes]‏ يارامترهايى كه 8 توابع ديديم به طریق ‎SO | aD‏ ا 10 ‎ROO ES ES ere eee ne Peper Cy‏ ‎eee ee at eer Eee]‏ 1 ‏0 ۱ سپس این مقدار به متغير محلى ‎ES‏ تابع فرستاده می‌شود و پس از آّن تابع کار خویش را آغاز می‌کند. در 0 ‏۰ محلی است هیچ تغییری روی مقدار « نمی گذارد.

صفحه 53:
پس خود ‏ به تابع نمی‌رود بلکه مقدار آن درون تابع کپی می‌شود. ‎ee Oe ee See ae an eS SEE eer ee ne Leer)‏ به اين ترتيب تابع مى تواند مقدار »ارا بخواند اما نمى تواند مقدار »درا تغيير دهد. به همین دلیل به « یک پارامتر «فقط خواندنی» می‌گویند. وقتی ارسال به وسیلةٌ مقدار باشد. هنگام فراخوانی تابع می‌توان از عبارات استفاده كرد. ‎aC Aeon co)‏ لل ا ‎eC oe ae) eer‏ نك ‎Pepe (eM a Cont (o)) Bp ear ry‏ 0 حالات. عبارت درون يرانتز به شكل يك مقدار تكى براورد شده و حاصل آن مقدار به تابع فرستاده می‌شود.

صفحه 54:
هرت ا ‎peppy ocd pea tne) pret]‏ 00 ‎ey‏ اما كاهى اوقات عمدا مىخواهيم اين اتفاق رخ دهد. يعنى مىخواهيم كه تابع بتواند محتويات متغير فرستاده شده به اسن را دس تكارى كند. در اين حالتا٠زف‏ << -2 استفاده مى كنيم.

صفحه 55:
برای این که مشخص کنیم یک پارامتر به طریق ارجاع ارسال می‌شود. علامت را به نوع پارامتر در فهرست يارامترهاى تابع اضافه مى كنيم. اين باعث مىشود كه تابع ‎Cure A‏ ا ل ا ا م خود آرگومان محلی را به کار بگیرد. به این ترتیب تابع هم می‌تواند مقدار آر گومان فرستاده ‎FEC Seared Creel ire Selle prac‏ ‎ee eaten‏ ا ‎eee Ne‏ خواهد بود.

صفحه 56:
هر تغييرى كه روى يارامتر ا ا 7 ۱ * مثال ۵-۱۲ تابع جمط) ‎Ree BPO ees Boil‏ ۱ vord swap(Piout& x, Pioat& py) ۱0/۳ ‏و مت مر‎ هدف این تابع جابجا کردن دو عنصری است ‎rr cae‏ ل ‎ree‏ 1۱ پارامترهای >«و مربه صورت پارامترهای ۱ ماما سنا

صفحه 57:
ل ل 0 ارسالی ‎Pow SL ees OP vel el 1 NT pee toy alk Hee econo)‏ ‎votd swap(Pioat&, Piot&)‏ وت رم رات رت تیمک ‎atc, a AT‏ | ‎Ha biel oleh oil ol wlohe)‏ eek ee <a ee |

صفحه 58:
وقتى فراخوانى (ط,هك)صيح اجرا مىشود. »ابه رن مىكند و عإبه ط سيس متغير | BEES ens Sil ere peg comp TU ee COE BCE E) ‏از آلن مقدار بم(كهيجمان حااست) درون‎ 0 ‏می‌گیرد ا‎ ‏می‌شود. نتيجمة :4581 إِينْ است كه مقادي‎ ‏جابجا می شوند. سل مقابل نشان میا‎ ‏مى د هذ : ر) ووو بعد از بازگشت‎ fe) ‏جابجايى‎ 1 float& float& لت ‎float‏

صفحه 59:
1 vord swap(Poat&, Pioat&) ROWS pes OBC TSSOP A ees Po ee] 1۳ ‏برنامه‌نویسان 7 عادت دارند كه عملكر ارجاع و6‎ ‏ا ا ان ان‎ PSP eek ‏ل ا ا ل‎ OBS) 0

صفحه 60:
۲ Beebe ENO ato) ۱ a ey ener yy ۳ n 9) pe wont eb) ‏ا‎ A) 7 0 ‏ل‎ S| era eo A Reo Ml dame ۳ OS | P(,b) wou << "a= "<<u<<"\b="<<b << ocd ‏رت سوت‎ eS SE ‏الج >> ط >> " د نز‎ ‏ا (مرهه , عدم)ع لد‎ ‏2م‎ © ( ۱ ‏ته وو رن‎

صفحه 61:
00 TO NO FBR Tee SIN Ces Cha Roane reared ۲)( ۳ 22 10 cane

صفحه 62:
در جدول زير خلاصة تفاوتهاى بين ارسال از طریق مقدار و ارسال 7 00 jint x Cee wee ‏*مترادفبا آركومازلست‎ | ‏و‎ آ رگومان ارسال شده از طبریق ارجاع فقط باید يك متغيس باشد آركومان نواندنى- نوشتنى است a ‏اه‎ ‎Pah a 4 eee Pee. Cee Pe sen CORP Ar Sia io wer) آركومان ارسال شده از طبریق مقدار می‌تواند يك ثابته يك متغيس یا یک عبارت باشد آركومان فتط خواندنى است

صفحه 63:
يكى از مواقعى كه يارامترهاى ارجاع مورد نياز ‎more BE Eatery‏ ا 0 7( دستور ‎a Nat‏ 0 مىتواند يك مقدار ۳ ۹ بنابراين اكر بايد بيش از يك مقدار بر كشت داده شودء ‎pple roe)‏ پارامترهای ارجاع انجام مى دهند.

صفحه 64:
۷ FY ea av OME? ae At PP ee dee SNCS Pe Be ioc ‏جح أمس جوج (محيط و مساحت) براى دايرهاى كه شعاع آن عدد‎ مفروض «است: ‎arcu, double& vircucPereuwe,‏ ل ام ۸/۱ ان ‎Ne AS ahh ane ee oats‏ ‎Pac tg‏ رت ارت بت ره رت رت ره یت لا ل ‎Cod baat‏ ال ماس ات تس مت المع 1

صفحه 65:
برنامة آزمون تابع فوق و يك اجراى آزمايشى آن در شكل زير نشان داده شده است: لي گت مس مگ سر ‎oF a circle wits //‏ ام لعن يا يس يدا مه هط ۱ ‎Pe oe ain id‏ He AC ata << جوز

صفحه 66:
ارسال پارامترها به طریق ارجاع دو خاصیت مهم دارد: این که تابع می‌تواند روی آر گومان واقعی تفییراتی بدهد ‎er CES SPO ee be Cae|‏ 1 ‎ly SI RU wont been SES)‏ اك . این روش مانند ارسال از طریق ارجاع است با اين فرق كه تابع نمى تواند محتويات يارامتر ارجاع ‎tr el Mento CrOwny by‏ 1 ۱ براى اين كه يارامترى رااز نوع ارجاع ثابت اعلان كنيم بايد ‎es‏ ا ا 0

صفحه 67:
مثال ۵-۱۵ ارسال از طریق ارجاع ثابت سه طریقه ارسال پارامتر در تابع زیر به کار رفته است: ‎a et 9)‏ ۱ 3 تصش Peet ee ee I eo Sd لو >> >>

صفحه 68:
۱ يمي يننا ۳ اج میا مها را ۱ ۱ ‎Peet he ed a‏ ‎eC SRT Cre‏ 1 وت ‎CRE be Ser‏ ل | ‎eno‏ ‏۰ سس« ‎Se PILES Tee)‏ 3 ‎CO Re we. wikis eerie)‏ ‎EIT OO Tae See beatae)‏ روى آركومان طهم تاثير مىكذارد زيرا ط از طريق ارجاع به تابع فرستاده شده.

صفحه 69:
ee RC peer Ron Bao ee ene aed] BT Le Oe eee en wey we ES evar ‏مى كنند مثل آرايهها يا نمونة كلاس_-ها كه در‎ 02000 ‏0م‎ Lene ee ‏ا ا ل‎ ا 2

صفحه 70:
تسولبع بسپلسطه -16 تابعی که به شکل بی‌واسطه تعریف می‌شود. ظاهری شبیه به تولبع معمولی دارد با این فرق که عبارت ۲ در اعلان و تعریف آنن قبد شده است. ها ۱ falta tot rube(tat 2) Race A aes خم ار ها تما

صفحه 71:
. به برنامهةٌ آزمون زیر نگاه کنید: بر :مصاعصخذا ()وطدج صذا كاوها | ) ‎ripe Seer‏ ا رد ی داشته باشد. مثلا اكر يك تابع بىواسطه ‎ee‏ ‏6 خط كدباشدواين تابع روم ويل نقطية, ا لمم د ‎١ eet ‎

صفحه 72:
چندشکلیتولیع -16 در + می‌توانیم چند تابع داشته باشیم که ‎Free ee.)‏ دارند. در این حالت می‌گوییم که تابع مذكور, جندشكلى دارد. شرط اين كار آسن است كه فهرست يارامترهاى اين توابع با يكديكر تفاوت داشته باشد. يعنى تعداد يارامترها متفاوت باشد با دست کم یکی از ارا تاق متتاظر هم نوع نباشند.

صفحه 73:
مثال 0-11 جندشكلى تابع >5 () ۱ Same) oe) 9 eee Ee i ee Ray) cea) ‏می‌گیریم:‎ رسمه tat war(tet, te, tof); fof wax(doubk, dole); tot wain() { wt << um(9,P?) <<" << wn(SO,89,99) << ۱۰ >> ‏)سس‎ 6060.6 ,.6© .©(: i

صفحه 74:
‎v)‏ ۵ب موی با ‏تحص مهب مب عا ۴ مومت سا یو || ) ‎vetura («> py ? xiv);‏ ‎} ‎ket rant >, tol, ۸ z) ‏وه مورف ‎oP he tere‏ موم ‎the‏ بو | ) (رر ی درجم عم 4( :2 ۰ <2<) موم ‎} ‎Rie hese a are ‎MERE ROTC‏ اي ا ا ‎Gey ٩ ۶‏ باق ‎۷

صفحه 75:
در این برنامه سه تابع با نام «() تعریف شده است. لكت ل ا ا ا ل ان م م ا 0 ‎Oey‏ ا ل مه ۱ Clee OLE. at ‏م ل م ا‎ Ew cs ‏ارسال شده. يس نسخهداى كه دو يارامتر وادر فهرست‎ ‏يارامترهايش دارد فراخوانى مىشود. اكر اين نسخه‎ 20 ‏وجود نداشته باشد. کامپایلر #هارابه‎ ‏می‌دهد و سپس نسخداى كه دو 7 طاطحلك دارد را‎ ‏فرا مىخواند.‎

صفحه 76:
(Oxo ‏تابع‎ -۴ ۱ Rey oe oe Opel eels ‏هستند.‎ 0 Pe ETD PEC el gripe Sc mon BT) nar Es Omt esa) ‏همراه‎ Oras sir ‏در حقيقت هر برنامه كاملء از يى‎ ‏توابع ديكر تشكيل شده است كه هر يك از اين توابع به‎ )(۵۲ ‏شکل مستقیم یاغیر مستقیم از درون تابع‎ 00

صفحه 77:
خود برنامه با فراخوانی تابع ۵۳() شروع می‌شود. چون این تابع یک نوع باز گشتی ۱ دارد. منطقی است که بلوک دمص ‎eS‏ ‎Hee Reenter as OamT | SrA rece‏ ل ذكر نكرد. SSIES ren ha a Byrn Cape re ae Ibe) ere ed EP BC Mey be EE CC MED Pe DRED BeBe ‏به این معنا که برنامه بدون خطا پایان گرفته است.‎ oy ee el Te a gy mere DL mec) a) Peer Se Cee U eer Bers

صفحه 78:
مثال ‎0-١‏ استفاده از دستور هؤْه: براى يايان دادن به يى برنامه اماه ب لي للا ‎Cay oe)‏ ل ل 30 :لك ره ها را به قراخواننده بازمی گرداند. به همین دلیل است كه اجراى دستور محف ةك در تابع 45 () كل برنامة 27" >> ابوس را خاتمه مىدهد. << ی << وی ‎P (d = = O) rete 0:‏ ‎pout <<a << "/" << d << "=" << did << ech;‏ i نت يمد ين تت

صفحه 79:

صفحه 80:
مثال ‎۹٩‏ ۵-۱ استفاده از تابع ۳۳4 برای پایان دادن به برنامه تم ‎a ORO‏ وت دس رز ‎dePces ti oto ood pout bbe‏ || = ا Re a a دراین برنامة اگر کاربر عدد ۰را تم ی رم ۱ می‌یابد و برنامه بدون هیچ مقدار ‎double x;‏ { ا ا ‎Pere‏ ‎PR Stace oH‏ } Cee eee Ca oe - eee و سس ها عسه | ) ‎Poe dete) 0 cE ea acd‏ + م00 یمس

صفحه 81:
آیکو مارهاو ینور ض- 19 در (0)++ مىتوان تعداد ۱۳ تابع را در زمان اجرا به دلخواه تغيير داد. BO per eR TS Rests oer co sore ee ger | ‏امکان‌پذیر است.‎ 9 SON SOG we Bee ROSE neve iC be ‏فهرست پارامترهای تابع و جلوی پارامتر مربوطه به همراه علامت مساوی‎ ۱ Ore Rey TP rd nl ee) nd a PORES De ‏ا‎ BMP res econ on el SIT ael Op cs

صفحه 82:
مثال ل ور جر با بح کت 5-5 30 زير حاصل جند جملهاى درجه سوم را اك این مقدار از الگوریتم هورنر استفاده شده. ل ا ري 1 ‏بيشتر. محاسبه به صورت‎ oe 2 > ‏ان‎ eee ‏ل‎ ‎mnt << ‏دا‎ p(x,P,O) << ead; rout << "p(x,P,8,S) =" << p(x,P,O,S) << ccd; mut << "p(x,P,8,9,P) =" << p(x,P,9,9,€) << ead; 0 الل ‎db‏ لاا يي الال لد ا لحن ‎EL‏ الاي ا ا ال 0 ‎ee ein 0‏ + ©) + اه + هه مدر - ۳ دش ‎i‏ ©1062 د ۱۳

صفحه 83:
دقت كنيد كه يارامترهايى كه مقدار يب شفرض دارند بايد در فهرست ل ل ا ل ل vod A tata, ‏الا الي لي‎ // OM vod y(tag, tot b=O, ta v=, tad, cte=O); // GRROR همچنین هنگام فراخوانی تابع. آر گومان‌های ذکر شده به ترتیب از چپ به 0 ‏ل لل‎ San Oe ee TP RO rere Rec y) لاسرم () كه در بالا قيد شد. فراخوانى ار ۰ را 00 0

صفحه 84:
پایان جلسه پنجم

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
34,000 تومان