| C++ برنامه نويسي به زبان |
اين وبلاگ در مورد فناوري اطلاعات و علوم مرتبط ميباشد
|
آرم وبلاگ
![]()
سلام دوست عزيز . من مرضيه دانشجوي مقطع كارشناسي فناوري اطلاعات هستم . اين وبلاگ در مورد فناوري اطلاعات و علوم مرتبط با اون هست و داراي آموزش كامل و گام به گام برنامه نويسي به زبان ++C .
************************ پيشنهاد ميكنم از لينكهاي بخش مقالات فناوري اطلاعات ديدن كنيد . ************************ به اميد اينكه مطالب مفيد واقع بشه . با ارائه نظرات سازنده ي خودتون من رو در هرچه پربارتر كردن اين وب ياري كنيد . متشكرم مقالات فناوري اطلاعات
بانك اطلاعات چيست ؟
علل كاهش سرعت كامپيوتر فركانس بالاتر يا هسته بيشتر؟! مديريت و كنترل پروژههاي IT راه اندازي شبكه ي بي سيم تمام پیوندها پیوندها
ترفندستان (حسين)
كليك كن سرگرم ميشي خداي كامپيوتر آريا پسر جنجالي بلوگفا عاشقان ميلان و كاكا يه غريب سورن تك دانلود آهنگ (فرزاد) شب مهتابي(مهناز) آموزش امنيت و برنامهنويسي(مهدي زارعي) وبلاگ علمي تخصصي فناوري اطلاعات اديب آموزش حرفهاي هك ويژوال بيسيك (VB) ترفند و آموزش (smn) ۩۞۩ تبدیل صدای مرد به زن ۩۞۩ ترفندهای کامپیوتر و موبایل و آموزش آفیس(بهزاد) الکامپ 87 دنیای مجازی آموزش حرفه اي ويروس نويسي (رضا) گل سرخ كلبه درويشي (محمد) انجمن تخصصي ويژوال بيسيك 6 (سيد كمال رضايي) : :سایت تخصصی موبایل:: (نويد) سايت تخصصي برنامه نويسي (مهدي) ترفندستان (محمد) مرکز دانلود مقاله و کتاب و فونت و سوال فؤاد (قلبها) سهيلستان سايت بزرگ موبايل و كامپيوتر راه درمان جوش و آكنه حسين كوهساري يه دانشجو عشقاي بچگي (شهر دانلود...جاوا..فيلم..عکس) اورميا هك جستجوگر
طراح قالب
|
دستور for نحو دستور for به صورت زير است : for ( initialization ; condition ; update ) statement ; سه قسمت داخل پرانتز ، حلقه را كنترل ميكنند . عبارت initialization براي اعلان يا مقداردهي اوليه به متغير كنترل حلقه استفاده ميشود . اين عبارت ، اولين عبارتي است كه ارزيابي ميشود پيش از اينكه نوبت به تكرارها برسد . عبارت condition براي تعيين اينكه آيا حلقه بايد تكرار شود يا خير بكار ميرود . يعني اين عبارت شرط كنترل حلقه است . اگر اين شرط درست باشد ، دستور statement اجرا ميشود . عبارت update براي پيش بردن متغير كنترل حلقه بكار ميرود . اين عبارت پس از اجراي statement ارزيابي ميشود . بنابراين زنجيرهي وقايعي كه تكرار را ايجاد ميكنند عبارتند از : 1- ارزيابي عبارت initialization عبارتهاي initialization و condition و update عبارتهاي اختياري هستند . يعني ميتوانيم آنها را در حلقه ذكر نكنيم .
در پست 78 برنامه نويسي به زبان ++C ، مثالي از اعداد فاكتوريل رو نوشتم . از اونجايي كه ممكنه بعضي از دوستان با مفهوم فاكتوريل آشنايي نداشته باشن ، من در اين پست مفهوم فاكتوريل رو شرح ميدم : براي اينكه نشون بديم كه ميخوايم فاكتوريل يك عدد رو محاسبه كنيم ، جلوي اون عدد علامت ! قرار ميديم . مثل : !1 يا !2 يا !3 يا ... در رياضيات محاسبهي فاكتوريل يك عدد بشكل زير هست : مثلاٌ براي گرفتن فاكتوريل از هر عددي (در اينجا عدد 5) داريم : 5! = 5 * 4 * 3 * 2 * 1 = 120 و به اين شكل خونده ميشه : پنج فاكتوريل برابر است با پنج ضربدر چهار ، ضربدر سه ، ضربدر دو ، ضربدر يك ، برابر است با صدوبيست . و براي هر عدد ديگري هم به همين شكل عمل ميكنيم . در ضمن اين نكته رو به ياد داشته باشيد كه فاكتوريل صفر برابر با يك هست : 1=!0
مثال : اعداد فاكتوريل اعداد فاكتوريل !0 و !1 و !2 و !3 و ... با استفاده از رابطههاي بازگشتي زير تعريف ميشوند : 0! = 1 , n! = n ( n - 1 ) ! براي مثال ، به ازاي n=1 در معادلهي دوم داريم : 1! = 1 ( ( 1-1 ) ! ) = 1 ( 0! ) = 1 ( 1 ) = 1 همچنين براي n=2 داريم : 2! = 2 ( ( 2-1 ) ! ) = 2 ( 1! ) = 2 ( 1 ) = 2 و به ازاي n=3 داريم : 3! = 3 ( ( 3-1 ) ! ) = 3 ( 2! ) = 3 ( 2 ) = 6 برنامهي زير همهي اعداد فاكتوريل را كه از عدد داده شده كوچكترند ، چاپ ميكند : int main() خروجي برنامه عبارت است از : enter a positive integer : 100000 حلقهي do..while تا وقتي تكرار ميشود كه شرط درون حلقهي while نادرست شود . دستور do..while ساختار do..while روش ديگري براي ساختن حلقه است . نحو آن به صورت زير است : do statement while ( condition ) ; به جاي condition يك شرط قرار مي گيرد و به جاي statement دستور يا بلوكي قرار ميگيرد كه قرار است تكرار شود . اين دستور ابتدا statement را اجرا ميكند و سپس شرط condition را بررسي ميكند . اگر شرط درست بود ، حلقه دوباره تكرار ميشود وگرنه حلقه پايان مييابد . دستور do..while مانند دستور while است . با اين تفاوت كه شرط اجراي حلقه به جاي اينكه در ابتداي حلقه ارزيابي گردد ، در انتهاي حلقه ارزيابي ميشود . يعني هر متغير كنترلي به جاي اينكه قبل از شروع حلقه تنظيم شود ميتواند درون آن تنظيم گردد . نتيجهي ديگر اين است كه حلقهي do..while هميشه بدون توجه به مقدار شرط اجرا ، حداقل يكبار اجرا ميشود اما حلقهي while ميتواند اصلاٌ اجرا نشود . مثال : محاسبهي حاصل جمع اعداد صحيح متوالي با حلقهي do..while int main()
متوقف كردن يك حلقهي نامتناهي اگر از راهكارهاي خاتمهي حلقه استفاده نكنيد ، حلقه براي هميشه ادامه پيدا ميكند و به طبع آن ، برنامه هم هيچگاه به پايان نميرسد . ممكن است شرطي كه براي اجراي حلقه مينويسيد هنگام اجراي برنامه هيچگاه نادرست نشود و حلقه تا بينهايت ادامه يابد . در چنين مواردي از سيستمعامل كمك بگيريد . با فشردن كليدهاي Ctrl+C سيستمعامل يك برنامه را به اجبار خاتمه ميدهد . كليد Ctrl را پايين نگاه داشته و كليد C روي كيبورد خود را فشار دهيد تا برنامهي فعلي خاتمه پيدا كند . به كد زير نگاه كنيد : int main() خروجي برنامه : enter a positive integer : 1000 چون هيچ شرط پايان حلقهاي در اين برنامه وجود ندارد ، اجراي برنامه تا بينهايت ادامه خواهد يافت (تا وقتي حافظه سرريز شود) . پس كليدهاي Ctrl+C را فشار دهيد تا برنامه خاتمه يابد .
سلام .
فرا رسيدن رمضان ، ماه ضيافت الهي رو به همهي شما تبريك ميگم و اميدوارم هيچ كدوم از مهموني خدا دست خالي برنگرديم .
مثال : استفاده از تابع (0)exit تابع (0)exit روش ديگري براي خاتمه دادن به يك حلقه است . هرچند كه اين تابع بلافاصله اجراي كل برنامه را پايان ميدهد : int main() خروجي برنامهي بالا به شكل زير است : enter a positive integer : 1000 برنامهي بالا پس از بدنهي حلقه هيچ دستور ديگري ندارد . پس خاتمه دادن حلقه به معني پايان دادن برنامه است . برنامه نويسان ترجيح ميدهند از break براي خاتمه دادن به حلقههاي نامتناهي استفاده كنند زيرا قابليت انعطاف بيشتري دارد .
مثال : اعداد فيبوناچي اعداد فيبوناچي ... F0 , F1 , F2 , F3 به شكل بازگشتي توسط معادلههاي زير تعريف ميشوند : F0 = 0 , F1 = 1 , Fn = Fn-1 + Fn-2 مثلاٌ براي n=2 داريم : F2 = F2-1 + F2-2 = F1 + F0 = 0 + 1 = 1 يا براي n=3 داريم : F3 = F3-1 + F3-2 = F2 + F1 = 1 + 1 = 2 و براي n=4 داريم : F4 = F4-1 + F4-2 = F3 + F2 = 2 + 1 = 3 برنامهي زير همهي اعداد فيبوناچي را تا يك محدودهي مشخص كه از ورودي دريافت ميشود ، محاسبه و چاپ ميكند : int main() خروجي برنامه به شكل زير است : enter a positive integer : 1000 حلقهي while شامل بلوكي از پنج دستور است . وقتي شرط ( f2 > bound ) درست باشد ، دستور break اجرا شده و بدون اينكه سه دستور آخر حلقه اجرا شوند ، حلقه فوراٌ پايان مييابد . توجه داشته باشيد كه از كاراكتر خط جديد 'n\' در رشتهي "1,n0\:" استفاده شده است . اين باعث ميشود كه علامت : در پايان خط فعلي چاپ شود و سپس مكاننما به خط بعدي روي مانيتور پرش كند و رشتهي 0,1 را ابتداي آن خط چاپ كند .
خاتمه دادن به يك حلقه در پستهاي قبل طرز استفاده از دستور break براي كنترل دستورالعمل switch را ديديم . از دستور break براي پايان دادن به حلقهها نيز استفاده ميشود . مثال : استفاده از دستور break براي خاتمه دادن به حلقه int main() خروجي برنامه : enter a positive integer : 100 در برنامهي بالا همين كه مقدار i به n برسد ، حلقه خاتمه مييابد و دستور خروجي در پايان برنامه اجرا ميشود . توجه كنيد كه شرط اجراي حلقه ، true است . بدين ترتيب حلقه براي هميشه تكرار ميشود و هيچگاه پايان نمييابد ، اما در بدنهي حلقه شرطي هست كه سبب پايان يافتن حلقه ميشود : به محض اينكه i>n شود دستور break حلقه را ميشكند و كنترل به بيرون حلقه پرش ميكند . وقتي قرار است حلقه از درون كنترل شود ، معمولاٌ شرط كنترل حلقه را true ميگذارند . با اين روش عملاٌ شرط اجراي حلقه حذف ميشود .
مثال : استفاده از حلقهي while براي تكرار يك محاسبه برنامهي زير جذر هر عددي كه كاربر وارد كند را محاسبه ميكند . در اين برنامه از حلقهي while استفاده شده تا مجبور نباشيم براي محاسبهي جذر عدد بعدي برنامه را دوباره اجرا كنيم : int main() خروجي برنامه : enter a positive number : 49 در اين برنامه ، شرط اجراي حلقه ، عبارت (x>0) است . مقدار x درون حلقه با تغيير عدد ورودي تغيير ميكند . بنابراين حلقه فقط وقتي خاتمه مييابد كه عدد ورودي برابر با صفر يا كمتر از آن باشد . متغيري كه به اين شكل براي كنترل حلقه استفاده شود ، متغير كنترل حلقه نام دارد .
مثال : محاسبهي حاصل جمع اعداد صحيح متوالي با حلقهي while اين برنامه مقدار زير را براي عدد ورودي n محاسبه ميكند : 1+2+3+...+n int main() برنامهي بالا از سه متغير محلي n و i و sum استفاده ميكند . متغير i با مقدار 1 مقداردهي اوليه ميشود و عددي كه كاربر وارد ميكند در متغير n قرار ميگيرد . متغير sum نيز با صفر مقداردهي اوليه ميشود . سپس حلقهي while آغاز ميگردد : ابتدا مقدار i با n مقايسه ميگردد . اگر i<=n بود مقدار i با مقدار sum جمع شده و حاصل در sum قرار ميگيرد . به i يكي افزوده شده و دوباره شرط حلقه بررسي ميشود . هنگامي كه i بزرگتر از n شود ، حلقه متوقف ميشود . پس n آخرين مقداري است كه به sum افزوده ميشود .
تكرار (Iteration) تكرار اجراي پيدرپي يك دستور يا بلوكي از دستورالعملها در يك برنامه است . با استفاده از تكرار ميتوانيم كنترل برنامه را مجبور كنيم تا به خطوط قبلي برگردد و آنها را دوباره اجرا كند . ++C داراي سه دستور تكرار است : دستور while ، دستور do_while و دستور for . دستورهاي تكرار به علت طبيعت چرخه مانندشان ، حلقه (Loop) نيز ناميده ميشوند . دستور while نحو دستور while به شكل زير است : while ( condition ) statement ; بجاي condition يك شرط قرار ميگيرد و بجاي statement دستوري كه بايد تكرار شود قرار ميگيرد . اگر مقدار شرط ، صفر (يعني نادرست) باشد ، statement ناديده گرفته ميشود و برنامه به اولين دستور بعد از while پرش ميكند . اگر مقدار شرط ناصفر (يعني درست) باشد ، statement اجرا شده و دوباره مقدار شرط بررسي ميشود . اين تكرار آنقدر ادامه مييابد تا اينكه مقدار شرط صفر شود . توجه كنيد كه شرط بايد درون پرانتز قرار بگيرد .
كلمات كليدي تا اينجا با كلماتي مثل if و case و float آشنا شديم . دانستيم كه اين كلمات براي ++C معني خاصي دارند . از اين كلمات نميتوان بعنوان نام يك متغير يا هر منظور ديگري استفاده كرد و فقط بايد براي انجام همان كار خاص استفاده شوند . مثلاٌ كلمهي float فقط بايد براي معرفي يك نوع اعشاري بكار رود . يك كلمهي كليدي در يك زبان برنامهنويسي كلمهاي است كه از قبل تعريف شده و براي هدف مشخصي منظور شده است . ++C استاندارد اكنون شامل ۷۴ كلمهي كليدي است : and / and_eq / asm / auto / bitand / bitor / bool / break / case / catch / char / class / compl / const / const_cast / continue / default / delete / do / double / dynamic_cast / enum / explicit / export / extern / false / float / for / friend / goto / if / inline / int / long / mutable / namespace / new / not / not_eq / operator / or / or_eq / private / protected / public / register / reinterpret_cast / return / short / signed / sizeof / static / static_cast / struct / switch / template / this / throw / true / try / typedef / typoid / typename / using / union / unsigned / virtual / void / volatile / wchar_t / while / xor / xor_eq كلمات كليدي مانند if و else تقريباٌ در هر زبان برنامهنويسي يافت ميشوند . ديگر كلمات كليدي همچون dynamic_cast منحصر به ++C هستند . دو نوع كلمهي كليدي وجود دارد : كلمههاي رزرو شده و كلمات استاندارد . يك كلمهي رزرو شده كلمهاي است كه يك دستور خاص از آن زبان را نشان ميدهد . كلمهي كليدي if و else كلمات رزرو شده هستند . يك شناسهي استاندارد كلمهاي است كه يك نوع دادهي استاندارد از زبان را مشخص ميكند . كلمات كليدي bool و int شناسههاي استاندارد هستند زيرا هر يك از آنها يك نوع دادهي خاص را در زبان ++C مشخص ميكنند . براي اطلاعات بيشتر در مورد كلمات كليدي به كامپايلر ++C مراجعه كنيد . عملگر عبارت شرطي يكي از مزيتهاي ++C اختصار در كدنويسي است . عملگر عبارت شرطي يكي از امكاناتي است كه جهت اختصار در كد نويسي تدارك ديده شده است . اين عملگر را ميتوانيم بجاي دستور if..else بكار ببريم . اين عملگر از نشانههاي ؟ و : به شكل زير استفاده ميكند : condition ? expression1 : expression2 ; در اين عملگر ابتدا شرط condition بررسي ميشود . اگر اين شرط درست بود ، حاصل كل عبارت برابر با expression1 ميشود و اگر شرط نادرست بود ، حاصل كل عبارت برابر با expression2 ميشود . مثلاٌ در دستور انتساب زير : min = ( x اگر x ************************************************************** مثال : نسخهي جديدي از برنامهي يافتن مقدار مينيمم int main() عبارت شرطي ( m : n ؟ m مثال : تلهي سقوط در دستور switch برنامهي زير بدون دستورهاي break دچار تلهي سقوط ميشود . int main() خروجي برنامه : enter your test score : 83 در اجراي فوق ، پس از اينكه به case 8 انشعاب شد و عبارت مقابل آن چاپ شد ، چون دستور break وجود ندارد ، اجراي برنامه به خط بعدي كه case 7 است ميرود و عبارت your grade is C را نيز چاپ ميكند و به همين ترتيب يكييكي همهي عبارتهاي case را اجرا ميكند و سرانجام عبارت default را هم اجرا نموده و آنگاه از دستور switch خارج ميشود .
|
منوي اصلی
آرشیو
هفته دوم شهریور 1387
هفته اوّل شهریور 1387 هفته چهارم مرداد 1387 هفته سوم مرداد 1387 هفته دوم مرداد 1387 هفته اوّل مرداد 1387 هفته چهارم تیر 1387 هفته سوم تیر 1387 هفته دوم تیر 1387 هفته دوم اسفند 1386 هفته سوم بهمن 1386 هفته چهارم دی 1386 هفته دوم دی 1386 آمار وبلاگ
» تعداد بازدیدها:
» مرورگر: امکانات اضافي
|
© All Rights Reserved by mrz-it.Blogfa.com ©