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

من موسوعة حسوب
< Ruby‏ | Numeric
لا ملخص تعديل
ط مراجعة وتدقيق.
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>divmod‎</code> الخاص بالصنف <code>Numeric</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع <code>Numeric.divmod‎</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Numeric]]
[[تصنيف: Ruby Numeric]]
يعيد التابع <code>divmod</code> مصفوفة تحتوي على الحاصل (quotient) والباقي الناتج عن قسمة العدد الذي استُدعي معه على الوسيط المعطى <code>numeric</code>.
يعيد التابع <code>divmod</code> مصفوفة تحتوي على حاصل (quotient) وباقي قسمة العدد الذي استُدعي معه على العدد المُمرَّر إليه.
 
==البنية العامة==
إن كان <code>q, r = x.divmod(y)‎</code> ، إذن:<syntaxhighlight lang="ruby"> q = floor(x/y)
<syntaxhighlight lang="ruby">divmod(numeric)  →  array‎</syntaxhighlight>إن كان لدينا العددين <code>q</code> و <code>r = x.divmod(y)‎</code>، فيكون:<syntaxhighlight lang="ruby">
x = q*y + r</syntaxhighlight>
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: سطر 25:
------+-----+---------------+---------+-------------+---------------
------+-----+---------------+---------+-------------+---------------
-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>
==المعاملات==
==المعاملات==
===<code>numeric‎</code>===
===<code>numeric‎</code>===


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


==أمثلة==
==أمثلة==
سطر 41: سطر 40:
11.5.divmod(3.5)    #=> [3, 1.0]</syntaxhighlight>
11.5.divmod(3.5)    #=> [3, 1.0]</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Numeric/div|div]]</code>: يستخدم العملية <code>/</code> لإجراء القسمة، ثم يحوّل النتيجة إلى عدد صحيح.  
* التابع <code>[[Ruby/Numeric/div|div]]</code>: يستخدم المعامل <code>/</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‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 18:07، 20 نوفمبر 2018

يعيد التابع divmod مصفوفة تحتوي على حاصل (quotient) وباقي قسمة العدد الذي استُدعي معه على العدد المُمرَّر إليه.

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

divmod(numeric)    array

إن كان لدينا العددين 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

المعاملات

numeric‎

عدد يمثِّل المقسوم عليه.

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

تعاد مصفوفة تحتوي على حاصل (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: يستخدم المعامل / لإجراء عملية القسمة على عددين ثم يحوّل النتيجة إلى عدد صحيح.

مصادر