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

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

الاستخلاص العلائقي من المصفوفات

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

  • #16
    بخصوص الاكواد الثلاث الاولى
    ماذا فعلت لقد قمت باستخراج العناصر الأولى من كل محموعة بالشكل الصحيح
    الكود الثاني للعناصر الثانية لكل مجموعة
    الكود الثالث لاستخرج العناصر المرتبة ثالثا لكل مجموعة
    --------
    هذا الاستخراج أي نعم صحيح لكن أين العلاقة المشروطة التي تم على ضوئها هذا الاستخراج أو غيره
    اذن هو استخراج كيفي غير مشروط .... أليس كذلك ؟


    يتبع

    تعليق


    • #17
      بخصوص التحكم في أي نص أو أثر كتابي
      و استخلاص منه موقع معين
      لاحظ الدالة String.Mid مادورها ؟ هي عندك ضمن الدوال جربها
      هذه الدالة أي String.Mid تساوي تماما دالة lua :
      string.sub يقومان بنفس العمل لكننا سنهتم بالدالة الموجودة في البرنامج
      String.Mid جربها على
      كود PHP:
      ="yaser" 
      ستجدها تحقق لك الاستخراج الذي تريده
      فهي تتعامل بمن ..إلى ..

      تعليق


      • #18
        بسم الله الرحمن الرحيم
        بالفعل استاذي العزيز الدالة تستخلص الاحرف
        --------------


        كود PHP:
        ="yaser" 
        result String.Mid(v11);
        للحرف الاول

        ---==========================================================--

        ="yaser" 
        result2 String.Mid(v21);
        للحرف الثاني

        ---==========================================================--
        ="yaser" 
        result3 String.Mid(v31);
        للحرف الثالث

        ---==========================================================--
        ="yaser" 
        result4 String.Mid(v41);

        للحرف الرابع

        ---==========================================================--


        ="yaser" 
        result5 String.Mid(v51);
        للحرف الاخير 

        ولكن كيف ستتعامل الدالة مع العاصر في المصفوفة ؟
        وكيف نبني العلاقة؟
        اعطينا توضيح بسيط يسهل العملية

        تعليق


        • #19
          السلام عليكم ورحمة الله وبركاته
          بارك الله فيك أخي ياسر
          سنحتاج للوصول للحرف الاول
          الى التعبير
          كود PHP:
          result String.Mid(v11); 
          كما ذكرت

          لكن التعبير :
          كود PHP:
          result5 String.Mid(v51); 
          صحيح في مثالنا يعبر عن العنصر الاخير على أساس أن الاسم مكون من 5 حروف
          لكن في عناصر المصفوفة سيتغير هذا العدد و بالتالي سنعوضه بالتعبير
          كود PHP:
          result5 String.Mid(v#v, #v); 
          حتى نتفادى أي حساب لمجموع
          حروف العنصر " أي عددهم "

          يتبع

          تعليق


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

            حوصلة ما توصلنا اليه :
            كود PHP:
            ={{'1505','18','2004'},{'877','453','501'},{'720','1','100'}}
            for 
            n1 in pairs(s[1]) do
            for 
            n2 in pairs(s[2]) do
            for 
            n3 in pairs(s[3]) do
            yaser1 String.Mid(x,x,x); ------ تخزين آخر رقم في عناصر المصفوفة الاولى
            yaser2 
            String.Mid(xx,x); ---- الاعلان على بداية كل عنصر من المصفوفة الثانية
            yaser3 
            String.Mid(x,x,x); ------  تخزين آخر رقم في عناصر المصفوفة الثانية
            yaser4 
            String.Mid(xx,x); ---- بداية كل عنصر من  المصفوفة الاخير 
            الدالة غير مغلقة لانه مازالت المرحلة الاخيرة
            لكن ماذا سنضع في مكان كل x بناء على ما سبق من اكواد
            في المشاركة السابقة و ما أفادت به التعليقات ؟ لنحاول

            تعليق


            • #21
              ولاحظ n1 معبر عن كل عناصر المجموعة الجزئية الاولى
              n2 معبر عن كل عناصر المجموعة الجزئية الثانية
              n3 معبر عن كل عناصر المجموعة الجزئية الثالثة

              نظرا لوجود دالة تكرارية

              تعليق


              • #22
                بسم الله الرحمن الرحيم
                كود PHP:
                ={{'1505','18','2004'},{'877','453','501'},{'720','1','100'}} 
                for 
                n1 in pairs(s[1]) do 
                for 
                n2 in pairs(s[2]) do 
                for 
                n3 in pairs(s[3]) do 
                yaser1 String.Mid(n1,-1,#n1);  
                yaser2 String.Mid(n21,#n2);   
                yaser3 String.Mid(n2,-1,#n2);  
                yaser4 String.Mid(n31,#n3);  
                end
                end
                end 
                لم تنجح العملية

                تعليق


                • #23
                  السلام عليكم ورحمة الله وبركاته
                  أخي ياسر
                  01 - yaser1 خصصناها لاستخراج آخر حرف أو رقم من عناصر المجموعة الجزئية
                  الاولى
                  أنت كتبت :
                  كود PHP:
                  yaser1 String.Mid(n1,-1,#n1); 
                  والصواب :
                  [HTML]yaser1 = String.Mid(n1,#n1,#n1);[/HTML]
                  02 - yaser2 خصصناها لاستخراج الحرف او الرقم الاول من عناصر المجموعة الجزئية الثانية
                  أنت كتبت :
                  كود PHP:
                  yaser2 String.Mid(n21,#n2); 
                  وهذا خطأ غير متوقع
                  و الصواب :
                  [html]yaser2 = String.Mid(n2, 1,1);[/html]
                  03 - yaser3 خصصناها لاستخراج آخر رقم أو حرف من عناصر المجموعة الجزئية الثانية كذلك
                  أنت كتبت :
                  كود PHP:
                  yaser3 String.Mid(n2,-1,#n2); 
                  والصواب :
                  [html]yaser3 = String.Mid(n2,#n2,#n2);[/html]
                  04 - yaser4 خصصناها لاستخراج الرقم او الحرف الاول من المجموعة الجزئية الثالثة
                  أنت كتبت :
                  كود PHP:
                  yaser4 String.Mid(n31,#n3); 
                  وهذا كذلك خطأ غير متوقع
                  و الصواب :
                  [html]yaser4 = String.Mid(n3, 1,1);[/html]

                  و بالتالي : حوصلة الأكواد المتحصل عليها ككل هي :
                  [html]s ={{'1505','18','2004'},{'877','453','501'},{'720', '1','100'}}
                  for i , n1 in pairs(s[1]) do
                  for i , n2 in pairs(s[2]) do
                  for i , n3 in pairs(s[3]) do
                  yaser1 = String.Mid(n1,#n1,#n1);
                  yaser2 = String.Mid(n2, 1,1);
                  yaser3 = String.Mid(n2,#n2,#n2);
                  yaser4 = String.Mid(n3, 1,1); [/html]

                  الأكواد غير مغلقة مازالت آخر مرحلة وبالتالي لاداع
                  لوضع الاكواد في زر و انتظار نتائج الا بعد انهاء المرحلة الاخيرة

                  يتبع

                  تعليق


                  • #24
                    2 - كيف نستخلص من عناصر المجموعة الجزئية الأولى آخر رقم لكل عنصر
                    3 - كيف نستخلص من عناصر المجموعة الجزئية الثانية أول رقم لكل عنصر
                    4 - كيف نستخلص من عناصر المجموعة الجزئية الثانية كذلك آخر رقم لكل عنصر
                    5 - كيف نستخلص من المجموعة الجزئية الأخيرة أول رقم لكل عنصر
                    6 - كيف نضع شرط اذا تساوى الاستخلاص رقم 2 مع الاستخلاص 3 و في نفس الوقت يتساوى
                    الاستخلاص رقم4 مع الاستخلاص رقم5
                    عند تحقق الشرط 6 ستحقق المطلوب
                    اذن وصلنا للمرحلة الاخيرة رقم 6
                    المطلوب كتابة دالة شرطية تحت أكواد آخر حوصلة تقوم بمايلي :
                    [caution]اذا تساوى الاستخلاص رقم 2 مع الاستخلاص 3 و في نفس الوقت يتساوى الاستخلاص رقم4 مع الاستخلاص رقم5[/caution]

                    بمعنى اذا تحقق تساوي yaser1 مع yaser2 و
                    yaser3 تساوي yaser4
                    ينتج في رسالة n1 و n2 و n3 أي العناصر التي حققت الشروط تغلق الدالة الشرطية هذه
                    ثم تغلق كل الاكواد بـ end ثلاث مرات
                    ويصبح العمل جاهز للمعاينة

                    تعليق


                    • #25
                      علينا اكمال العمل أخي ياسر
                      قد ننتقل لموضوع آخر يبدو أني حددت بعض معالمه وفوائده

                      تعليق


                      • #26
                        بسم الله الرحمن الرحيم
                        ننتقل استاذي الكريم
                        موفق بإذن الله ... لك مني أجمل تحية .

                        تعليق


                        • #27
                          جيد أخي ياسر حتى و إني كنت أنتظر
                          منك كتابة الكود النهائي
                          المهم : للحصول على كود يفي بغرض الطلب كنا قد وصلنا
                          للمراحل ماقبل الاخيرة و هانحن نضيف شرط الاستخراج ذو علاقة ما
                          وهنا حددت وفق ماطرح في أول الموضوع
                          كود :
                          [html]s={{'2004','18','1505'},{'877','453','501'},{'320' ,'7','100'}}
                          for i , n1 in pairs(s[1]) do
                          for i , n2 in pairs(s[2]) do
                          for i , n3 in pairs(s[3]) do
                          yaser1 = String.Mid(n1,#n1,#n1);
                          yaser2 = String.Mid(n2, 1,1);
                          yaser3 = String.Mid(n2,#n2,#n2);
                          yaser4 = String.Mid(n3, 1,1);
                          if yaser1==yaser2 and yaser3==yaser4 then
                          Dialog.Message("Notice", n1.." ---- "..n2.." ---- "..n3);
                          end
                          end
                          end
                          end[/html]

                          تعليق


                          • #28
                            وسبق ووعدنا بوضع نفس الحل على أن لا تكون
                            المصفوفات مضمنة في مصفوفة واحدة
                            كود :
                            [html]c1 ={'2004','18','1505'}
                            c2= {'877','453','501'}
                            c3={'320','1','100'}
                            -------------------------------------
                            for i , n1 in pairs(c1) do
                            for i , n2 in pairs(c2) do
                            for i , n3 in pairs(c3) do
                            yaser1 = String.Mid(n1,#n1,#n1);
                            yaser3 = String.Mid(n2,#n2,#n2);
                            yaser2 = String.Mid(n2, 1,1);
                            yaser4 = String.Mid(n3, 1,1);
                            if yaser1==yaser2 and yaser3==yaser4 then
                            Dialog.Message("Notice", n1.." ---- "..n2.." ---- "..n3);
                            end
                            end
                            end
                            end[/html]

                            تعليق


                            • #29
                              [caution]إليك أخي المحترف قد ترى أن الطلب و الحل بسيطا نوعا ما وقلت القضية سهلة الان ما هو الحل اذ كانت المجموعات غير محددة أي ليست ثلاثة فمن غير المعقول أن تكتب مئات الاكواد و المقارنات أكتب حلا احترافيا يقوم بنفس الدور مهما كان عدد المجموعات الجزئية عند وجود الحل سنقرأه و نستفيد منه:abc_086: [/caution]

                              تعليق


                              • #30
                                موفق بإذن الله ... لك مني أجمل تحية .

                                تعليق

                                مواضيع تهمك

                                تقليص

                                المنتدى: القسم العام نشرت بواسطة: 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