المسارات
/
jq
jq
/
التمارين
/
خط التجميع
خط التجميع

خط التجميع

تمرين تعلّمي

مقدمة

الأعداد

من الدليل

يدعم jq المجموعة نفسها من أنواع البيانات التي يدعمها JSON: الأعداد، والسلاسل النصية، والقيم المنطقية، والمصفوفات، والكائنات (وهي في لغة JSON جداول تجزئة لا تحتوي إلا على مفاتيح نصية)، و"null".

لنركّز على الأعداد.

الأعداد والعوامل العددية

جميع الأعداد، سواء كانت صحيحة أو غير ذلك، هي أعداد ذات فاصلة عائمة مزدوجة الدقة وفق معيار IEEE754. وهذا يقيّدنا بدقة مقدارها 53 بت.

العوامل المعتادة متاحة للاستخدام مع الأعداد:

  • الحساب: +, -, *, /, %

  • المقارنة: ==, !=, <, <=, >=, >

  • دوال الرياضيات القياسية

    بالنسبة للدوال ذات المُدخل الواحد، مرّر القيمة إلى الدالة عبر الأنبوب

    $ jq -n '(1 | atan) * 4'
    3.141592653589793
    

    بالنسبة للدوال ذات المُدخلين، تتجاهل الدوال المُدخل وتتوقع المُدخلين كمعاملات (تذكّر أن المعاملات تفصل بينها الفواصل المنقوطة)

    $ jq -n 'pow(2; 10)'
    1024
    

    الفاصلة المنقوطة هي الفاصل بين وسائط الدالة، لا الفاصلة.

تعبيرات jq أخرى

لحل التمرين، ستحتاج إلى معرفة التعبيرات الشرطية.

التعبيرات الشرطية

يستخدم jq تعبير if-then-else من أجل التعبيرات الشرطية. وبما أنه تعبير، فإنه يوضع داخل خط الأنابيب.

الصيغة هي: if CONDITION then TRUE_EXPR else FALSE_EXPR end.

عبارة else اختيارية.

42 | if . < 33 then "small" else "larger" end
# => "larger"

تُستخدم elif لإضافة شروط أخرى

42 | if . < 33 then "small"
     elif . < 67 then "medium"
     else "large"
     end
# => "medium"

التعليمات

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

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

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

لديك مهمتان.

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

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

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

احسب عدد السيارات المكتملة العاملة المنتَجة في الدقيقة.

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

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

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