البرمجة

إنشاء آلة حاسبة علمية بلغة JavaScript باستخدام Mocha و Chai

في هذا السياق، يتعين عليك إنشاء فئة تسمى “ScientificCalculator” في لغة البرمجة JavaScript. هذه الفئة يجب أن تمتد من فئة أخرى تسمى “Calculator”، والتي تعتبر قاعدة لعمليات الحساب الأساسية.

لبداية الأمور، يجب عليك إنشاء كائن من الفئة “ScientificCalculator” باستخدام مفهوم “new” في JavaScript. يتم ذلك باستخدام الأمر:

javascript
calculator = new ScientificCalculator();

ثم يتم اختبار ما إذا كانت الفئة “ScientificCalculator” تمتد من الفئة “Calculator” باستخدام الشيفرة التالية:

javascript
expect(calculator).to.be.instanceOf(Calculator); expect(calculator).to.be.instanceOf(ScientificCalculator);

بعد ذلك، يجب تنفيذ واختبار مجموعة من الوظائف العلمية مثل حساب الجيب والتمام والظل واللوغاريتم. على سبيل المثال، يمكنك تنفيذ اختبار لحساب الجيب باستخدام الشيفرة التالية:

javascript
expect(calculator.sin(Math.PI / 2)).to.equal(1);

وهكذا يتم تكرار هذه العمليات لاختبار الوظائف العلمية الأخرى مثل حساب الكوساين، والتانجنت، واللوغاريتم.

الشيفرة المقدمة هي جزء من اختبارات الوحدة باستخدام إطار الاختبارات “Mocha” و”Chai” في JavaScript، وهي تقنيات شائعة لاختبار البرمجيات في بيئة JavaScript.

باختصار، يتعين عليك تصميم وتنفيذ فئة “ScientificCalculator” بحيث تستند إلى فئة “Calculator”، وتوفير وتجربة الوظائف العلمية المطلوبة باستخدام إطار الاختبارات المحدد.

المزيد من المعلومات

لإنشاء فئة “ScientificCalculator” المذكورة في الشيفرة البرمجية المقدمة، يجب عليك تعريف الفئة بشكل صحيح لتتمكن من تنفيذ الوظائف العلمية المطلوبة. يمكن أن تكون الشيفرة التالية هو مثال على كيفية تنفيذ ذلك:

javascript
// تعريف فئة الآلة الحاسبة العلمية التي تمتد من الآلة الحاسبة العادية class ScientificCalculator extends Calculator { // تابع لحساب الساين sin(angle) { return Math.sin(angle); } // تابع لحساب الكوساين cos(angle) { return Math.cos(angle); } // تابع لحساب التانجنت tan(angle) { return Math.tan(angle); } // تابع لحساب اللوغاريتم log(value) { return Math.log(value); } } // تعريف فئة الآلة الحاسبة العادية class Calculator { // يمكنك تعريف وتنفيذ الوظائف الأساسية هنا } // اختبار الفئة العلمية describe("ScientificCalculator", function () { let calculator; beforeEach(function () { calculator = new ScientificCalculator(); }); it("extends Calculator", function () { expect(calculator).to.be.instanceOf(Calculator); expect(calculator).to.be.instanceOf(ScientificCalculator); }); it("returns the sine of PI / 2", function () { expect(calculator.sin(Math.PI / 2)).to.equal(1); }); it("returns the cosine of PI", function () { expect(calculator.cos(Math.PI)).to.equal(-1); }); it("returns the tangent of 0", function () { expect(calculator.tan(0)).to.equal(0); }); it("returns the logarithm of 1", function () { expect(calculator.log(1)).to.equal(0); }); });

في هذا المثال، تم تعريف فئة “ScientificCalculator” التي تمتد من فئة “Calculator”. تم تنفيذ وظائف الساين والكوساين والتانجنت واللوغاريتم باستخدام الدوال الرياضية المدمجة في JavaScript. يمكنك توسيع هذه الفئة بمزيد من الوظائف العلمية حسب الحاجة.

زر الذهاب إلى الأعلى