| فناورياطلاعات ، برنامهنويسي |
برنامه نويسي ، شبكه ، سيستم عامل ، پايگاه داده ، سيستم اطلاعات جغرافيايي ، مديريت و كنترل پروژه
|
Information
![]()
سلام دوست عزيز . اين وبلاگ در مورد فناوري اطلاعات و علوم مرتبط با اون هست و داراي آموزش كامل و گام به گام برنامه نويسي به زبان ++C .
************************ پيشنهاد ميكنم از لينكهاي بخش مقالات فناوري اطلاعات ديدن كنيد . ************************ به اميد اينكه مطالب مفيد واقع بشه . با ارائه نظرات سازنده ي خودتون من رو در هرچه پربارتر كردن اين وب ياري كنيد . متشكرم مقالات فناوري اطلاعات
سيستم اطلاعات جغرافيايي
گزارش كار آزمايشگاه فيزيك2 خلاصهي كتاب سيستمهاي عامل تأليف ويليام استالينگز بانك اطلاعات چيست ؟ علل كاهش سرعت كامپيوتر فركانس بالاتر يا هسته بيشتر؟! مديريت و كنترل پروژههاي IT راه اندازي شبكه ي بي سيم تمام پیوندها پیوندها
ترفندستان (حسين)
كليك كن سرگرم ميشي يه غريب آموزش امنيت و برنامهنويسي(مهدي زارعي) وبلاگ علمي تخصصي فناوري اطلاعات اديب آموزش حرفهاي هك ترفند و آموزش (smn) ۩۞۩ تبدیل صدای مرد به زن ۩۞۩ ترفندهای کامپیوتر و موبایل و آموزش آفیس(بهزاد) آموزش حرفه اي ويروس نويسي (رضا) گل سرخ كلبه درويشي (محمد) انجمن تخصصي ويژوال بيسيك 6 (سيد كمال رضايي) : :سایت تخصصی موبایل:: (نويد) سايت تخصصي برنامه نويسي (مهدي) ترفندستان (محمد) مرکز دانلود مقاله و کتاب و فونت و سوال فؤاد (قلبها) سهيلستان سايت بزرگ موبايل و كامپيوتر حسين كوهساري عشقاي بچگي (شهر دانلود...جاوا..فيلم..عکس) خدمات انفورماتيك و اطلاع رساني ماموت: وبلاگ مقالات مهندسي مكانيك و خودرو آموزش جامع كامپيوتر وبلاگ تخصصي كامپيوتر (محمد) مهندسان عمران آموزش گام به گام دلفي برنامه نويسي ( عليرضا ) پسرهاي با معرفت بهترین وبلاگ دانلود نرم افزار اورميا هك جستجوگر
طراح قالب
|
مثال : گسترش نوع
برنامهي زير ، يك عدد صحيح را با يك عدد مميز شناور جمع ميكند : int main() خروجي برنامهي بالا بصورت زير است : p = 24.1415 , n = 22 در برنامهي بالا ابتدا مقدار n از مقدار صحيح 22 به مقدار اعشاري 22.0 گسترش مييابد و سپس اين مقدار با مقدار قبلي p جمع ميشود ، حاصل يك عدد مميز شناور است . ************************************************************ مثال : گسترش نوع اين برنامه يك char را به int ، float و double گسترش ميدهد : int main() خروجي برنامه : char c = A در مثال بالا ابتدا متغير c از نوع char تعريف شده و كاراكتر 'A' در آن قرار گرفته است . سپس مقدار c درون متغير k كه از نوع short است قرار گرفته . چون نوع k بالاتر از نوع c است ، پس مقدار c به نوع short گسترش مييابد و مقدار 65 كه معادل عددي كاراكتر 'A' است درون k قرار ميگيرد . در خط بعدي ، مقدار k درون متغير m قرار ميگيرد . m از نوع int است كه نوع بالاتري از short ميباشد . پس مقدار k به int گسترش مييابد و اين مقدار گسترش يافته درون m گذاشته ميشود . به همين ترتيب در خطوط بعدي ، مقدار m به نوع long گسترش يافته و درون n قرار ميگيرد . مقدار n نيز به نوع float گسترش يافته و درون x قرار ميگيرد . مقدار x نيز به نوع double گسترش مييابد و درون y قرار ميگيرد . دقت كنيد كه مقدار x و y در خروجي بجاي آنكه 65.0 باشد بشكل 65 نشان داده شده . اين مقدار يك عدد صحيح نيست اما چون قسمت اعشاري آن صفر است ، اعشار حذف شده و 65 تنها نشان داده شده است . تبديل نوع ، گسترش نوع در قسمتهاي قبلي با محاسبات رياضي انواع عددي آشنا شديم اما در محاسبات رياضي كه انجام داديم همهي متغيرها از يك نوع بودند . اگر بخواهيم در يك محاسبه دو يا چند متغير از انواع مختلف بكار ببريم چه اتفاقي ميافتد ؟ قانون كلي اين است كه در محاسباتي كه چند نوع متغير وجود دارد ، جواب هميشه بشكل متغيري است كه دقت بالاتري دارد . يعني اگر يك عدد صحيح را با يك عدد مميز شناور جمع كنيم ، پاسخ بشكل مميز شناور است . به اين منظور ابتدا متغيرها و مقاديري كه از نوع با دقت كمتر هستند به نوع با دقت بيشتر تبديل ميشوند و سپس محاسبه روي آنها انجام ميشود . پس اگر يك عدد صحيح را اب يك عدد مميز شناور جمع كنيم ، ابتدا عدد صحيح تبديل به يك عدد مميز شناور ميشود ، سپس اين عدد با عدد مميز شناور ديگر جمع بسته ميشود و واضح است كه پاسخ نيز بشكل مميز شناور خواهد بود . اين كار بشكل خودكار انجام ميگيرد و ++C در چنين محاسباتي بشكل خودكار متغيرهاي با دقت كمتر را به متغيرهايي با دقت بيشتر تبديل ميكند تا همهي متغيرها از يك نوع شوند و آنگاه محاسبه را انجام ميدهد و پاسخ را نيز بشكل نوع با دقت بيشتر به دست ميدهد . به اين عمل گسترش ميگويند . اما اگر عكس اين عمل مورد نظر باشد ، يعني اگر بخواهيم يك متغير صحيح را با يك متغير مميز شناور جمع ببنديم و بخواهيم كه حاصل از نوع صحيح باشد نه مميز شناور بايد چكار كنيم ؟ در چنين حالتي از عملگر تبديل نوع استفاده ميكنيم . اين تبديل خودكار نيست بلكه كاملاٌ بايد دستي انجام شود و برنامه نويس ، خود بايد مراقب اين عمل باشد . براي اينكه مقدار يك متغير از انواع مميز شناور را به نوع صحيح تبديل كنيم از عبارت ()int استفاده ميكنيم . مثالهاي زير تبديل نوع و گسترش نوع را نشان ميدهند. مثال : تبديل نوع اين برنامه ، يك نوع double را به نوع int تبديل ميكند : int main() خروجي برنامهي بالا بصورت زير است : v = 1234.987 , n = 1234 در اين برنامه ، متغير v از نوع double و با مقدار 1234.987 تعريف شده است . همچنين متغير n از نوع int تعريف شده است . در خط پنجم از كد بالا از تبديل نوع استفاده شده است . با استفاده از اين دستور مقدار v ابتدا به نوع int تبديل ميشود و سپس اين مقدار درون n قرار ميگيرد . خروجي برنامه نشان ميدهد كه وقتي از عملگر ()int استفاده كنيم ، عدد مميز شناور بريده ميشود ، گرد نميشود . يعني قسمت اعشاري عدد بطور كامل حذف ميشود و فقط قسمت صحيح آن باقي ميماند . بنابراين وقتي عدد 1234.987 به نوع int تبديل شود ، حاصل برابر با 1234 خواهد بود و قسمت اعشاري آن (هر قدر هم بزرگ باشد) ناديده گرفته ميشود . در تبديل نوع ، همواره نوع و مقدار متغيرهاي تبديل شده بدون تغيير ميماند . در برنامهي بالا ، مقدار v تا پايان برنامه به همان مقدار 1234.987 باقي مانده و نوع v نيز تغيير نكرده و همچنان از نوع double مانده است . تنها اتفاقي كه افتاده اين است كه مقدار v در يك محل موقتي تبديل به int شده تا اين مقدار درون n قرار گيرد .
اگر فقط بعضي از شمارشگرها مقداردهي شوند ، آنگاه ساير شمارشگرها كه مقداردهي نشدهاند مقادير متوالي بعدي را خواهند گرفت : enum Day {SAT=1,SUN,MON,TUE,WED,THU,FRI} دستور بالا مقادير 1 تا 7 را بترتيب به روزهاي هفته تخصيص خواهد داد . همچنين دو يا چند شمارشگر در يك فهرست ميتوانند مقادير يكساني داشته باشند : enum Answer {NO=0,FALSE=0,YES=1,TRUE=1,OK=1} در كد بالا دو شمارشگر NO و FALSE داراي مقادير يكسان 0 و شمارشگرهاي YES و TRUE و OK نيز داراي مقدار يكسان 1 هستند . پس كد زير معتبر است و به درستي كار ميكند : Answer answer ; به اولين خط كد فوق نگاه كنيد . اين خط ممكن است كمي عجيب بنظر برسد . اين خط متغيري بنام answer از نوع Answer تعريف ميكند . اولين قانون در برنامههاي ++C را بخاطر بياوريد : " ++C بين حروف كوچك و بزرگ تفاوت قائل است " . پس Answer با answer متفاوت است . Answer را در خطهاي قبلي يك نوع شمارشي تعريف كرديم و answer را متغيري كه از نوع Answer است . يعني answer متغيري است كه ميتواند يكي از مقادير YES يا TRUE يا OK يا NO يا FALSE را داشته باشد . نحوهي انتخاب نامها آزاد است . اما بيشتر برنامهنويسان از توافق زير در برنامههايشان استفاده ميكنند : 1- براي نام ثابتها از حروف بزرگ استفاده كنيد . رعايت اين توافق به خوانايي برنامهي شما كمك ميكند . همچنين سبب ميشود كه انواع شمارشي كه كاربر تعريف ميكند از انواع استاندارد مثل int ، float ، char راحتتر متمايز شوند . شمارشگرها قواعد خاصي دارند . نام شمارشگر بايد معتبر باشد . يعني كلمهي كليدي نباشد ، با عدد شروع نشود و نشانههاي رياضي نيز نداشته باشد . پس تعريف زير غير معتبر است : enum Score {A+ , A , A- , B+ , B , B- , C+ , C , C- } زیرا +A و +B و -A و -B و -C و +C نامهاي غير معتبري هستند چون در نام آنها از نشانههاي رياضي استفاده شده است . علاوه براين ، شمارشگرهاي همنام نبايد در محدودههاي مشترك استفاده شوند . براي مثال تعريفهاي زير را در نظر بگيريد : enum Score { A , B , C , D } دو تعريف بالا غير مجاز است زيرا شمارشگر B در هر دو تعريف Score و Group آمده است . و آخر اينكه نام شمارشگرها نبايد بعنوان نام متغيرهاي ديگر در جاهاي ديگر برنامه استفاده شود . مثلاٌ : enum Score {A , B , C , D} در تعريفهاي بالا B و C را نبايد بعنوان نام متغيرهاي ديگر بكار برد زيرا اين نامها در نوع شمارشي Score بكار رفته است . پس اگر اين سه تعريف در يك محدوده باشند ، دو تعريف آخري غير مجاز خواهند بود . انواع شمارشي براي توليد كد " خود مستند " بكار ميروند . يعني كدي كه براحتي درك شود و نياز به توضيحات اضافي نداشته باشد . مثلاٌ تعاريف زير خود مستند هستند زيرا براحتي نام و نوع كاربرد و محدودهي مقاديرشان درك ميشود : enum Color { RED , GREEN , BLUE , BLACK , ORANGE } |
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 ©