الفرق بين المراجعتين لصفحة: «Ruby/Numeric/divmod»

من موسوعة حسوب
< Ruby‏ | Numeric
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>divmod‎</code> الخاص بالصنف <code>Numeric</code> في روبي}}</noinclude> تصنيف: Ruby تصن...'
 
لا ملخص تعديل
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Numeric]]
[[تصنيف: Ruby Numeric]]
يعيد التابع <code>divmod</code> مصفوفة تحتوي على الحاصل (quotient) والباقي المتحصل عليه بقسمة <code>num</code> على <code>numeric</code>.
يعيد التابع <code>divmod</code> مصفوفة تحتوي على الحاصل (quotient) والباقي الناتج عن قسمة العدد الذي استُدعي معه على الوسيط المعطى <code>numeric</code>.
إن كان <code>q, r = x.divmod(y)</code> ، إذن:


يتم تقريب الحاصل نحو اللانهاية السالبة، كما هو موضح في الجدول التالي:
إن كان <code>q, r = x.divmod(y)‎</code> ، إذن:<syntaxhighlight lang="ruby"> q = floor(x/y)
<syntaxhighlight lang="ruby"> a    |  b  |  a.divmod(b)  |  a/b  | a.modulo(b) | a.remainder(b)
x = q*y + r</syntaxhighlight>
يتم تقريب الحاصل نحو اللانهاية السالبة، كما هو موضح في الجدول التالي:<syntaxhighlight lang="ruby"> a    |  b  |  a.divmod(b)  |  a/b  | a.modulo(b) | a.remainder(b)
------+-----+---------------+---------+-------------+---------------
------+-----+---------------+---------+-------------+---------------
  13  |  4  |  3,    1    |  3    |    1        |    1
  13  |  4  |  3,    1    |  3    |    1        |    1
سطر 24: سطر 24:
------+-----+---------------+---------+-------------+---------------
------+-----+---------------+---------+-------------+---------------
-11.5 | -4  |  2,  -3.5  |  2.875 |  -3.5      |    -3.5‎</syntaxhighlight>
-11.5 | -4  |  2,  -3.5  |  2.875 |  -3.5      |    -3.5‎</syntaxhighlight>
أمثلة:
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">divmod(numeric)  →  array‎</syntaxhighlight>
<syntaxhighlight lang="ruby">divmod(numeric)  →  array‎</syntaxhighlight>
سطر 30: سطر 29:
===<code>numeric‎</code>===
===<code>numeric‎</code>===


 
عدد.
==القيمة المُعادة==
==القيمة المُعادة==
يعيد التابع <code>divmod</code> مصفوفة تحتوي على الحاصل (quotient) والباقي الناتج عن قسمة العدد الذي استُدعي معه على الوسيط المعطى <code>numeric</code>.


==أمثلة==
==أمثلة==
مثال على استخدام التابع <code>divmod‎</code>:
مثال على استخدام التابع <code>divmod‎</code>:
<syntaxhighlight lang="ruby">q = floor(x/y)
<syntaxhighlight lang="ruby">11.divmod(3)        #=> [3, 2]
x = q*y + r‎</syntaxhighlight>
11.divmod(-3)      #=> [-4, -1]
11.divmod(3.5)      #=> [3, 0.5]
(-11).divmod(3.5)   #=> [-4, 3.0]
11.5.divmod(3.5)    #=> [3, 1.0]</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Numeric/div|div]]</code>: يستخدم  العملية <code>/</code> لإجراء القسمة، ثم يحوّل النتيجة إلى عدد صحيح. لا يعرفق <code>Numeric</code> العملية <code>/</code>؛ فهذا يُترك للأصناف الفرعية.
* التابع <code>[[Ruby/Numeric/div|div]]</code>: يستخدم  العملية <code>/</code> لإجراء القسمة، ثم يحوّل النتيجة إلى عدد صحيح.  
* التابع <code>[[Ruby/Numeric/dup|dup]]</code>: يعيد  الكائن الذي استُدعي معه.


==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Numeric.html#method-i-divmod قسم  التابع divmod‎ في الصنف Numeric‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Numeric.html#method-i-divmod قسم  التابع divmod‎ في الصنف Numeric‎ في توثيق روبي الرسمي.]

مراجعة 21:50، 27 أكتوبر 2018

يعيد التابع divmod مصفوفة تحتوي على الحاصل (quotient) والباقي الناتج عن قسمة العدد الذي استُدعي معه على الوسيط المعطى numeric.

إن كان q, r = x.divmod(y)‎ ، إذن:

 q = floor(x/y)
x = q*y + r

يتم تقريب الحاصل نحو اللانهاية السالبة، كما هو موضح في الجدول التالي:

 a    |  b  |  a.divmod(b)  |   a/b   | a.modulo(b) | a.remainder(b)
------+-----+---------------+---------+-------------+---------------
 13   |  4  |   3,    1     |   3     |    1        |     1
------+-----+---------------+---------+-------------+---------------
 13   | -4  |  -4,   -3     |  -4     |   -3        |     1
------+-----+---------------+---------+-------------+---------------
-13   |  4  |  -4,    3     |  -4     |    3        |    -1
------+-----+---------------+---------+-------------+---------------
-13   | -4  |   3,   -1     |   3     |   -1        |    -1
------+-----+---------------+---------+-------------+---------------
 11.5 |  4  |   2,    3.5   |   2.875 |    3.5      |     3.5
------+-----+---------------+---------+-------------+---------------
 11.5 | -4  |  -3,   -0.5   |  -2.875 |   -0.5      |     3.5
------+-----+---------------+---------+-------------+---------------
-11.5 |  4  |  -3,    0.5   |  -2.875 |    0.5      |    -3.5
------+-----+---------------+---------+-------------+---------------
-11.5 | -4  |   2,   -3.5   |   2.875 |   -3.5      |    -3.5

البنية العامة

divmod(numeric)    array

المعاملات

numeric‎

عدد.

القيمة المُعادة

يعيد التابع divmod مصفوفة تحتوي على الحاصل (quotient) والباقي الناتج عن قسمة العدد الذي استُدعي معه على الوسيط المعطى numeric.

أمثلة

مثال على استخدام التابع divmod‎:

11.divmod(3)        #=> [3, 2]
11.divmod(-3)       #=> [-4, -1]
11.divmod(3.5)      #=> [3, 0.5]
(-11).divmod(3.5)   #=> [-4, 3.0]
11.5.divmod(3.5)    #=> [3, 1.0]

انظر أيضا

  • التابع div: يستخدم العملية / لإجراء القسمة، ثم يحوّل النتيجة إلى عدد صحيح.

مصادر