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

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

التعامل مع باقي القسمة بالطريقة الصحيحة

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

  • التعامل مع باقي القسمة بالطريقة الصحيحة

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

    قبل أن أطرح هذا التلميح ... يمكن النقد أو حتى التصحيح
    إن بدت لك أخطاء
    ---------------------------------
    باقي قسمة عددين نتيجة نحتاج توظيف نتائجها في كثير من البرامج
    فبمجرد أن تفتح الأوتوبلاي و بالضبط عند الدالة Math سنجد :
    Math.Mod و هي دالة مسؤولة عن إرجاع باقي القسمة
    مثال :
    كود PHP:
    Dialog.Message("Notice",Math.Mod(4,3)); 
    يتم إرجاع القيمة 1 و هي الباقي

    لو كتبنا الحروف الاولى من الدالة بقطع صغير فلن يغير في النتائج
    مثال :
    كود PHP:
    Dialog.Message("Notice",math.mod(4,3)); 
    كذلك الدالة fmod تؤدي نفس الغرض
    مثال :
    كود PHP:
    Dialog.Message("Notice",math.fmod(4,3)); 
    نفس الكلام لو استعملنا الرمز %
    كود PHP:
    Dialog.Message("Notice",4%3); 
    لحد الان الأمور عادية

    الان نجرب :
    بأن يكون القاسم أو المقسوم سالبا ؟؟؟
    مثال :
    ناتج كل من الدوال : math.fmod و math.mod و Math.Mod
    في هذا المثال :
    كود PHP:
    Dialog.Message("Notice",Math.Mod(-4,3));
    Dialog.Message("Notice",math.mod(-4,3));
    Dialog.Message("Notice",math.fmod(-4,3)); 
    كل الرسائل ستعطي بافي القسمة = -1

    لكن عند استعمال %
    مثال :
    كود PHP:
    Dialog.Message("Notice",-4%3); 
    سيكون باقي القسمة 2

    هناك قاعدة تقول بأن إشارة الباقي تكون نفس إشارة المقسوم عليه

    الان يمكنك الحكم متى أستعمل القسمة باستعمال %
    و النواتج الخاطئة التي ستحدث عند الاستعمال الخاطيء لأي من الدوال
    سأتوقف هنا سلام

  • #2
    مشكور اخى ثامر
    ويا ريت توضح بالامثلة العملية لمن يحب ان يتابع دروسك
    اعلم ان هذا الدرس ربما يكون موجها لمستوى متقدم
    ولكن تقديم أمثلة ربما يشجع المبتدئين علىى متابعة الموضوع وتعم الفائدة
    كنت أتمنى ذلك مع كل درس لدالة math
    ان ترفق مشروعا فقط يقرب الفكرة الى التطبيق

    تعليق


    • #3
      math.mod هى دالة اللوا الأصلية
      Math.Mod هى نفس الدالة بعد إنضمامها للأوتوبلاى

      % هى أصل كل ما سبق و ترجع للغة الأم ++c
      و التى تم عمل اللوا لتسهيل التعامل معها

      هناك العديد من الحلول لجعل % تعطى الناتج الصحيح فى حالة الأرقام السالبة
      و لو فعلنا أى من تلك الحلول نصل ببساطة لكود الدالة math.mod الأصلى بلغة c
      المعلوم مسبقا
      التعديل الأخير تم بواسطة المـهاجر; الساعة 31-12-2014, 08:27 PM.

      تعليق


      • #4
        مرور عطر أخي خادم المسلمين جزاك الله خيرا
        فقط ما كتبته لا يرتقي أن يسمى درسا فقط هي ملاحظة
        كتبتها كوني لاحظتها عند التعامل مع قيم سالبة فأوردت الملاحظة قلت ربما تفيد
        ----------------------------
        أخي الكريم المهاجر جد مشكووور على ما أضفته من توضيحات
        مهمة و داعمة شكرا جزيلا
        توجد كذلك هذه الدالة قد تفيد في مثل هكذا حالات
        كود PHP:
        Dialog.Message("Notice",-4-3*Math.Floor(-4/3)); 
        بارك الله فيكما شكرا جزيلا

        تعليق


        • #5
          جزاك الله خيرا أخى ابا بلقيس

          بارك الله فيك وفى جهودك النافعة

          تعليق


          • #6
            المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
            مرور عطر أخي خادم المسلمين جزاك الله خيرا
            فقط ما كتبته لا يرتقي أن يسمى درسا فقط هي ملاحظة
            كتبتها كوني لاحظتها عند التعامل مع قيم سالبة فأوردت الملاحظة قلت ربما تفيد
            ----------------------------
            أخي الكريم المهاجر جد مشكووور على ما أضفته من توضيحات
            مهمة و داعمة شكرا جزيلا
            توجد كذلك هذه الدالة قد تفيد في مثل هكذا حالات
            كود PHP:
            dialog.message("notice",-4-3*math.floor(-4/3)); 
            بارك الله فيكما شكرا جزيلا
            زادك الله علما وتواضعا وبارك الله فيك
            استاذنا
            لم تجدنى ولن تجدنى مختلفا معك الا حرصا على تقديرك والاستفادة من علمك

            تعليق


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

              من هناااا

              تعليق


              • #8
                عذرا أخى
                لم اكن اتوقع انك تبحث عن حل
                فالموضوع موجود فى قسم الشروحات
                فإعتقدت ان كل ما سبق كان تمهيد أو مقدمة لدرس ما فلم أشأ التدخل و إفساد مقدمتك بوضع حلول

                المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                -------------------------------------------------------------
                مازال موضوع باقي القسمة يشغلني
                وقد طرحت انشغالا موازي في مواقع الايكسل لم يفصل فيه
                يمكن الاطلاع ويبدو أن الموضوع سيبقى مفتوحا لغاية الفصل في مكمن الخطأ
                أعذرنى لتأخر الرد
                فالآن فقط عرفت أنك تستفسر بغرض الإستفسار و ليس التمهيد لدرس
                لذلك هذه هى الدالة الصحيحة
                كود PHP:
                5
                3
                mod 
                = (x%y)%y
                Dialog
                .Message("Notice"mod MB_OKMB_ICONINFORMATIONMB_DEFBUTTON1); 
                هناك فرق شاسع بين دالة modulo و دالة %

                المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
                هناك العديد من الحلول لجعل % تعطى الناتج الصحيح فى حالة الأرقام السالبة
                و لو فعلنا أى من تلك الحلول نصل ببساطة لكود الدالة math.mod الأصلى بلغة c
                و هذا هو ما قدمته فى الدالة التى كتبتها لك
                و مع كامل إحترامى لأعضاء منتدى أوفيسنا
                فعليك أن تعذرهم فهم مستخدمون للدوال المتاحة بالإيكسل أو ال vba فقط و لا ينفذون أبدا لجذورها فى لغة ++c
                و لا يكلف الله نفسا إلا وسعها

                تعليق


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

                  الأخ المهاجر مع قراءة ردك أسألك ما الفارق الذي تراه بين ما كتبت
                  كود PHP:


                  mod 
                  = (x%y)%
                  Dialog
                  .Message("Notice"mod MB_OKMB_ICONINFORMATIONMB_DEFBUTTON1); 

                  و ماذكرته في أول المشاركة بأن % تعطي الباقي بالطرييقة نفسها اذ تعلق الامر بالأعداد السالبة
                  كود PHP:


                  mod 
                  x%y
                  Dialog
                  .Message("Notice"mod MB_OKMB_ICONINFORMATIONMB_DEFBUTTON1); 

                  ما الفارق الذي تراه بين الاكواد مازال إنشغالي بخصوص الاعداد السالبة
                  ليس في كيفية الحصول بل بعدم اقتناعي بعمل الدالة

                  تعليق


                  • #10
                    حسنا
                    -21 % 4 = 3 لأن -21 + (4*6) = 3
                    -21 % 3 = صفر لأن -21 + (3*7) = صفر

                    و لاحظ أن نتائج الدالة mod هى الأخرى ليست منزهة من الأخطاء
                    و إلا أخبرنى ما هو ناتج
                    [html]result = Math.Mod(-24, 4);[/html]

                    و لا تخبرنى أنه سالب صفر

                    تعليق


                    • #11
                      بارك الله فيك لهذا قلت مازلت منشغلا بباقي القسمة
                      دعني أخبرك عما يحيرني أكثر
                      أحسب بأي دالة كانت مما سبق في الموضوع
                      ناتج قسمة 4 على -3

                      رايح تجد أن الباقي دائما أكبر من المقسوم عليه و كأن العملية
                      آلية القسمة توقفت في مرحلة معينة
                      لو استعملنا Math.Mod ومثيلاتها الناتج 1 و هو أكبر من المقسوم عليه -3
                      و رياضيا غير مقبول
                      لو استعملنا % أو ماتفضلت به يكون الناتج -2 و هي أكبر من -3

                      بمعنى في كل الحالات النتائج خطأ خطأ رياضيا لذلك مازلت منشغلا حول الاسباب
                      تقديري

                      تعليق


                      • #12
                        فى الحقيقة أنا أستوعب قسمة رقم سالب على رقم موجب
                        هذا عمليا يشبه تقسيم دين مالى(سالب) على مجموعة من الرجال (قطعا عددهم موجب) ليقوموا بسداده

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

                        هل هى تشبه ملئ مجموعة حفر (إرتفاع سالب) بواسطة عامود من الماء (ارتفاعه موجب) ؟؟
                        تقسيم الماء (موجب) على الحفر (سالب)

                        ما رأيك ؟؟
                        نتفق و بعدها نواصل

                        تعليق


                        • #13
                          نعم أخي المهاجر لكن هو منطق رياضي قد لا نجد له تفسيرا واقعيا
                          لكن لا مناص لأن ننفي عدم وجود قسمة عدد على عدد سالب
                          أفهمك أخي جيدا لكن وصلت تقريبا لهذا القرار المؤقت بأن لا أفكر في ايجاد باقي قسمة
                          أعداد أحد اطرافها سالب فكذلك لا تجد تفسيرا مقنعا لما نقول -4 / 3 = -2 و الباقي 2 قد يطرح
                          السؤال و هل -4 فيها -2 مرة 3
                          على كل شكرا جزيلا تقديري و احترامي لشخصكم الكريم

                          تعليق


                          • #14
                            نعم أخى
                            لكن قسمة سالب على موجب منطقى جدا

                            أشهر تاجر إفلاسه و علية 3000 جنيه (تعتبر هنا -3000 )
                            إجتمع 3 من زملاؤه و قاموا بتقسيم مديونيته على أنفسهم بالتساوى لسدادها عنه

                            ما هى نتيجة الإجتماع
                            حصل كل تاجر على -1000 جنيه لسدادها

                            تعليق


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

                              ملاحظة :
                              لهذه الاسباب و لتلك بدأت الموضوع بالترحيب بالنقد البناء - مثل ما تفضلت به- و التصحيح
                              و ختم بأن يأخذ قرار الاستعمال الصحيح لصاحبه بناء على تعلماته و قناعاته الرياضية
                              ليأخذ الموضوع منحى توضيح اذ تعلق بالأعداد الموجبة و لفت نظر للأعداد السالبة و مشاكلها

                              تعليق

                              مواضيع تهمك

                              تقليص

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