إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

كيف نحول السترينج الى عملية حسابية؟

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • كيف نحول السترينج الى عملية حسابية؟

    السلام عليكم ورحمة الله وبركاته

    لدبنا سترينج مثلا


    كود PHP:
     h "1+12*45-48/2"
    كيف نجعله يعطينا النتيجة ؟

  • #2
    السلام عليكم ورحمة الله وبركاته

    كود:
    --
    x="2*3^5-6*4/5";
    x = string.gsub("$return "..x.."$", "%$(.-)%$", function (s) 
    return loadstring(s)() 
    end) 
    Dialog.Message("Notice", x);

    تعليق


    • #3
      المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
      السلام عليكم ورحمة الله وبركاته

      لدبنا سترينج مثلا


      كود PHP:
       h "1+12*45-48/2"
      كيف نجعله يعطينا النتيجة ؟
      و عليك السلام و رحمة الله و بركاته
      هكذا
      كود PHP:
      "1+12*45- 48/ 2"
      result loadstring(string.format("return %s",h))()
      Dialog.Message("Notice",result); 

      تعليق


      • #4
        المشاركة الأصلية بواسطة عبود عبود مشاهدة المشاركة
        السلام عليكم ورحمة الله وبركاته

        كود:
        --
        x="2*3^5-6*4/5";
        x = string.gsub("$return "..x.."$", "%$(.-)%$", function (s) 
        return loadstring(s)() 
        end) 
        dialog.message("notice", x);
        تبارك الله ..ربي يجازيكم خيرا استاذنا


        المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
        و عليك السلام و رحمة الله و بركاته
        هكذا
        كود PHP:
        "1+12*45- 48/ 2"
        result loadstring(string.format("return %s",h))()
        dialog.message("notice",result); 
        ما شاء الله استاذ حضور دائما قوي و فعال شكرا جزيلا

        تعليق


        • #5
          لمن الاولوية في العمليات ؟

          تعليق


          • #6
            يمكنك ايضا تثبيتها كدالة
            بدلا من كتابة المتغيرات كل مرة
            كود PHP:
            function calc(str)
            MathCalc loadstring(string.format("return %s",str))()
            return 
            MathCalc
            end 

            "1+12*45- 48/ 2" 
            "9*3+6-4"

            Dialog.Message("Notice"calc(r));
            Dialog.Message("Notice"calc (h)); 
            النتيجة هى ناتج حساب الدالة بأكملها
            أو يمكنك ايضا استبدال السطر الأخير بهذا السطر
            كود PHP:
            Dialog.Message("Notice"MathCalc); 
            النتيجة واحدة

            تعليق


            • #7
              المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
              لمن الاولوية في العمليات ؟
              المسار الطبيعى
              الرفع للأسس أولا
              و الأس هو الرقم على يمين علامة الأسس

              القسمة و الضرب ثانيا
              و هنا لا يهم من اولا القسمة ام الضرب لأن الناتج لن يتغير

              ثم الجمع و الطرح أخيرا
              و لا يهم ايضا من اولا الجمع ام الطرح فلن يتغير الناتج ايضا

              هذا ما لم تستخدم الأقواس لتغيير المسار الطبيعى
              فإن استخدمتها فسيعطى البرنامج اولوية قصوى لفك الأقواس أولا بغض النظر عن الترتيب السابق

              ماذا يقول ملف المساعدة المدمج بالأوتوبلاى ؟
              operator precedence
              operators are said to have precedence, which is a way of describing the rules that determine which operations in a series of expressions get performed first. A simple example would be the expression 1 + 2 * 3. The multiply (*) operator has higher precedence than the add (+) operator, so this expression is equivalent to 1 + (2 * 3). In other words, the expression 2 * 3 is performed first, and then 1 + 6 is performed, resulting in the final value 7.

              You can override the natural order of precedence by using parentheses. For instance, the expression (1 + 2) * 3 resolves to 9. The parentheses make the whole sub-expression “1 + 2” the left value of the multiply (*) operator. Essentially, the sub-expression 1 + 2 is evaluated first, and the result is then used in the expression 3 * 3.

              تعليق


              • #8
                جزاك الله خيرا أخى المهاجر للمتابعة

                تعليق


                • #9
                  المشاركة الأصلية بواسطة عبود عبود مشاهدة المشاركة
                  جزاك الله خيرا أخى المهاجر للمتابعة
                  بارك الله فيك اخى
                  و عذرا فعند وضعى مشاركتى الأولى لم اكن اعرف انك اجبت (لاحظ التوقيتات)

                  تعليق


                  • #10
                    المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
                    يمكنك ايضا تثبيتها كدالة
                    بدلا من كتابة المتغيرات كل مرة
                    كود PHP:
                    function calc(str)
                    mathcalc loadstring(string.format("return %s",str))()
                    return 
                    mathcalc
                    end 

                    "1+12*45- 48/ 2" 
                    "9*3+6-4"

                    dialog.message("notice"calc(r));
                    dialog.message("notice"calc (h)); 
                    النتيجة هى ناتج حساب الدالة بأكملها
                    أو يمكنك ايضا استبدال السطر الأخير بهذا السطر
                    كود PHP:
                    dialog.message("notice"mathcalc); 
                    النتيجة واحدة
                    ما شاء الله و لا قوة الا بالله
                    ردودك دائما تعتبر دروس ذات اهمية كبيرة
                    جزاك الله خيرا على ما اوليتني به من اهتمام سيدي الكريم

                    تعليق


                    • #11
                      نفس سؤالك كتمرين على الرابط و فيه الحل :
                      http://sites.ienajah.com/vb2/showthread.php?t=30615
                      و نفس إنشغالك وفيه حل آخر
                      http://sites.ienajah.com/vb2/showthread.php?t=30727

                      وسألت عن الأسبقية الحسابيـــة وقد طرحت سابقا
                      http://sites.ienajah.com/vb2/showthread.php?t=28505

                      ذكرت ذلك فقط من باب التشجيع على البحث قبل الكتابة وفق لما نصت عليه قوانين القسم
                      بالتوفيق

                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                        نفس سؤالك كتمرين على الرابط و فيه الحل :
                        http://sites.ienajah.com/vb2/showthread.php?t=30615
                        و نفس إنشغالك وفيه حل آخر
                        http://sites.ienajah.com/vb2/showthread.php?t=30727

                        وسألت عن الأسبقية الحسابيـــة وقد طرحت سابقا
                        http://sites.ienajah.com/vb2/showthread.php?t=28505

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

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة عبود عبود مشاهدة المشاركة
                          السلام عليكم ورحمة الله وبركاته

                          كود:
                          --
                          x="2*3^5-6*4/5";
                          x = string.gsub("$return "..x.."$", "%$(.-)%$", function (s) 
                          return loadstring(s)() 
                          end) 
                          Dialog.Message("Notice", x);
                          لماذا عندما اضيف هذه الاقواس يظهر خطأ

                          كود PHP:
                          x="(((-4*4)/5)+5)-9)";
                          string.gsub("$return "..x.."$""%$(.-)%$", function (s
                          return 
                          loadstring(s)() 
                          end
                          Dialog.Message("Notice"x); 

                          تعليق


                          • #14
                            المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
                            لماذا عندما اضيف هذه الاقواس يظهر خطأ

                            كود PHP:
                            x="(((-4*4)/5)+5)-9)"
                            لا أعلم طبيعة العملية الحسابية التى انت بصددها
                            لكن مهما كانت عمليتك الحسابية فلابد ان تتساوى أقواس اليمين مع أقواس اليسار
                            بعبارة أخرى .... يجب ان تكون جميع الأقواس مغلقة

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

                            تعليق


                            • #15
                              المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
                              لا أعلم طبيعة العملية الحسابية التى انت بصددها
                              لكن مهما كانت عمليتك الحسابية فلابد ان تتساوى أقواس اليمين مع أقواس اليسار
                              بعبارة أخرى .... يجب ان تكون جميع الأقواس مغلقة

                              غير ذلك
                              راجع صياغتك للأقواس
                              لأنها مؤكد خطأ
                              فلديك اربعة اقواس يمين و ثلاثة أقواس يسار فقط
                              لديك قوس غير مغلق
                              أعتقد انه عليك حذف القوس على يمين ال 9 أو إضافة قوس إلى الثلاثة أقواس اليسرى
                              موفق
                              في تمرين للاستاذ ثامر
                              المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                              البــــــوم أمامك تحدي برمجــــي
                              أنت من هواة ركوب الأمواج العاليـــة في عالم البرمجة
                              إذن حاول كتابة خوارزمية تستنتج العلاقات الحسابيــــة من جمع و طرح و ضرب و قسمة
                              بدون تكرار لمجموع ما

                              مثال : من الأعداد : -4 ’ 9 ’ 10 ’ 8 ’ 6
                              كون علاقات حسابية برمجية للحصول على الناتج 7

                              بمعنى كود يحبل إلى أن
                              [html](((-4+9)*10)-8)/6=7[/html]

                              فالمطلوب يعنى باستعمال الاعداد و العلاقات الحسابية ليكون الناتج 7
                              فالكتابة الحسابية هي المطلوبة و الكود يكون عام أعطيه أرقام و الناتج و هو يخبرني كبف جرت العملية ؟

                              سيكون أجمل كود تكتبـــــه في حال تجاحك في تحقيق المطلوب موفق

                              حاولت ان اكتب كود يسمح لي بحصر 120 احتمال
                              و الكود مبي على مبدأ وضع كل الاحتمالات المكننة لتموقع الارقام الخمسة و ايضا العمليات الاربعة
                              وحفظها في مصفوفة ........بحيث تكون على شكر صيغ حسابية ( سترينج بالاقواس ) ....
                              ثم ياتي دور الكود الذي يقوم بالحساب .....



                              هاهو الملف المفتوح

                              http://up.top4top.net/downloadf-381naahc1-rar.html

                              الكود يعمل تمام تمام لكن في حالات معينة فيها العدد سالب تظهر راسلة الخطأ
                              وهو محل السؤال

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-08-2025 الساعة 11:33 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-04-2025 الساعة 05:29 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-31-2025 الساعة 10:07 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-30-2025 الساعة 11:48 PM
                              المنتدى: التصنيع والانتاج نشرت بواسطة: HaMooooDi الوقت: 05-30-2025 الساعة 09:36 AM
                              يعمل...
                              X