صفحه 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:
پایان جلسه پنجم