| فناورياطلاعات ، برنامهنويسي |
برنامه نويسي ، شبكه ، سيستم عامل ، پايگاه داده ، سيستم اطلاعات جغرافيايي ، مديريت و كنترل پروژه
|
Information
![]()
سلام دوست عزيز . اين وبلاگ در مورد فناوري اطلاعات و علوم مرتبط با اون هست و داراي آموزش كامل و گام به گام برنامه نويسي به زبان ++C .
************************ پيشنهاد ميكنم از لينكهاي بخش مقالات فناوري اطلاعات ديدن كنيد . ************************ به اميد اينكه مطالب مفيد واقع بشه . با ارائه نظرات سازنده ي خودتون من رو در هرچه پربارتر كردن اين وب ياري كنيد . متشكرم مقالات فناوري اطلاعات
سيستم اطلاعات جغرافيايي
گزارش كار آزمايشگاه فيزيك2 خلاصهي كتاب سيستمهاي عامل تأليف ويليام استالينگز بانك اطلاعات چيست ؟ علل كاهش سرعت كامپيوتر فركانس بالاتر يا هسته بيشتر؟! مديريت و كنترل پروژههاي IT راه اندازي شبكه ي بي سيم تمام پیوندها پیوندها
ترفندستان (حسين)
كليك كن سرگرم ميشي يه غريب آموزش امنيت و برنامهنويسي(مهدي زارعي) وبلاگ علمي تخصصي فناوري اطلاعات اديب آموزش حرفهاي هك ترفند و آموزش (smn) ۩۞۩ تبدیل صدای مرد به زن ۩۞۩ ترفندهای کامپیوتر و موبایل و آموزش آفیس(بهزاد) آموزش حرفه اي ويروس نويسي (رضا) گل سرخ كلبه درويشي (محمد) انجمن تخصصي ويژوال بيسيك 6 (سيد كمال رضايي) : :سایت تخصصی موبایل:: (نويد) سايت تخصصي برنامه نويسي (مهدي) ترفندستان (محمد) مرکز دانلود مقاله و کتاب و فونت و سوال فؤاد (قلبها) سهيلستان سايت بزرگ موبايل و كامپيوتر حسين كوهساري عشقاي بچگي (شهر دانلود...جاوا..فيلم..عکس) خدمات انفورماتيك و اطلاع رساني ماموت: وبلاگ مقالات مهندسي مكانيك و خودرو آموزش جامع كامپيوتر وبلاگ تخصصي كامپيوتر (محمد) مهندسان عمران آموزش گام به گام دلفي برنامه نويسي ( عليرضا ) پسرهاي با معرفت بهترین وبلاگ دانلود نرم افزار اورميا هك جستجوگر
طراح قالب
|
دستورهاي انتخاب تودرتو دستورهاي انتخاب ميتوانند مانند دستورالعملهاي مركب بكار روند . به اينصورت كه يك دستور انتخاب ميتواند درون دستور انتخاب ديگر استفاده شود . به اين روش ، جملههاي تودرتو (Nested Statements) ميگويند . مثال : دستورهاي انتخاب تودرتو int main() در برنامهي بالا ، دستور if..else دوم درون دستور if..else اول قرار گرفته است . پس if..else دوم وقتي اجرا ميشود كه d صفر نباشد . توجه كنيد كه در اينجا مجبوريم دو بار از عبارت does not divide استفاده كنيم . اولي در اولين دستور if..else قرار گرفته و زماني اجرا ميشود كه d صفر نباشد و n%d صفر گردد . دومي هم وقتي اجرا ميشود كه d صفر باشد . وقتي دستور if..else به شكل تودرتو بكار ميرود ، كامپايلر از قانون زير جهت تجزيهي اين دستورالعمل مركب استفاده ميكند : هر else با آخرين if تنها جفت ميشود . با بكارگيري اين قانون ، كامپايلر به راحتي ميتواند كد پيچيدهي زير را رمزگشايي كند : if ( a>0 ) if ( b>0 ) ++a ; else if ( c>0 ) // BAD CODING STYLE براي اينكه كد بالا را خواناتر و قابل فهمتر كنيم ، ميتوانيم آن را به شكل زير بنويسيم : if ( a>0 ) مثال : يك خطاي منطقي ديگر اين برنامه خطادار است : int main() خروجي برنامه : enter three integers : 0 0 1 منشأ خطا در برنامهي بالا اين است كه عبارات منطقي مقدارهاي عددي دارند . چون عبارت (n1>=n2>=n3) از چپ به راست ارزيابي ميشود ، به ازاي وروديهاي فوق ، اولين بخش ارزيابي يعني n1>=n2 درست است چون 0=<0 اما درست به شكل عدد 1 در حافظه نگهداري ميشود . سپس اين مقدار با مقدار n3 كه 1 ميباشد مقايسه ميشود . يعني عبارت 1=<1 ارزيابي ميشود كه اين هم درست است . نتيجه اين است كه كل عبارت به عنوان درست تفسير ميشود گرچه در حقيقت اين طور نيست ! (0 ماكسيمم 0 و 1 نيست) ايراد كار اينجاست كه خط اشتباه بطور نحوي صحيح است . بنابراين نه كامپايلر ميتواند خطا بگيرد و نه سيستم عامل . اين نوع ديگري از خطاي منطقي است . نتيجهي اين مثال آن است كه : هميشه به خاطر داشته باشيد عبارات منطقي مقدار عددي دارند . بنابراين شرط هاي مركب ميتوانند گول زننده باشند . عبارات منطقي يك عبارت منطقي شرطي است كه يا درست است يا نادرست . در مثال قبلي عبارات d>0 و n%d==0 و (d>0 && n%d==0) عبارات منطقي هستند . قبلاٌ ديديم كه عبارات منطقي با مقادير صحيح ارزيابي ميشوند . مقدار صفر به معناي نادرست و هر مقدار غير صفر به معناي درست است . به عبارات منطقي عبارات بولي هم ميگويند . چون همهي مقادير صحيح ناصفر به معناي درست تفسير ميشوند ، عبارات منطقي اغلب تغيير قيافه ميدهند . براي مثال دستور : if ( n ) cout << " n is not zero " ; وقتي n غير صفر است عبارت n is not zero را چاپ ميكند زيرا عبارت منطقي (n) وقتي مقدار n غير صفر است به عنوان درست تفسير ميگردد . كد زير را نگاه كنيد : if ( n%d ) cout << " n is not a multiple of d " ; دستور خروجي فقط وقتي كه n%d ناصفر است اجرا ميشود و n%d وقتي ناصفر است كه n بر d بخشپذير نباشد . گاهي ممكن است فراموش كنيم كه عبارات منطقي مقادير صحيح دارند و اين فراموشي باعث ايجاد نتايج غير منتظره و نامتعارف شود . ارزيابي ميانبري عملگرهاي && و || به دو عملوند نياز دارند . يعني به دو مقدار نياز دارند تا مقايسه را روي آن دو انجام دهند . شرط هاي مركب كه از && و || استفاده ميكنند عملوند دوم را بررسي نميكنند مگر اينكه لازم باشد . گفتيم كه p&&q نادرست است اگر p نادرست باشد . در اين حالت ديگر نيازي نيست كه q بررسي شود . همچنين p||q درست است اگر p درست باشد و در اين حالت هم نيازي نيست كه q بررسي شود . در هر دو حالت گفته شده ، با ارزيابي عملوند اول به سرعت نتيجه معلوم ميشود . اين كار ارزيابي ميانبري گفته ميشود . مثال : ارزيابي ميانبري برنامهي زير بخشپذيري اعداد صحيح را بررسي مي كند : int main() در اجراي زير ، d مثبت و n%d صفر است . بنابراين شرط مركب درست است : enter two integers : 300 5 در اجراي بعدي ، d مثبت است اما n%d صفر نيست . بنابراين شرط مركب نادرست است : enter two integers : 300 7 در آخرين اجرا ، d صفر است . پس به سرعت برآورد ميشود كه شرط مركب نادرست است بدون اينكه عبارت دوم يعني : n%d==0 ارزيابي شود : enter two integers : 300 0 ارزيابي ميانبري در مثال بالا از خرابي برنامه جلوگيري ميكند زيرا وقتي d صفر است ، رايانه نميتواند عبارت n%d را محاسبه كند . |
Technology
آرشیو
هفته اوّل آبان 1388
هفته سوم شهریور 1388 هفته سوم مرداد 1388 هفته چهارم تیر 1388 هفته دوم فروردین 1388 هفته اوّل بهمن 1387 هفته سوم مهر 1387 هفته چهارم شهریور 1387 هفته سوم شهریور 1387 هفته دوم شهریور 1387 هفته اوّل شهریور 1387 هفته چهارم مرداد 1387 هفته سوم مرداد 1387 هفته دوم مرداد 1387 هفته اوّل مرداد 1387 هفته چهارم تیر 1387 هفته سوم تیر 1387 هفته دوم تیر 1387 هفته دوم اسفند 1386 هفته سوم بهمن 1386 هفته چهارم دی 1386 هفته دوم دی 1386 آمار وبلاگ
» تعداد بازدیدها:
» مرورگر: امکانات اضافي
|
© All Rights Reserved by mrz-it.Blogfa.com ©