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

من موسوعة حسوب
< Ruby‏ | Integer
لا ملخص تعديل
ط مراجعة وتدقيق
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>sqrt‎ </code> الخاص بالصنف <code>Integer</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع <code>Integer.sqrt‎</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Integer]]
[[تصنيف: Ruby Integer]]
يعيد التابع <code>sqrt‎</code> الجذر المربع الصحيح للعدد الصحيح الموجب المُعطى، أي العدد الصحيح  الأكبر الذي قيمته أصغر من الجذر المربع للعدد المُعطى.
يعيد التابع <code>sqrt‎</code> الجذر التربيعي الصحيح للعدد الصحيح الموجب المُمرر إليه.


يكافئ التابع <code>sqrt‎</code> التعبير <code>Math.sqrt(n).floor</code>، باستثناء أنّ نتيجة التعبير الأخير قد تكون مختلفة عن القيمة الصحيحة بسبب محدودية دقة الحسابيات الكسورية (floating point arithmetic).<syntaxhighlight lang="ruby">
يكافئ التابع <code>sqrt‎</code> الاستدعاء <code>[[Ruby/Math/sqrt|Math.sqrt(n).floor]]</code> باستثناء أنّ نتيجة الاستدعاء الأخير قد تكون مختلفة عن القيمة الصحيحة بسبب محدودية الدقة في العمليات الحسابية التي تُجرى على [[Ruby/Float|الأعداد العشرية]] (floating point arithmetic).<syntaxhighlight lang="ruby">
Integer.sqrt(10**46)    #=> 100000000000000000000000
Integer.sqrt(10**46)    #=> 100000000000000000000000
Math.sqrt(10**46).floor  #=>  99999999999999991611392 (!)
Math.sqrt(10**46).floor  #=>  99999999999999991611392 (!)
</syntaxhighlight>
</syntaxhighlight>
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby"> sqrt(n) → integer</syntaxhighlight>إن لم يكن العدد المُعطى صحيحًا، فسيُحوّل أولًا إلى عدد صحيحًا، أما إن كان سالبًا فسيُطلق الخطأ <code>Math::DomainError</code>.
<syntaxhighlight lang="ruby"> sqrt(n) → integer</syntaxhighlight>إن لم يكن العدد المُعطى صحيحًا، فسيُحوّل أولًا إلى عدد صحيح، أما إن كان سالبًا فسيُطلق الخطأ <code>Math::DomainError</code>.
 
==المعاملات==
== المعاملات ==
===<code>n</code>===
 
=== <code>n</code> ===
عدد صحيح موجب.
عدد صحيح موجب.
 
==القيمة المعادة==
==القيمة المُعادة==
يُعاد الجذر التربيعي الصحيح للعدد الصحيح الموجب <code>n</code> المُعطى.
يعيد التابع <code>sqrt‎</code> الجذر المربع الصحيح للعدد الصحيح الموجب المُعطى <code>n</code>.
==أمثلة==
 
== أمثلة ==
أمثلة على استخدام التابع <code>sqrt‎</code>:<syntaxhighlight lang="ruby">
أمثلة على استخدام التابع <code>sqrt‎</code>:<syntaxhighlight lang="ruby">
Integer.sqrt(0)        #=> 0
Integer.sqrt(0)        #=> 0
سطر 31: سطر 26:


</syntaxhighlight>
</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Integer/modulo|modulo]]</code><nowiki/>[[Ruby/ENV/key|<code></code>]]: يعيد المعامل <code>%‎</code> باقي عملية القسمة الصحيحة.
*التابع <code>[[Ruby/Integer/modulo|modulo]]</code>: يعيد باقي عملية القسمة الصحيحة.
* التابع <code>[[Ruby/Integer/multiplication|*]]</code>: يعيد التابع <code>*‎</code> ناتج عملية الضرب بين عددين.
*التابع <code>[[Ruby/Integer/multiplication|*]]</code>: يعيد ناتج عملية الضرب بين عددين.
==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Integer.html#method-c-sqrt قسم التابع sqrt‎ في الصنف Integer في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Integer.html#method-c-sqrt قسم التابع sqrt‎ في الصنف Integer في توثيق روبي الرسمي.]

مراجعة 07:44، 13 نوفمبر 2018

يعيد التابع sqrt‎ الجذر التربيعي الصحيح للعدد الصحيح الموجب المُمرر إليه.

يكافئ التابع sqrt‎ الاستدعاء Math.sqrt(n).floor باستثناء أنّ نتيجة الاستدعاء الأخير قد تكون مختلفة عن القيمة الصحيحة بسبب محدودية الدقة في العمليات الحسابية التي تُجرى على الأعداد العشرية (floating point arithmetic).

Integer.sqrt(10**46)     #=> 100000000000000000000000
Math.sqrt(10**46).floor  #=>  99999999999999991611392 (!)

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

 sqrt(n)  integer

إن لم يكن العدد المُعطى صحيحًا، فسيُحوّل أولًا إلى عدد صحيح، أما إن كان سالبًا فسيُطلق الخطأ Math::DomainError.

المعاملات

n

عدد صحيح موجب.

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

يُعاد الجذر التربيعي الصحيح للعدد الصحيح الموجب n المُعطى.

أمثلة

أمثلة على استخدام التابع sqrt‎:

Integer.sqrt(0)        #=> 0
Integer.sqrt(1)        #=> 1
Integer.sqrt(24)       #=> 4
Integer.sqrt(25)       #=> 5
Integer.sqrt(10**400)  #=> 10**200

انظر أيضا

  • التابع modulo: يعيد باقي عملية القسمة الصحيحة.
  • التابع *: يعيد ناتج عملية الضرب بين عددين.

مصادر