منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
حساب مقدار جبرى فىTEXT - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : حساب مقدار جبرى فىTEXT (/showthread.php?tid=2277)

الصفحات: 1 2


حساب مقدار جبرى فىTEXT - اسلام الكبابى - 18-03-14

كلنا يعرف أن المقدار 5 + 2 * 9 يساوى 23
وكلنا يعرف بسهولة كتابة الكود الذى يحسب هذا المقدار
كود :
X = 9 * 2 + 5
       PRINT X

ولكنى اريد الكود الذى يحسب هذا المقدار من خلال Text أو Label كتبه المستخم فيه
ارجو تعديل المثال المرفق

ولكم ألف شكر




RE: حساب مقدار جبرى فىTEXT - eng_elsawy - 18-03-14

تفضل هل هذا ما تريده


HeartHeartHeartHeartHeart


RE: حساب مقدار جبرى فىTEXT - اسلام الكبابى - 18-03-14

ليس هذا ما أريد
انك لم تسمح للمستخدم بتغيير أى علامة رياضية
لم تسمح الا بتغيير الأرقام فقط ( وهذا كوده معلوم من البداية)

ولكم ألف شكر


RE: حساب مقدار جبرى فىTEXT - asto - 18-03-14

كود :
If Text2.Text = "+" Then X1 = Val(Text1.Text) + Val(Text3.Text)
If Text2.Text = "-" Then X1 = Val(Text1.Text) - Val(Text3.Text)
If Text2.Text = "*" Then X1 = Val(Text1.Text) * Val(Text3.Text)
If Text2.Text = "\" Then X1 = Val(Text1.Text) \ Val(Text3.Text)
If Text4.Text = "+" Then X2 = X1 + Val(Text5.Text)
If Text4.Text = "-" Then X2 = X1 - Val(Text5.Text)
If Text4.Text = "*" Then X2 = X1 * Val(Text5.Text)
If Text4.Text = "\" Then X2 = X1 \ Val(Text5.Text)

X = X2
Print X
هذا هو ضمن كوماند 2


RE: حساب مقدار جبرى فىTEXT - تركي الحلواني - 19-03-14

تفضل أخي هذا المثال


RE: حساب مقدار جبرى فىTEXT - اسلام الكبابى - 20-03-14

بارك الله فيكم أجمعين
ولكم ألف شكر



RE: حساب مقدار جبرى فىTEXT - رعد الحسني - 21-03-14

label.caption=text1*(text2+text3nRolleyes


RE: حساب مقدار جبرى فىTEXT - اسلام الكبابى - 21-03-14

ولكن الكودين غير صحيححين دائمآ
جربا مثلا حساب المقدار 5 * 2 + 8
سيعطى النتيجة 50 ولكن النتيجة الصحيحة طبعآ 18

ولكم ألف شكر



RE: حساب مقدار جبرى فىTEXT - ناجي إبراهيم - 21-03-14

السلام عليكم...

تحليل مثل هذه التعبيرات بشكل مباشر صعب حتى و إن كان التعبير بسيطاً بسب الحاجة إلى الاحتفاظ بقيم مؤقتة و أسبقية العمليات و وجود الأقواس ... إلخ.

لذلك يتم تحويل التعبير الرياضي العادي (الذي يسمى Infix أي ذو العوامل البينية بسبب وجود العوامل، أي إشارات الجمع و الطرح و غيرها، بين المعاملات، أي الأعداد) إلى تعبير ذي عوامل بعدية (Postfix) حيث تظهر العوامل بعد المعاملات، أو تعبير ذي عوامل قبلية (Prefix) حيث تظهر العوامل قبل المعاملات، ثم يتم تحليل و تقييم التعبير الناتج.

* مثلاً التعبير:
كود :
(5 ^ (2 + 1) - 25) * 2

يصبح كتعبير Postfix هكذا:
كود :
5 2 1 + ^ 25 - 2 *

* و التعبير التالي (نفس التعبير السابق و لكن دون أقواس):
كود :
5 ^ 2 + 1 - 25 * 2

يصبح كتعبير Postfix هكذا (لاحظ الفرق):
كود :
5 2 ^ 1 + 25 2 * -

* كل من عمليتي تحويل تعبير الـ Infix إلى تعبير Postfix (أو Prefix) و تقييم تعبير الـ Postfix (أو Prefix) تحتاج إلى استعمال ما يسمى يالـ Stack من أجل التخزين المؤقت للقيم والعوامل و العودة إلى نقاط التحليل السابقة.

في المرفقات برنامج لهذا الغرض، و هو يحتوي على اثنين من الـ Class Modules واحدة للـ Stack و الأخرى للـ Queue (أو الطابور - و هي غير مستعملة في المثال، لكني أرفقتها للفائدة إذ ربما يحتاجها أحد ما لاستعمالها في برنامج آخر). يوجد شرح بالعربي في الكود لبعض الأجزاء.

[attachment=1568]

نرجو الاستفادة و السلام.


RE: حساب مقدار جبرى فىTEXT - اسلام الكبابى - 22-03-14


الله ينور عليك
طول عمرنا بنقول " الأستاذ أستاذ "

إقتباس :يا أخ إسلام... لا داعي لهذا التضخيم! فأولاً شكر الناس على الخير من شكر الله. و ثانياً هذا المنتدى يزخر بالكفاءات البرمجية الممتازة و العبقرية، و فيه الكثيرون ممن هم خير مني و أفضل بمراحل.