تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حساب مقدار جبرى فىTEXT
#1
كلنا يعرف أن المقدار 5 + 2 * 9 يساوى 23
وكلنا يعرف بسهولة كتابة الكود الذى يحسب هذا المقدار
كود :
X = 9 * 2 + 5
       PRINT X

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

ولكم ألف شكر



الملفات المرفقة
.rar   New Folder.rar (الحجم : 1.73 ك ب / التحميلات : 75)
الرد }}}
تم الشكر بواسطة:
#2
تفضل هل هذا ما تريده


HeartHeartHeartHeartHeart


الملفات المرفقة
.rar   New Folder.rar (الحجم : 1.78 ك ب / التحميلات : 70)
الرد }}}
تم الشكر بواسطة:
#3
ليس هذا ما أريد
انك لم تسمح للمستخدم بتغيير أى علامة رياضية
لم تسمح الا بتغيير الأرقام فقط ( وهذا كوده معلوم من البداية)

ولكم ألف شكر
الرد }}}
تم الشكر بواسطة:
#4
كود :
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
الرد }}}
تم الشكر بواسطة:
#5
تفضل أخي هذا المثال


الملفات المرفقة
.rar   الحساب في تكست واحد.rar (الحجم : 1.66 ك ب / التحميلات : 84)
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}
تم الشكر بواسطة: asto
#6
بارك الله فيكم أجمعين
ولكم ألف شكر
الرد }}}
تم الشكر بواسطة:
#7
label.caption=text1*(text2+text3nRolleyes
الرد }}}
تم الشكر بواسطة:
#8
ولكن الكودين غير صحيححين دائمآ
جربا مثلا حساب المقدار 5 * 2 + 8
سيعطى النتيجة 50 ولكن النتيجة الصحيحة طبعآ 18

ولكم ألف شكر
الرد }}}
تم الشكر بواسطة:
#9
السلام عليكم...

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

لذلك يتم تحويل التعبير الرياضي العادي (الذي يسمى 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 (أو الطابور - و هي غير مستعملة في المثال، لكني أرفقتها للفائدة إذ ربما يحتاجها أحد ما لاستعمالها في برنامج آخر). يوجد شرح بالعربي في الكود لبعض الأجزاء.


.rar   ADT.rar (الحجم : 4.44 ك ب / التحميلات : 75)

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
تم الشكر بواسطة: الشاكي لله
#10

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

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



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم