خط التجميع

خط التجميع

تمرين تعلّمي

مقدمة

الأعداد

توجد فئتان مختلفتان من الأعداد في Rust: الأعداد الصحيحة (التي يمكن أن تكون موقّعة أو غير موقّعة) وأعداد الفاصلة العائمة.

الأعداد الصحيحة

  • الأعداد الصحيحة: أعداد ليس لها أي رقم بعد الفاصلة العشرية (أعداد كاملة). ويمكن لأنواع الأعداد الصحيحة أن تخزّن أعدادًا موجبة فقط (غير موقّعة)، أو أن تخزّن أعدادًا موجبة وسالبة معًا (موقّعة). من الأمثلة عليها -6، و0، و1، و25، و976، و500000.

أعداد الفاصلة العائمة

  • أعداد الفاصلة العائمة: أعداد لها صفر أو أكثر من الأرقام بعد الفاصلة العشرية. من الأمثلة عليها -2.4، و0.1، و3.14، و16.984025، و1024.0.

تسمية الأنواع العددية

يتكوّن اسم النوع العددي من جزأين:

  • حرف يحدّد ما إذا كان عددًا صحيحًا غير موقّع (u)، أو عددًا صحيحًا موقّعًا (i)، أو عددًا من أعداد الفاصلة العائمة (f).
  • عدد يحدّد حجم النوع بالبتات. وتوفّر الأنواع الأكبر نطاقًا أوسع بين القيم الدنيا والعليا. كما تسمح أعداد الفاصلة العائمة بعدد أكبر من الأرقام بعد الفاصلة العشرية.

وتتوفر التركيبات التالية:

  • 8 بت: u8، i8
  • 16 بت: u16، i16
  • 32 بت: u32، i32، f32
  • 64 بت: u64، i64، f64
  • 128 بت: u128، i128

لاحظ أن أعداد الفاصلة العائمة لها صيغتان فقط: 32 بت و64 بت.

التحويل بين الأنواع العددية

لا يقوم Rust بأي تحويل ضمني للأنواع. وهذا يعني أنك إذا احتجت إلى تحويل نوع عددي إلى نوع آخر، فعليك القيام بذلك صراحةً. وعند التحويل من نوع أكبر إلى نوع أصغر (على سبيل المثال من u64 إلى u32) فقد تفقد بعض البيانات. أما التحويل من عدد الفاصلة العائمة إلى عدد صحيح، فسيفقد كل ما يقع بعد الفاصلة العشرية، أي إنه يقرّب العدد للأسفل فعليًا.

التعليمات

في هذا التمرين ستكتب كودًا لتحليل إنتاج خط تجميع في مصنع سيارات. يمكن أن تتراوح سرعة خط التجميع من 0 (متوقف) إلى 10 (الحد الأقصى).

عند أدنى سرعة له (1)، تُنتَج 221 سيارة كل ساعة. ويزداد الإنتاج خطيًا مع زيادة السرعة. لذا عند ضبط السرعة على 4، ينبغي أن يُنتِج 4 * 221 = 884 سيارة في الساعة. غير أن السرعات الأعلى تزيد احتمال إنتاج سيارات معيبة، يجب التخلص منها بعد ذلك. يوضح الجدول التالي كيف تؤثر السرعة في معدل النجاح:

  • من 1 إلى 4: معدل نجاح 100%.
  • من 5 إلى 8: معدل نجاح 90%.
  • 9 و10: معدل نجاح 77%.

لديك مهمتان.

1. احسب معدل الإنتاج في الساعة

نفّذ طريقة لحساب معدل إنتاج خط التجميع في الساعة، مع مراعاة معدل نجاحه:

assembly_line::production_rate_per_hour(6)
// Returns: 1193.4

لاحظ أن القيمة المُرجَعة من النوع f64.

2. احسب عدد القطع العاملة المُنتَجة في الدقيقة

نفّذ طريقة لحساب عدد السيارات العاملة المُنتَجة في كل دقيقة:

assembly_line::working_items_per_minute(6)
// Returns: 19

لاحظ أن القيمة المُرجَعة من النوع u32.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Rust Exercism

مستعد لبدء خط التجميع؟

سجّل في Exercism لتتعلّم وتتقن Rust عبر 99 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.