السلام عليكم
الهدف من هذه الحلقة هو كتابة فئة تسمح بالتعامل مع كثيرات الحدود (Polynomial).
الفئة Polynome يجب أن تحتوي على :
- دالة بناء تستقبل الـ coefficients على شكل مصفوفة من double.
- الدالة degre التي تُعيد درجة كثيرة الحدود.
- getCoeff تستقبل رقم الحد و تُعيد درجته. (إذا تم تمرير رقم حد غير موجود تتم إعادة الصفر)
- setCoeff تستقبل رقم الحد و القيمة الجديدة للمعامل و تقوم بتحديث مصفوفة المعاملات. (إذا كان رقم الحد أكبر من عدد الحدود, يتم إنشاء حد جديد بالمعامل المُحدد.)
- derivee : تُعيد كائن جديد من Polynome يُمثل مشتقة كثيرة الحدود الحالية.
- evalue : لحساب صورة عدد معين من خلال دالة كثيرة الحدود.
- toString : هي نفسها الدالة الموجودة في الفئة الأم Object لكن مُعادة التعريف, تقوم بإعادة كثيرة الحدود على شكل قابل للقراءة (انظر المُخرجات في آخر المشاركة)
- سؤال جانبي : قم بكتابة دالة تستقبل جملة و حرفين و تُعيد true إذا وُجد الحرفان داخل الجملة بحيث تفصلهما مسافة و false في الحالة المعاكسة.
المحرف الذي يفصل الحرفين, إما أن يكون عدد غير محدود من space أو tab, فقط. (يُمنع الاستعانة بالدوال الجاهزة أياً كانت ..)
مثال على استخدام الفئة Polynome :
public static void main(String... args) {
Polynome p = new Polynome(new double[]{-2, 3, 9, 4});
System.out.println(p.toString());
System.out.println(p.degre());
System.out.println(p.derivee().toString());
System.out.println(p.getCoeff(2));
p.setCoeff(4, 6);
System.out.println(p.toString());
System.out.println(p.evalue(3.5));
System.out.println(p.toString());
}و هذا مثال على المُخرجات :
-2.0 + 3.0*x + 9.0*x ^ 2 + 4.0*x ^ 3 3 3.0 + 18.0*x + 12.0*x ^ 2 9.0 -2.0 + 3.0*x + 9.0*x ^ 2 + 4.0*x ^ 3 + 6.0*x ^ 4 1190.625 -2.0 + 3.0*x + 9.0*x ^ 2 + 4.0*x ^ 3 + 6.0*x ^ 4
تُرسل الإجابة على الخاص + سيتم الإعلان عن الحل في حدود 24 ساعة.
تحياتي.