شراء مركبة

شراء مركبة

تمرين تعلّمي

مقدمة

المقارنة

في JavaScript، يمكن مقارنة الأعداد باستخدام عوامل المقارنة والمساواة العلائقية التالية.

المقارنة العامل
أكبر من a > b
أكبر من أو يساوي a >= b
أصغر من a < b
أصغر من أو يساوي a <= b
يساوي (تمامًا) a === b
لا يساوي (تمامًا) a !== b

نتيجة المقارنة هي دائمًا قيمة منطقية: true أو false.

1 < 3;
// => true

2 !== 2;
// => false

1 === 1.0;
// => true
// All numbers are floating-points, so this is different syntax for
// the exact same value.

في JavaScript، يمكن أيضًا استخدام عوامل المقارنة أعلاه لمقارنة السلاسل النصية. وفي هذه الحالة، يُطبَّق ترتيب معجمي (قاموسي). يمكنك العثور على قائمة بالترتيب الدقيق لجميع المحارف هنا.

'Apple' > 'Pear';
// => false

'a' < 'above';
// => true

'a' === 'A';
// => false

الجمل الشرطية

من الطرق الشائعة لتنفيذ منطق شرطي في JavaScript استخدام الجملة الشرطية if. وهي تتكوّن من الكلمة المفتاحية if، وشرط محاط بالأقواس الهلالية، وكتلة كود محاطة بالأقواس المعقوفة. ولن تُنفَّذ كتلة الكود إلا إذا كان ناتج تقييم الشرط هو true.

if (condition) {
  // code that is executed if "condition" is true
}

يمكن استخدامها وحدها أو مع الكلمة المفتاحية else.

if (condition) {
  // code that is executed if "condition" is true
} else {
  // code that is executed otherwise
}

ولتداخل شرط آخر داخل جملة else، يمكنك استخدام else if.

if (condition1) {
  // code that is executed if "condition1" is true
} else if (condition2) {
  // code that is executed if "condition2" is true
  // but "condition1" was false
} else {
  // code that is executed otherwise
}

التعليمات

في هذا التمرين، ستكتب بعض الكود لمساعدتك على الاستعداد لشراء مركبة.

لديك ثلاث مهام: واحدة لتحديد ما إذا كنت ستحتاج إلى رخصة، وواحدة لمساعدتك في الاختيار بين مركبتين، وواحدة لتقدير السعر المقبول لمركبة مستعملة.

1. تحديد ما إذا كنت ستحتاج إلى رخصة قيادة

بعض أنواع المركبات تتطلب رخصة قيادة لتشغيلها. افترض أن النوعين 'car' و 'truck' فقط هما اللذان يتطلبان رخصة، وأن كل ما عداهما يمكن تشغيله دون رخصة.

نفّذ الدالة needsLicense(kind) التي تأخذ نوع المركبة وتُرجع قيمة منطقية تشير إلى ما إذا كنت تحتاج إلى رخصة لهذا النوع من المركبات.

needsLicense('car');
// => true

needsLicense('bike');
// => false

2. الاختيار بين مركبتين محتملتين للشراء

أنت تقيّم خياراتك من المركبات المتاحة. تمكنت من تضييق الخيارات إلى اثنين، لكنك تحتاج إلى مساعدة في اتخاذ القرار النهائي. ومن أجل ذلك، نفّذ الدالة chooseVehicle(option1, option2) التي تأخذ مركبتين كوسائط وتُرجع قرارًا يتضمن الخيار الذي يأتي أولًا في ترتيب القاموس.

chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// =>  'Toyota Corolla is clearly the better choice.'

chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// =>  'Volkswagen Beetle is clearly the better choice.'

3. حساب تقدير لسعر مركبة مستعملة

الآن بعد أن اتخذت قرارك، تريد أن تتأكد من حصولك على سعر عادل لدى الوكالة. وبما أنك مهتم بشراء مركبة مستعملة، فإن السعر يعتمد على عمر المركبة. ولتقدير تقريبي، افترض أنه إذا كان عمر المركبة أقل من 3 سنوات، فسعرها 80% من السعر الأصلي الذي كان لها عندما كانت جديدة تمامًا. وإذا كان عمرها أكثر من 10 سنوات، فسعرها 50%. وإذا كان عمر المركبة 3 سنوات على الأقل ولكن ليس أكثر من 10 سنوات، فسعرها 70% من السعر الأصلي.

نفّذ الدالة calculateResellPrice(originalPrice, age) التي تطبّق هذا المنطق باستخدام if و else if و else (هناك طرق أخرى إذا أردت التدرّب). تأخذ السعر الأصلي وعمر المركبة كوسائط وتُرجع السعر المقدّر لدى الوكالة.

calculateResellPrice(1000, 1);
// => 800

calculateResellPrice(1000, 5);
// => 700

calculateResellPrice(1000, 15);
// => 500
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
JavaScript Exercism

مستعد لبدء شراء مركبة؟

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