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

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

تمرين رياضي ... دائما مع الاحتمالات

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

  • تمرين رياضي ... دائما مع الاحتمالات

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

    اعجبتني لعبة الارقام
    في برنامج اجنبي فرنسي حروف و ارقام
    يعطي للمتسابق مجموعة ارقام و ناتج
    يطلب من المتسابق
    باستعمال الارقام مرة واحدة فقط

    مع ما يريد من العمليات
    بحيث يجد الناتج
    ممكن مر معنا مثل هذا التمرين مثل هذا من قبل ...لكن لا باس بالتذكير

    -------------------
    التمرين :
    - نستخرج في ديالوج 20 عملية حسابية

    لخمسة اعداد معينة و يكون حاصل العمليات بينها عدد بين 300 و 600
    وغيرعشري
    - الاعداد الثلاثة الأولى تكون اصغر من 10
    - العدد الرابع يكون بين 10 و 50
    - العدد الخامس بين 50 و 100

    -----------------------
    محاول معكم ..........وجدت حل لكنه طويل في الاجراء





    ننتظر افكاركم



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

    حتى يتسنى لمن أراد المحاولة المشاركة سأكتفي بالمتابعة

    تعليق


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

      حتى يتسنى لمن أراد المحاولة المشاركة سأكتفي بالمتابعة
      اي لا نستخدم الرقم مرتين في الحساب بل مرة واحدة
      ممكن الرقم مكرر في الخمسة ارقام ........اي العملية فيها 5 ارقام بعمليات بينها تحقق الشرط
      سنترجم الكود الى لعبة تكون موضوع ملف مفتوح

      تعليق


      • #4
        لاحظوا هذا التمرين
        وهو المطلوب تصميمه

        [flash=http://smart-kit.com/games/operation_math_equation_game/operation.swf]width=400

        height=350[/flash]

        او الرباط من هنا
        http://smart-kit.com/games/operation.../Operation.swf

        بيمين الماووس ثم احفظ باسم

        تعليق


        • #5
          يعني التمرين المطروح في الموضوع من اجل تحصيل مجموعة احتمالات لعرضها في اللعبة الرياضية

          وجدت توليفة او حل مؤقت اخرجت به هذا التمرين

          https://www.mediafire.com/file/d1vn4h64404dxle/Math.exe

          ما رأيكم ؟
          هل فيه افكار او اقتراحات

          تعليق


          • #6
            جيد سأستغل loadstring
            حتى واني لم افهم جيدا إلا إن كان قصدك
            إجراء عمليات أربع عشوائية بدون أقواس و هذه الأرقام يمنع فيها التكرار
            وكذلك المجاميع لا يقبل تكرارها سأكتب لك من الان بعد 10 دقائق الحل الأمثل رياضيا

            تعليق


            • #7
              ستلاحظ أنه لا يمكن تكرار رقم لا في العمليات و لا حتى المجاميع
              كما يمكنك رفع قيمة 20 عملية إلى عاملية الاحتمالات
              [html]function test (tap,a,i)
              for k = 1,i do
              if a == tap[k] then
              return true
              end;end
              return false
              end
              op_table = {"/","+","-",'*'};
              nb_table = {0,0,0,0,0};
              h='';tamer={}
              for i = 1,20 do
              repeat
              for j=1,3 do
              v =Math.Random(1, 9);
              while (test(nb_table,v,3)==true) do
              v = Math.Random(1,9);
              end
              Table.Insert(nb_table, j, v);
              end
              v =Math.Random(10, 49);Table.Insert(nb_table, 4, v);
              v = Math.Random(50, 100);Table.Insert(nb_table, 5, v);
              v =Math.Random(1, 4);n1=op_table[v]
              v =Math.Random(1, 4);n2=op_table[v]
              v =Math.Random(1, 4);n3=op_table[v]
              v =Math.Random(1, 4);n4=op_table[v]
              g = loadstring(string.format("return %s",nb_table[1]..n1..nb_table[2]..n2..nb_table[3]..n3..nb_table[4]..n4..nb_table[5]))();
              g = Math.Floor(String.ToNumber(g))
              until String.ToNumber(g)>=300 and String.ToNumber(g)<= 600 and test (tamer,g,i)==false ;
              Table.Insert(tamer, i, g);
              h =''..nb_table[1]..''..n1..''..nb_table[2]..''..n2..''..nb_table[3]..''..n3..''..nb_table[4]..''..n4..''..nb_table[5]..'='..g
              Debug.ShowWindow(true);
              Debug.Print(h.."\r\n");
              end
              [/html]

              بالتوفيق

              تعليق


              • #8
                المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                ستلاحظ أنه لا يمكن تكرار رقم لا في العمليات و لا حتى المجاميع
                كما يمكنك رفع قيمة 20 عملية إلى عاملية الاحتمالات
                [html]function test (tap,a,i)
                for k = 1,i do
                if a == tap[k] then
                return true
                end;end
                return false
                end
                op_table = {"/","+","-",'*'};
                nb_table = {0,0,0,0,0};
                h='';tamer={}
                for i = 1,20 do
                repeat
                for j=1,3 do
                v =Math.Random(1, 9);
                while (test(nb_table,v,3)==true) do
                v = Math.Random(1,9);
                end
                Table.Insert(nb_table, j, v);
                end
                v =Math.Random(10, 49);Table.Insert(nb_table, 4, v);
                v = Math.Random(50, 100);Table.Insert(nb_table, 5, v);
                v =Math.Random(1, 4);n1=op_table[v]
                v =Math.Random(1, 4);n2=op_table[v]
                v =Math.Random(1, 4);n3=op_table[v]
                v =Math.Random(1, 4);n4=op_table[v]
                g = loadstring(string.format("return %s",nb_table[1]..n1..nb_table[2]..n2..nb_table[3]..n3..nb_table[4]..n4..nb_table[5]))();
                g = Math.Floor(String.ToNumber(g))
                until String.ToNumber(g)>=300 and String.ToNumber(g)<= 600 and test (tamer,g,i)==false ;
                Table.Insert(tamer, i, g);
                h =''..nb_table[1]..''..n1..''..nb_table[2]..''..n2..''..nb_table[3]..''..n3..''..nb_table[4]..''..n4..''..nb_table[5]..'='..g
                Debug.ShowWindow(true);
                Debug.Print(h.."\r\n");
                end
                [/html]

                بالتوفيق


                جميل جدا .............
                يعني اذا ارنا عمليات اكثر ما علينا سوى تغيير 20 الى العدد الذي نريده
                ما شاء الله

                تعليق


                • #9
                  حسب ما فهمت ..ان الدالة التي استعملتها في الاول tap
                  هي لالغاء تكرار الارقام صح ؟
                  .........

                  تعليق


                  • #10
                    المشاركة الأصلية بواسطة عبد الهادي بهاب مشاهدة المشاركة
                    حسب ما فهمت ..ان الدالة التي استعملتها في الاول tap
                    هي لالغاء تكرار الارقام صح ؟
                    .........

                    نعــــم الدالة التي كتبتها لهذا الغرض

                    تعليق


                    • #11
                      محاولتي --- مع توليد عشوائيا الارقام و امانية تكرارها ------

                      كود PHP:
                      igli ""oper={"+","-","*","/"}; z=1
                        for 
                      i=1,20 do
                        
                        
                      repeat
                        
                        s1 
                      Math.Random(1,10); s2 Math.Random(1,10);s3 Math.Random(1,10);
                        
                      s4 Math.Random(11,30);s5 Math.Random(50,100); 
                        
                      s1..oper[Math.Random(1,4)]..s2..oper[Math.Random(1,4)]..s3..oper[Math.Random(1,4)]..s4..oper[Math.Random(1,4)]..s5;
                        
                      x1 string.gsub("$return "..x.."$""%$(.-)%$", function (s) return loadstring(s)() end
                        
                      x1 tonumber(x1);
                        if 
                      x1 300 and x1 600 and Math.Floor(x1) == x1 then
                        z
                      =z+1;
                        
                      igli igli..x.."="..x1.."\r\n";
                        
                      end  
                        
                        until z 
                      >= 20;
                        
                        
                      end
                        
                        Dialog
                      .Message("Elhadi",igli); 

                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                        نعــــم الدالة التي كتبتها لهذا الغرض
                        شكرا على الكود الذي تفضلتم بكتابته ...
                        بعد اذنكم اذا اردنا ان نتركها سبهللا اي بدون شرط لتكرار الارقام في المعادلة يصبح الكود هكذا :

                        كود PHP:
                        op_table = {"/","+","-",'*'};
                        nb_table = {0,0,0,0,0};
                        h='';tamer={}
                        for 
                        1,20 do

                        repeat
                        =Math.Random(1049);Table.Insert(nb_table1v);
                        Math.Random(50100);Table.Insert(nb_table2v);
                        Math.Random(50100);Table.Insert(nb_table3v);
                        =Math.Random(1049);Table.Insert(nb_table4v);
                        Math.Random(50100);Table.Insert(nb_table5v);
                        =Math.Random(14);n1=op_table[v]
                        =Math.Random(14);n2=op_table[v]
                        =Math.Random(14);n3=op_table[v]
                        =Math.Random(14);n4=op_table[v]
                        loadstring(string.format("return %s",nb_table[1]..n1..nb_table[2]..n2..nb_table[3]..n3..nb_table[4]..n4..nb_table[5]))();
                        Math.Floor(String.ToNumber(g))

                        until String.ToNumber(g)>=300 and String.ToNumber(g)<= 600  ;

                        Table.Insert(tamerig);
                        =''..nb_table[1]..''..n1..''..nb_table[2]..''..n2..''..nb_table[3]..''..n3..''..nb_table[4]..''..n4..''..nb_table[5]..'='..g
                        Debug
                        .ShowWindow(true);
                        Debug.Print(h.."\r\n");

                        end 
                        شكرا جزيلا

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة عبد الهادي بهاب مشاهدة المشاركة
                          شكرا على الكود الذي تفضلتم بكتابته ...
                          بعد اذنكم اذا اردنا ان نتركها سبهللا اي بدون شرط لتكرار الارقام في المعادلة يصبح الكود هكذا :

                          كود PHP:
                          op_table = {"/","+","-",'*'};
                          nb_table = {0,0,0,0,0};
                          h='';tamer={}
                          for 
                          1,20 do

                          repeat
                          =Math.Random(1049);Table.Insert(nb_table1v);
                          Math.Random(50100);Table.Insert(nb_table2v);
                          Math.Random(50100);Table.Insert(nb_table3v);
                          =Math.Random(1049);Table.Insert(nb_table4v);
                          Math.Random(50100);Table.Insert(nb_table5v);
                          =Math.Random(14);n1=op_table[v]
                          =Math.Random(14);n2=op_table[v]
                          =Math.Random(14);n3=op_table[v]
                          =Math.Random(14);n4=op_table[v]
                          loadstring(string.format("return %s",nb_table[1]..n1..nb_table[2]..n2..nb_table[3]..n3..nb_table[4]..n4..nb_table[5]))();
                          Math.Floor(String.ToNumber(g))

                          until String.ToNumber(g)>=300 and String.ToNumber(g)<= 600  ;

                          Table.Insert(tamerig);
                          =''..nb_table[1]..''..n1..''..nb_table[2]..''..n2..''..nb_table[3]..''..n3..''..nb_table[4]..''..n4..''..nb_table[5]..'='..g
                          Debug
                          .ShowWindow(true);
                          Debug.Print(h.."\r\n");

                          end 
                          شكرا جزيلا
                          في هكذا حالات يمكنك كذلك حذف المتغير tamer و ما تعلق به أليس كذلك ؟

                          تعليق


                          • #14
                            المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                            في هكذا حالات يمكنك كذلك حذف المتغير tamer و ما تعلق به أليس كذلك ؟
                            صحيح استاذ ...

                            تعليق

                            مواضيع تهمك

                            تقليص

                            المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
                            المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
                            المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
                            المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
                            المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
                            يعمل...
                            X