الفرق بين المراجعتين ل"Ruby/Numeric/divmod"

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

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

مصادر