لینک کوتاه : https://magicfile.ir/?p=2457
سورس کد تجزیه کننده ریاضی چند جمله ای در VB.NET
این کد شامل پنج کلاس به منظور ارزیابی رشته ای از یک عبارت ریاضی واقعی، پیچیده یا چند جمله ای است، شاید عبارت را به یک عدد واقعی یا مختلط یا یک چند جمله ای معادل کاهش دهد. عبارت ریاضی ممکن است شامل متغیرها باشد یا نباشد.
نمونه تصاویر در زمان اجرا
مقدمه
در بسیاری از موقعیتها، ممکن است stringعبارتی حاوی یک عبارت ریاضی باشد، مانند "1+2*5"، "(3+i)(3-i)" یا "(z^2*w+4z^3w-w^ 2-4z*w^2)/(w+4z*w)" و نیاز به محاسبه و محاسبه نتیجه وجود دارد. شاید لازم باشد نتیجه را برای مقادیر متغیرهای مختلف محاسبه کنیم و نتیجه می تواند چند جمله ای دیگر باشد. در این موارد، تجزیه کننده چندجمله ای ارائه شده در اینجا ممکن است کمک کند.
زمینه
کلاسهای اینجا بخش کوچکی -اما بهبود یافته- از ماشینحساب CAS رایگان و قابل دانلود من است . یکی از اهداف این است که این کلاسها بر طبقات «خارجی» دیگر تکیه نکنند، همانطور که در ماشین حساب CAS اتفاق میافتد.
هفت کلاس
- کلاس " Msg10" فقط حاوی چند پیام برای رسیدگی به خطاهای احتمالی است.
- کلاس " G10" اعضای جهانی مانند الگوهای Regex را در خود جای می دهد.
- کلاس " Rational" دقت بیشتری در عملیات می دهد.
- کلاس " Complex" ریاضیات پیچیده را انجام می دهد.
- کلاس " Polynomial" چند جمله ای ها را عمل می کند.
- کلاس " Roots" ریشه ها و عوامل چند جمله ای ها را پیدا می کند.
کلاس " parsePolynomial" وظیفه تقسیم رشته ورودی به نشانه ها و فراخوانی بر اساس آن به Rootsیا Polynomialکلاس Msg10 ها را بر عهده دارد. Rootsبستگی به Polynomialکلاس دارد که به نوبه خود به Complexو Complexبه Rational. کار "توکن سازی" توسط یک الگوی Regex انجام می شود.