http://www.bestcode..../jbcparser.html
وتستطيع تجربتها كبريمج Applet هنا:
http://www.bestcode....l/jexample.html
هذه الحزمة مع شفرتها وشرحها متوفرة ب 20 دولار وليس 20 لينار! لاحظ أن الشركة وفرت حزمة لعدة لغات أخرى غير الجافا منها سي شارب.
اقرأ شرح الحزمة في الوصلات السابقة وستجد أن حزمتي مطابقة إلى حد بعيد هذه الحزمة، إلا أني حزمتي أقوى:
1- في حزمتي: اكتب المعادلة وسيتعرف على المتغيرات مباشرة ويمكنك تغيير قيمها لاحقا،، أما في حزمته فيجب عليك أولا أن تحدد المتغيرات قبل أن تعطيه المعادلة وإلا سينتج خطأ!
2- في حزمتي: اكتب (الدالة) الجديدة مباشرة وعرفها في ما بعد،، أما في حزمته فلا تستطيع كتابة دوال جديدة أصلا إلا أن تضيفها بشفرة داخل البرنامج!! وهذا فرق كبير.
3- أسلوب التعامل مع حزمتي شيئي التوجه أكثر من حزمته. تفحص الشروحات في الصفحة!
تتفوق حزمته على حزمتي في ناحية واحدة:
1- حزمته تعالج المعادلة لتجعلها أسرع في الحساب وهذا أمر مهم!! مثلا إذا كتبت :
10+5+x+6*5+y+4
فإنه يعالجها لتصبح:
15+x+30+y+4
لاحظ أنها نفس المعادلة، لكنه اختصرها لتصبح أسرع في الحساب!!
---------
لكن إليكم الخبر المفاجئ: تم تطوير الشفرة من الجذور، وانتقلنا من الإصدار الثاني إلى الإصدار الثالث وسيخرج إلى المنتدى قريبا، تم بحمدالله إدراج معالجة المعادلات لتصبح أسرع في الحساب. معالجة العملية لتصبح (موفرة) ولا تستهلك الكثير من الموارد تسمى Optimization، وإليكم بعض التجارب والنتائج:
خذ هذه الدالة المتحركة CustomFunction
f1(x)=Abs(x)*if(-4*x<> Abs(-4*-x), x*5, x*log(x))
وخذ هذه المعادلة:
1+Abs(2)+max(3, 2)/f1(x)+4+5^6+7*pi+e+9+10+x
طبعا نريد أن نحسب ناتج العملية الثانية. ونريد أن نعرف سرعة كل من الإصدار الثاني والإصدار الثالث.
التجربة: احسب ناتج العملية الثانية 10000 مرة بتغيير قيمة x من 0 إلى 10000.
النتائج:
الإصدار الثاني: أخذت 4 ثواني في المتوسط مع تكرار التجربة!! سريعة، لاحظ أن التجربة عبارة عن حساب دالة معقدة 10000 مرة!
الإصدار الثالث: أخذت في المتوسط 350 ملي ثانية! تقريبا هي أسرع من الإصدار الثاني بأكثر من 10 مرات (تزيد وتنقص حسب تعقيد المعادلة)
الأمر بسيط كل ما عليك فعله هو أن تدرج الأمر التالي عند قيامك بحساب معادلة:
public static void test3()throws MathException{
OperationReader reader=ExpressionReader.getInstance();
Operation o1 = reader.readOperation("40*7+20+Exp(speed)");
//print Expression
System.out.println (o1);
//optimize
o1=o1.optimize();
//print the expression after optimization
System.out.println (o1);
System.out.println (o1.result());
}الناتج:
Hussam Al-Mulhim ═╙╟ع ╟طعط═ع (40.0*7.0+20.0+Exp(speed[0.0])) (300.0+Exp(speed[0.0])) 301.0
--------------------------------
كالعادة أطلت عليكم، للتلخيص، سيصدر قريبا الإصدار الثالث!
سيكون متوفر على شكل حزمة جاهزة للاستخدام، لم يتغير في كيفية استخدام الحزمة الشيء الكبير! أنا في طور ترتيب الشفرة وتحزيمها وتجهيز العروس!!
بالمناسبة نحب أن نرى ونسمع عن من أخذ الشفرة وطورها، إذا كنت ستستخدم الحزمة في برنامجك، أحب أن تخبرني بكل تطور، ونريد أن نرى البرنامج الكامل!
الحزمة مرخصة للاستعمال الشخصي، والعلمي.
إذا كنت ستستخدم الحزمة في عمل برامج تجارية، فإن ثمن الحزمة أن تخبرني بذلك!
بالتوفيق!!
بالتوفيق!!


مساعدة
هذا الموضوع مغلق 


اذهب للاعلى
اقتباس متعدد















