تبليغاتX
فناوري‌اطلاعات ، برنامه‌نويسي

برنامه نويسي ، شبكه ، سيستم عامل ، پايگاه داده ، سيستم اطلاعات جغرافيايي ، مديريت و كنترل پروژه

Information
سلام دوست عزيز . اين وبلاگ در مورد فناوري اطلاعات و علوم مرتبط با اون هست و داراي آموزش كامل و گام به گام برنامه نويسي به زبان ++C .
************************
پيشنهاد مي‌كنم از لينك‌هاي بخش مقالات فناوري اطلاعات ديدن كنيد .
************************
به اميد اينكه مطالب مفيد واقع بشه . با ارائه نظرات سازنده ي خودتون من رو در هرچه پربارتر كردن اين وب ياري كنيد .
متشكرم

مقالات فناوري اطلاعات
پیوندها
جستجوگر

طراح قالب

Powered By
BLOGFA.COM
لینک RSS
برنامه نويسي به زبان ++C (پست 40)
نوع شمارشي enum

علاوه بر انواعي كه تاكنون بررسي كرديم ، مي‌توان در ++C انواع جديدي كه كاربر نياز دارد نيز ايجاد نمود . براي اين كار راه‌هاي مختلفي وجود دارد كه بهترين و قوي‌ترين راه ، استفاده از كلاس‌هاست (كلاس‌ها را مفصلاٌ شرح خواهم داد) ، اما راه ساده‌تري نيز وجود دارد و آن استفاده از انواع شمارشي enum است .

يك نوع شمارشي ، يك نوع صحيح است كه توسط كاربر مشخص مي‌شود . نحوه‌ي تعريف يك نوع شمارشي به شرح زير است :

enum typename { enumerator }

كه enum كلمه‌اي كليدي است ، typename نام نوع جديد است كه كاربر مشخص مي‌كند و enumerator-list مجموعه‌ي مقاديري است كه اين نوع جديد مي‌تواند داشته باشد . بعنوان مثال به تعريف زير دقت كنيد :

enum Day { SAT , SUN , MON , TUE , WED , THU , FRI }

حالا Day يك نوع جديد است و متغيرهايي كه از اين نوع تعريف مي‌شوند مي‌توانند يكي از مقادير درون آكولاد را داشته باشند :

Day  day1 , day2 ;
day1 = MON ;
day2 = THU ;

وقتي نوع جديد Day و محدوده‌ي مقاديرش را تعيين كرديم ، مي‌توانيم متغيرهايي از اين نوع جديد بسازيم . در كد بالا ، متغيرهاي day1 و day2 از نوع Day تعريف شده‌اند . آنگاه day1 با مقدار MON و day2 با مقدار THU مقداردهي شده است .

مقادير SAT و SUN و ... هرچند كه به همين شكل بكار مي‌روند اما در رايانه بشكل اعداد صحيح 0 و 1 و 2 و ... ذخيره مي‌شوند . به همين دليل است كه به هر يك از مقادير SAT و SUN و ... يك شمارشگر مي‌گويند . وقتي فهرست شمارشگرهاي يك نوع تعريف شد ، بطور خودكار مقادير 0 و 1 و 2 و ... بترتيب به آنها اختصاص مي‌يابد . هرچند كه مي‌توان اين ترتيب را شكست و مقادير صحيح دلخواهي را به شمارشگرها نسبت داد :

enum Day { SAT=1 , SUN=2 , MON=4 , TUE=8 , WED=16 , THU=32 , FRI=64 }

نوشته شده توسط: مرضيه در سه شنبه هجدهم تیر 1387|+|
برنامه نويسي به زبان ++C (پست 39)
نوع كاراكتري char

يك كاراكتر ، يك حرف ، رقم يا نشانه است كه يك شماره‌ي منحصر به فرد دارد . بعبارت عاميانه ، هر كليدي كه روي كيبورد خود مي‌بينيد يك كاراكتر را نشان مي‌دهد (البته غير از كليدهاي مولتي مديا يا كليدهاي اينترنتي كه اخيراٌ در كيبوردها مرسوم شده‌اند) . مثلاٌ هريك از حروف 'A' تا 'Z' و 'a' تا 'z' و هريك از اعداد '0' تا '9' و يا نشانه‌هاي '~' تا '+' روي كيبورد را يك كاراكتر مي‌نامند . رايانه‌ها براي شناسايي كاراكترهاي استاندارد از جدول اسكي استفاده مي‌كنند . در جدول اسكي هر كاراكتر يك شماره‌ي منحصر به فرد دارد . مثلاٌ كاراكتر 'A' كد 65 دارد . كاراكترها در رايانه بشكل عدديشان ذخيره مي‌شوند اما بشكل كاراكتريشان نشان داده مي‌شوند . مثلاٌ كاراكتر 'A' بشكل عدد 65 ذخيره مي‌شود . اما اگر سعي كنيم متغيري كه كاراكتر 'A' در آن ذخيره شده را چاپ كنيم ، شكل A را در خروجي مي‌بينيم نه عدد 65 را .

براي تعريف متغيري از نوع كاراكتر از كلمه‌ي كليدي char استفاده مي‌كنيم . يك كاراكتر بايد درون دو علامت آپستروف ( ' ) قرار بگيرد . پس 'A' يك كاراكتر است ، همچنين '8' يك كاراكتر است ، اما 8 يك كاراكتر نيست بلكه يك عدد صحيح است . مثال زير نحوه‌ي بكارگيري متغيرهاي كاراكتري را نشان مي‌دهد .

مثال : استفاده از متغيرهاي نوع char

int main()
{ // prints the character and its internally stored integer value:
char c = ' A ';
cout << " c = " << c << " , int ( c ) = " << int ( c ) << endl;
c = ' t ' ;
cout << " c = " << c << " , int ( c ) = " << int ( c ) << endl;
c = ' \ t ' ;  // the tab character
cout << " c = " << c << " , int ( c ) = " << int ( c ) << endl;
c = ' ! ' ;
cout << " c = " << c << " , int ( c ) = " << int ( c ) << endl;
return 0;
}

خروجي برنامه بشكل زير است :

c = A , int ( c ) = 65
c = t , int ( c ) = 116
c =   , int ( c ) = 9
c = ! , int ( c ) = 33

در خط سوم از برنامه‌ي بالا ، متغيري بنام c از نوع char تعريف شده و با مقدار 'A' مقداردهي اوليه شده است . سپس در خط بعدي ابتدا مقدار c چاپ شده كه در خروجي همان A ديده مي‌شود نه مقدار عددي آن . در ادامه‌ي خط چهارم ، با استفاده از دستور:

int ( c ) ;

مقدار عددي c يعني 65 در خروجي چاپ خواهد شد . در خطوط بعدي ، كاراكترهاي ديگري به c اختصاص يافته و به همين ترتيب مقدار c و معادل عددي آن چاپ شده است .

به خط هفتم برنامه دقت كنيد :

c = ' \ t ' ;

كاراكتر ' t \ ' يك كاراكتر خاص است . اگر سعي كنيم اين كاراكتر را روي صفحه نمايش نشان دهيم ، هفت جاي خالي روي مانيتور ديده مي‌شود (به خروجي دقت كنيد) . غير از اين كاراكتر ، كاراكترهاي خاص ديگري نيز هستند كه كارهايي مشابه اين انجام مي‌دهند . مثل كاراكتر ' n \ ' كه قبلاٌ ديديم و مكان‌نما را به خط بعدي منتقل مي‌كند . اين كاراكترها براي شكل دهي به مانيتور و كنترل آن استفاده مي‌شوند . كاراكترهاي خاص در جدول اسكي بين شماره‌ي 0 تا 32 قرار گرفته‌اند .

نوشته شده توسط: مرضيه در یکشنبه شانزدهم تیر 1387|+|
برنامه نويسي به زبان ++C (پست 38)
نوع بولين boolean

نوع بولين يك نوع صحيح است كه متغيرهاي اين نوع فقط مي‌توانند مقدار true يا false داشته باشند . true به معناي درست و false به معناي نادرست است . گرچه درون برنامه مجبوريم از عبارات true يا false براي مقداردهي به اين نوع متغير استفاده كنيم ، اما اين مقادير در اصل بصورت 1 و 0 درون رايانه ذخيره مي‌شوند : 1 براي true و 0 براي false . مثال زير اين مطلب را نشان ميدهد :

مثال : استفاده از متغيرهاي نوع boolean

int main()
{ // prints the value of a boolean variable :
bool flag = false;
cout << " flag = " << flag << endl;
flag = true ;
cout << " flag = " << flag << endl;
return 0;
}

خروجي برنامه :

flag = 0
flag = 1

در خط سوم از برنامه‌ي بالا ، متغيري بنام flag از نوع bool تعريف شده و با مقدار false مقداردهي اوليه شده است . در خط بعدي ، مقدار اين متغير در خروجي چاپ شده و در خط پنجم مقدار آن به true تغيير يافته است و دوباره مقدار متغير چاپ شده است . گرچه به متغير flag مقدار false و true داده‌ايم ، اما در خروجي بجاي آنها مقادير 0 و 1 چاپ شده است .

نوشته شده توسط: مرضيه در شنبه پانزدهم تیر 1387|+|
برنامه نويسي به زبان ++C (پست 37)
شكل علمي مقادير مميز شناور

اعداد مميز شناور به دو صورت در ورودي و خروجي نشان داده مي‌شوند : به شكل ساده و به شكل علمي .

مقدار 12345.67 شكل ساده‌ي عدد است و مقدار 104*1.234567 شكل علمي همان عدد است . مشخص است كه شكل علمي براي نشان دادن اعداد خيلي كوچك و همچنين اعداد خيلي بزرگ ، كارايي بيشتري دارد :

-0.000000000123 = -1.23 * 10-10
123000000000 = 1.23 * 1011

در ++C براي نشان دادن حالت علمي اعداد مميز شناور از حرف انگليسي e يا E استفاده مي‌كنيم :

-1.23*10-10 = -1.23e-10
1.23*1011 = 1.23e11

هنگام وارد كردن مقادير مميز شناور ، مي‌توانيم از شكل ساده يا شكل علمي استفاده كنيم . هنگام چاپ مقادير مميز شناور ، معمولاٌ مقادير بين 0.1 تا 999.999 به شكل ساده چاپ مي‌شوند و ساير مقادير به شكل علمي نشان داده مي‌شوند .

مثال : شكل علمي اعداد مميز شناور

برنامه‌ي زير يك عدد مميز شناور (x) را از ورودي گرفته و معكوس آن را چاپ مي‌كند :

int main()
{ // prints reciprocal value of x :
double x ;
cout << " Enter float : " ; cin >> x ;
cout << " Its reciprocal is : " << 1/x << endl;
return 0;
}

خروجي برنامه :

Enter float : 234.567e89
Its reciprocal is : 4.26317e-92

تا اينجا انواع عددي را در ++C ديديم . اين انواع براي محاسبات استفاده مي‌شوند و تقريباٌ در هر برنامه‌‌اي كه مي‌نويسيد بكار مي‌روند . اما ++C انواع ديگري نيز دارد كه كاربردهاي ديگري دارند . نوع بولين كه براي عمليات منطقي استفاده مي‌شود و نوع كاراكتري كه براي بكار گرفتن كاراكترها تدارك ديده شده است و نوع شمارشي كه بيشتر براي مجموعه‌هايي كه برنامه‌نويس تعريف مي‌كند بكار مي‌رود . اين انواع جديد گرچه كاربردشان با اعداد تفاوت دارد اما در حقيقت به شكل اعداد صحيح در كامپيوتر ذخيره و شناسايي مي‌شوند .به همين دليل اين‌ها را نيز زير مجموعه‌اي از انواع صحيح در ++C مي‌شمارند .

نوشته شده توسط: مرضيه در شنبه پانزدهم تیر 1387|+|
برنامه نويسي به زبان ++C (پست 36)

تعريف متغير مميز شناور

تعريف متغير مميز شناور مانند تعريف متغير صحيح است با اين تفاوت كه از كلمه‌ي كليدي float يا double براي مشخص نمودن نوع متغير استفاده مي‌كنيم . مثلاٌ دستور float x متغير x را از نوع مميز شناور تعريف مي‌كند . دستور float x=12.3 متغير x را از نوع مميز شناور تعريف كرده و مقدار اوليه‌ي 12.3 را درون آن قرار مي‌دهد . دستور double x,y=0 دو متغير x و y را از نوع double تعريف مي‌كند كه مقدار x هنوز مشخص نيست ولي y مقدار 0.0 را دارد .

مثال : حساب مميز شناور

اعداد مميز شناور را نيز مثل اعداد صحيح مي‌توانيم در محاسبات بكار ببريم . مثال زير اين موضوع را نشان مي‌دهد .

int main()
{ // tests operators + , - , * , / , and % :
float x = 54.0;
float y = 20.0;
cout << " x = " << x << " and y = " << y << endl;
cout << " x + y = " << x + y << endl; // 54.0 + 20.0 = 74.0
cout << " x - y = " << x - y << endl; // 54.0 - 20.0 = 34.0
cout << " x * y = " << x * y << endl; // 54.0 * 20.0 = 1080.0
cout << " x / y = " << x / y << endl; // 54.0 / 20.0 = 2.7
return 0;
}

خروجي برنامه بشكل زير است :

x = 54 and y = 20
x + y = 74
x - y = 34
x * y = 1080
x / y = 2.7

به پاسخ‌هاي بالا دقت كنيد : برخلاف تقسيم اعداد صحيح ، تقسيم اعداد مميز شناور بصورت بريده شده نيست :

54.0 / 20.0 = 2.7

تفاوت نوع float با نوع double در اين است كه نوع double دو برابر float از حافظه استفاده مي‌كند . پس نوع double دقت بسيار بيشتري از float دارد . به همين دليل محاسبات double وقت‌گيرتر از float است . بنابراين اگر در برنامه‌هايتان به محاسبات و پاسخ‌هاي بسيار دقيق نياز داريد ، از نوع double استفاده كنيد . ولي اگر سرعت اجرا برايتان اهميت بيشتري دارد ، نوع float را بكار بگيريد . 

نوشته شده توسط: مرضيه در شنبه پانزدهم تیر 1387|+|
Technology
آرشیو
آمار وبلاگ
» تعداد بازدیدها:
» مرورگر:
امکانات اضافي

© All Rights Reserved by mrz-it.Blogfa.com ©