يوجد في C# نوعان مختلفان من الأعداد:
-6، 0، 1، 25، 976 و500000.-2.4، 0.1، 3.14، 16.984025 و1024.0.النوعان الرقميان الأكثر شيوعًا في C# هما int وdouble. فالنوع int عدد صحيح بطول 32 بت، والنوع double عدد عشري بطول 64 بت.
تُجرى العمليات الحسابية باستخدام عوامل الحساب القياسية. ويمكن مقارنة الأعداد باستخدام عوامل المقارنة الرقمية القياسية، إضافة إلى عاملي المساواة (==) وعدم المساواة (!=).
يوجد في 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# مفهوم للقيم التي تُعدّ صحيحة.
في هذا التمرين ستكتب كودًا لتحليل إنتاج خط تجميع في مصنع سيارات.
يمكن أن تتراوح سرعة خط التجميع من 0 (متوقف) إلى 10 (الحد الأقصى).
عند أدنى سرعة (1)، تُنتَج 221 سيارة كل ساعة.
ويزيد الإنتاج خطيًا مع زيادة السرعة.
لذا عند ضبط السرعة على 4، ينبغي أن ينتج 4 * 221 = 884 سيارة في الساعة.
غير أن السرعات الأعلى تزيد احتمال إنتاج سيارات معيبة، لا بد من التخلص منها بعد ذلك.
لديك ثلاث مهام.
نفّذ الطريقة (static) AssemblyLine.SuccessRate() لحساب نسبة إنتاج قطعة دون خطأ عند سرعة معيّنة.
يوضح الجدول التالي كيف تؤثر السرعة في معدل النجاح:
0: معدل نجاح 0%.1 إلى 4: معدل نجاح 100%.5 إلى 8: معدل نجاح 90%.9: معدل نجاح 80%.10: معدل نجاح 77%.AssemblyLine.SuccessRate(10)
// => 0.77
نفّذ الطريقة (static) AssemblyLine.ProductionRatePerHour() لحساب معدل إنتاج خط التجميع في الساعة، مع مراعاة معدل نجاحه:
AssemblyLine.ProductionRatePerHour(6)
// => 1193.4
لاحظ أن القيمة المُرجَعة من النوع double.
نفّذ الطريقة (static) AssemblyLine.WorkingItemsPerMinute() لحساب عدد السيارات الصالحة المنتَجة في الدقيقة:
AssemblyLine.WorkingItemsPerMinute(6)
// => 19
لاحظ أن القيمة المُرجَعة من النوع int.
سجّل في Exercism لتتعلّم وتتقن C# عبر 62 مفهومًا178 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.