در روش جستجوي دودويي به يک آرايۀ مرتب نياز است.
هنگام جستجو آرايه از وسط به دو بخش بالايي و پاييني تقسيم ميشود.
مقدار مورد جستجو با آخرين عنصر بخش پاييني مقايسه ميشود.
اگر اين عنصر کوچکتر از مقدار جستجو بود، مورد جستجو در بخش پاييني وجود ندارد و بايد در بخش بالايي به دنبال آن گشت.
دوباره بخش بالايي به دو بخش تقسيم ميگردد و گامهاي بالا تکرار ميشود.
....
كد float
a[]; كه آرايه a را اعلان ميكند دو چيز را به كامپايلر ميگويد:
1- اين که نام آرايه a است
2- عناصر آرايه از نوع float هستند.
سمبل a نشاني حافظۀ آرايه را ذخيره ميکند. لازم نيست
تعداد عناصر آرايه به کامپايلر گفته شود زيرا از روي نشاني موجود در a ميتوان عناصر را بازيابي نمود. به همين
طريق ميتوان يک آرايه را به تابع ارسال کرد. يعني فقط نوع آرايه و نشاني حافظۀ آن
به عنوان پارامتر به تابع فرستاده ميشود.
13- توابع بيواسطه
تابعي که به شکل بيواسطه تعريف ميشود، ظاهري شبيه به توابع معمولي دارد با اين فرق که عبارت inline در اعلان و تعريف آن قيد شده است.
مثال 16-5 تابع cube() به شکل بيواسطه
اين همان تابع cube() مثال 3-5 است:
inline int cube(int x)
{ // returns cube of x:
return x*x*x;
}
تنها تفاوت اين است كه كلمۀ كليدي inline در ابتداي عنوان تابع ذکر شده. اين عبارت به كامپايلر ميگويد كه در برنامه به جاي cube(n) کد واقعي (n)*(n)*(n) را قرار دهد.
. به برنامۀ آزمون زير نگاه کنيد:
6- كامپايل جداگانۀ توابع
توابع کتابخانۀ C++ استاندارد به همين شکل پيادهسازي شدهاند و هنگامي که يکي از آن توابع را در برنامههايتان به کار ميبريد بايد با دستور راهنماي پيشپردازنده، فايل آن توابع را به برنامهتان ضميمه کنيد.
اين کار چند مزيت دارد:
1- اولين مزيت «مخفيسازي اطلاعات» است.
2-مزيت ديگر اين است که توابع مورد نياز را ميتوان قبل از اين که برنامۀ اصلي نوشته شود، جداگانه آزمايش نمود.
3-سومين مزيت اين است که در هر زماني به راحتي ميتوان تعريف توابع را عوض کرد بدون اين که لازم باشد برنامۀ اصلي تغيير يابد.
4-چهارمين مزيت هم اين است که ميتوانيد يک بار يک تابع را کامپايل و ذخيره کنيد و از آن پس در برنامههاي مختلفي از همان تابع استفاده ببريد.
تابع max() را به خاطر بياوريد. براي اين که اين تابع را در فايل جداگانهاي قرار دهيم، تعريف آن را در فايلي به نام max.cpp ذخيره ميکنيم. فايل max.cpp شامل کد زير است:
......
جلسه پنجم
« توابع»
1-مقدمه
برنامههاي واقعي و تجاري بسيار بزرگتر از برنامههايي هستند که تاکنون بررسي کرديم. براي اين که برنامههاي بزرگ قابل مديريت باشند، برنامهنويسان اين برنامهها را به زيربرنامههايي بخشبندي ميکنند. اين زيربرنامهها «تابع» ناميده ميشوند. توابع را ميتوان به طور جداگانه کامپايل و آزمايش نمود و در برنامههاي مختلف دوباره از آنها استفاده کرد.
2- توابع كتابخانهاي C++ استاندارد
«كتابخانۀ C++ استاندارد» مجموعهاي است که شامل توابع از پيش تعريف شده و ساير عناصر برنامه است. اين توابع و عناصر از طريق «سرفايلها» قابل دستيابياند.
قبلا برخي از آنها را استفاده كردهايم: ثابت INT_MAX که در <climits> تعريف شده ، تابع ()sqrt که در <cmath> تعريف شده است و... .
جلسه چهارم
«تكرار»
مقدمه
تكرار، اجراي پي در پي يك دستور يا بلوكي از دستورالعملها در يك برنامه
است. با استفاده از تکرار ميتوانيم کنترل برنامه را مجبور کنيم تا به خطوط قبلي
برگردد و آنها را دوباره اجرا نمايد.
C++ داراي سه دستور تكرار است:
دستور while، دستور do_while و دستور for. دستورهاي تکرار به علت طبيعت چرخهمانندشان، حلقه نيز ناميده ميشوند.
1- دستور while
مقدمه
همۀ برنامههايي که در دو جلسه اول بيان شد، به شکل ترتيبي اجرا ميشوند، يعني دستورات برنامه به ترتيب از بالا به پايين و هر کدام دقيقا يک بار اجرا ميشوند. در اين جلسه نشان داده ميشود چگونه از دستورالعملهاي انتخاب1 جهت انعطافپذيري بيشتر برنامه استفاده کنيم. همچنين در اين جلسه انواع صحيح كه در C++ وجود دارد بيشتر بررسي ميگردد.
دستور if
دستور if موجب ميشود برنامه به شکل شرطي اجرا شود. نحو آن به گونۀ زير است:
....
جلسه دوم
«انواع اصلي»
هدف کلي:
معرفي انواع متغييرها و نحوۀ بهکارگيري آنها در برنامههاي C++
هدفهاي رفتاري:
انتظار ميرود پس از پايان اين جلسه بتوانيد:
- انواع عددي صحيح در C++ را نام ببريد و متغيرهايي از اين نوعها را در برنامهها به کار ببريد.
.....
مقدمه:
زبان C يک زبان همه منظوره است. دستورالعملهاي اين زبان بسيار شبيه عبارات جبري و نحو آن شبيه جملات انگليسي مي باشد. اين امر سبب ميشود که C يک زبان سطح بالا باشد که برنامهنويسي در آن آسان است
++C که از نسل C است، تمام ويژگيهاي C را به ارث برده است. اما برتري فني ديگري هم دارد: C++ اکنون «شيگرا» است. ميتوان با استفاده از اين خاصيت، برنامههاي شيگرا توليد نمود. برنامههاي شيگرا منظم و ساختيافتهاند، قابل روزآمد کردناند، به سهولت تغيير و بهبود مييابند و قابليت اطمينان و پايداري بيشتري دارند.