در C# دو نوع مختلف عدد وجود دارد:
-6، 0، 1، 25، 976 و 500000.-2.4، 0.1، 3.14، 16.984025 و 1024.0.دو نوع عددی رایج در C#، int و double هستند. int یک عدد صحیح ۳۲ بیتی است و double یک عدد اعشاری ۶۴ بیتی.
محاسبات با عملگرهای حسابی استاندارد انجام میشوند. میتوان اعداد را با عملگرهای مقایسهی عددی استاندارد و همچنین عملگرهای تساوی (==) و نامساوی (!=) مقایسه کرد.
C# دو نوع تبدیل عددی دارد:
از آنجا که دقت int از double کمتر است، تبدیل int به double ایمن است و بنابراین یک تبدیل ضمنی به حساب میآید. اما تبدیل double به int میتواند به از دست رفتن داده منجر شود، پس به یک تبدیل صریح نیاز دارد.
int softCool = 1358938113;
double notLost = 4.8151623;
// implicit cast: no loss of information
double macDebug = softCool; // 1358938113.0
// explicit cast: possible loss of information
int somethingLost = (int)notLost; // 4
در این تمرین باید منطقی را بهصورت شرطی اجرا کنید. رایجترین راه برای این کار در C# استفاده از دستور if/else است:
int x = 6;
if (x == 5)
{
// Execute logic if x equals 5
}
else if (x > 7)
{
// Execute logic if x greater than 7
}
else
{
// Execute logic in all other cases
}
شرط یک دستور if باید از نوع bool باشد. C# هیچ مفهومی از مقادیر truthy ندارد.
در این تمرین کدی مینویسید تا تولید یک خط مونتاژ در یک کارخانهی خودروسازی را تحلیل کنید.
سرعت خط مونتاژ میتواند از 0 (خاموش) تا 10 (حداکثر) متغیر باشد.
در کمترین سرعت (1)، هر ساعت 221 خودرو تولید میشود.
تولید بهصورت خطی با سرعت افزایش مییابد.
بنابراین اگر سرعت روی 4 تنظیم شود، باید هر ساعت 4 * 221 = 884 خودرو تولید کند.
اما سرعتهای بالاتر احتمال تولید خودروهای معیوب را افزایش میدهند، خودروهایی که در آن صورت باید دور ریخته شوند.
سه وظیفه دارید.
متد AssemblyLine.SuccessRate() (که static است) را پیادهسازی کنید تا نسبت تولید بدون خطای یک قطعه را برای یک سرعت مشخص محاسبه کنید.
جدول زیر نشان میدهد که سرعت چگونه بر نرخ موفقیت اثر میگذارد:
0: نرخ موفقیت ۰٪.1 تا 4: نرخ موفقیت ۱۰۰٪.5 تا 8: نرخ موفقیت ۹۰٪.9: نرخ موفقیت ۸۰٪.10: نرخ موفقیت ۷۷٪.AssemblyLine.SuccessRate(10)
// => 0.77
متد AssemblyLine.ProductionRatePerHour() (که static است) را پیادهسازی کنید تا نرخ تولید خط مونتاژ در ساعت را با در نظر گرفتن نرخ موفقیت آن محاسبه کنید:
AssemblyLine.ProductionRatePerHour(6)
// => 1193.4
توجه کنید که مقدار برگشتی یک double است.
متد AssemblyLine.WorkingItemsPerMinute() (که static است) را پیادهسازی کنید تا محاسبه کنید هر دقیقه چند خودروی سالم تولید میشود:
AssemblyLine.WorkingItemsPerMinute(6)
// => 19
توجه کنید که مقدار برگشتی یک int است.