اعداد اعشاري#C
در قسمت قبلي از اعداد اعشاري با دقت مضاعف استفاده كرديم، اما در NET. شما براي نگهداري اعداد اعشاري خـود ميتوانيـد ازدو نوع عدد اعشاري استفاده كنيد . در بعضي از مواقع، بخش اعشاري يك عدد ممكن است تا بي نهايت ادامه پيـدا كنـد (ماننـد عـدد)پي ، اما كامپيوتر بي نهايت فضا براي نگهداري اين اعداد ندارد، بنابراين هميـشه بـراي نگهـداري تعـداد ارقـام اعـشاري يـك عـددمحدوديتهايي وجود دارد. اين محدوديت به اندازه يا فضايي بستگي دارد كه متغيير براي نگهداري عدد از آن استفاده ميكند .اعداد اعشاري با دقت مضاعف ميتوانند اعداد از 308 10 تا – 1,7 ** 1,7 + را با دقتي بسيار بالا نگهداري كند (بـا دقـت يـك 308پني در 45 تريليون دلار ). اعداد صحيح با دقت معمولي ميتوانند اعداد از 10 10 تا – 3,4 ** 3,4 + را نگهداري كنند . البته ايـن 38عدد هم عدد بسيار بزرگي است اما ميزان دقت اين اعداد خيلي كمتر از اعداد با دقـت مـضاعف اسـت (يـك پنـي در 330000 دلار).مزيتي كه اعداد با دقت معمولي دارند اين است كه نسبت به اعداد با دقت مضاعف فضاي كمتري در حافظه اشغال مي كنند و سرعتمحاسبه بالاتري دارند .
نكته: به جز در مواردي كه به دقت بسيار بالايي نياز داريد، از اعداد با دقت مضاعف اسـتفاده نكنيـد و بـه جـاي آن اعـداد بـا دقـتمعمولي را به كار ببريد . استفاده از اعداد با دقت مضاعف به جاي اعداد با دقت معمولي، مخصوصا در برنامـه هـاي بـزرگ ميتوانـد درسرعت برنامه شما به شدت تاثيرگذار باشد .
براي انتخاب اينكه از چه نوع عددي استفاده كنيد، بايد به محاسباتي كه ميخواهيد انجام دهيد توجه كنيد . براي تعريف متغييـر هـايعددي با دقت مضاعف از كلمه كليدي double و براي تعريف متغيير هاي عددي با دقت معمولي از كلمـه كليـدي floatاستفاده كنيد .
كار با رشته ها :
رشته مجموعه اي از كاراكتر است كه ابتدا و انتهاي آن به وسيله علامت نقل قول (“) مشخص مي شود. روش استفاده از رشـته هـارا در برنامه هاي قبلي براي نمايش نتيجه برنامه در صفحه نمايش ديده ايد . رشته ها عموما براي اين منظور استفاده مي شوند كه بهكاربر اطلاع داده شود در برنامه چه اتفاقي افتاده است و چه اتفاقي ميخواهد رخ دهد . يك استفاده ديگر از رشته ها، ذخيره قـسمتي ازيك متن براي استفاده از آن در يك الگوريتم است . در طول اين كتاب با رشته هاي زيادي مواجه مي شويد، همانطور كـه تـاكنون ازرشته زير استفاده كرده ايد :
MessageBox.Show(“Multiplication test… ” + dblNumber,
“Floating Points”);
“…Multiplication test” و “Floating Points” نمونه هـايي از رشـته هـستند، زيـرا دارايعلامت (“) در ابتدا و انتهاي خود هستند . اما عبارت dblNumber چي؟ در عبارت بالا، مقدار متغييـر dblNumber بـهرشته تبديل شده و پس از تركيب با دو رشته ديگر در صفحه نمايش داده خواهد شد (چگونگي تبديل اين متغييـر عـددي بـه رشـته،بحثي است كه جلوتر راجع به آن صحبت شده است . اما فعلا اين را بدانيد كه در اين جا يك تبديل صورت گرفته است). بـراي مثـالاگر مقدار متغيير dblNumber برابر با 27 باشد، اين مقدار به يك عبارت رشته اي كه دو كـاراكتر طـول دارد تبـديل ميـشود وسپس روي صفحه نمايش داده مي شود .در بخش امتحان كنيد بعدي، با يك سري از كارهايي كه ميتوانيد با رشـته هـا انجـام دهيـدآشنا خواهيد شد .
استفاده از رشته ها
)1 با استفاده از گزينه File New Project يك پروژه جديد در ويژوال استوديو تعريف كنيد و نـام آن را Strings قرار دهيد .
)2 بـا اسـتفاده از جعبـه ابـزار، يـك كنتـرل Button روي فـرم قـرار دهيـد. خاصـيت Name ايـن دكمـه را برابـر btnStrings و خاصيت Text آن را برابر Using Strings قرار دهيد. روي آن دو بار كليك كنيدو در متد ايجاد شده، كد زير را وارد كنيد:
private void btnStrings_Click(object sender, EventArgs e)
{
// Declare variable
string strData;
// Set the string value
strData = “Hello, world!”;
// Display the result
MessageBox.Show(strData, “Strings”);
}
)3 برنامه را اجرا كنيد و روي دكمه Using Strings كليك كنيد. كادر پيغـامي مـشابه شـكل 3-6 نمـايش داده خواهد شد .
3-6 شكل
براي تعريف متغييري كه بتواند رشته ها را در خود نگهداري كند، مي توانيد مشابه تعريف متغيير هاي عـددي عمـل كنيـد . امـا ايـنمرتبه از كلمه كليدي string استفاده كنيد :
// Declare variable
string strData;
همانند قبل، يك مقدار را به متغيير جديد اختصاص مي دهيد :
// Set the string value
strData = “Hello, world!”;
براي مشخص كردن اين كه رشته شما از كجا شروع شد ه و تا كجا ادامه پيدا ميكند بايد از علامت نقل قول (“) استفاده كنيـد . ايـنمورد اهميت زيادي دارد، زيرا اين علامت به ويژوال #2005 C ميگويد كه كدام عبارات را بايد به عنوان رشته در نظر بگيرد و آنها راكامپايل نكند . اگر از علامت نقل قول استفاده نكنيد، ويژوال #2005 C با اين متن ها به عنوان كد رفتار كرده، سعي ميكنـد آنهـا راكامپايل كند و نميتواند. بنابراين كامپايل كل برنامه با خطا روبرو خواهد شد .وقتي مقدار “!Hello, world” را در متغيير strData ذخيره كرديد ميتوانيد آن را در به عنـوان يـك پـارامتر بـه تابع MessageBox.Show بفرستيد تا روي صفحه نمايش چاپ كند .همانطور كه ديديد نحوه تعريف و استفاده از رشته ها نيز مشابه اعداد است . در قسمت بعدي در مورد چگونگي انجام عمليات مختلـف روي رشته ها صحبت خواهيم كرد