لغة جافا مجهزة بمكتبة شاملة للوظائف والعمليات الرياضية. يطلق عليها فئة "Math"، وهي موجودة في الحزمة java.lang . تتضمن مكتبة الرياضيات طرقًا للعمليات العددية الأساسية، وعلم المثلثات، وإيجاد الحد الأدنى والحد الأقصى، وتوليد أرقام عشوائية، والعمليات اللوغاريتمية. في درس اليوم، سنركز على طريقة Math.pow() ، والتي تُستخدم لحساب قوى الأعداد باستخدام الأساس والأس. هيا بنا نبدأ. يمكن كتابة التعبير "القوة n لـ a" رياضيًا على هيئة n . يمكننا تعريف المصطلحات في التعبيرات على النحو التالي. أ - الأساس ن - الأس لنفكر في الأس. يمكننا التعرف عليه على أنه عدد مرات تكرار عملية الضرب. الأساس هو الرقم الذي يتم ضربه في نفسه. دعونا الآن ننشئ طريقة Java بسيطة لحساب قوة الرقم. يرجى ملاحظة أنه في المثال التالي، نقوم بتمرير وسيطتين إلى طريقة powerFunction() ، وهما الأساس والأس، على التوالي.
public class Main {
public static void main(String[] args) {
int result = powerFunction(2, 5);
System.out.println("2 raised to the power of 5 = " + result);
}
static int powerFunction(int base, int exponent) {
int result = 1;
for (int i = 0; i < exponent; i++) {
result = base * result;
}
return result;
}
}
إذا قمنا بتشغيل رمز المثال أعلاه، فسوف يُرجع 32. ربما تتخيل لماذا لا يمكننا ببساطة كتابة الأساس^الأس. لا يمكننا فعل ذلك لأن Java لا تحتوي على عامل أسي يمكننا استخدامه في سطر واحد من التعليمات البرمجية. بالنظر إلى الكود أعلاه، فمن الواضح أنه كان علينا قضاء الكثير من الوقت في كتابة هذه الطريقة. علاوة على ذلك، إذا أردنا حساب القوى العالية، فستستغرق الطريقة قدرًا كبيرًا من الوقت لإكمال هذه الحسابات نظرًا لأننا نستخدم حلقات for. بالإضافة إلى ذلك، ستمنعنا الحلقات من إجراء حسابات القوة باستخدام الأسس الكسرية. وهذه الطريقة لا تحتوي على تعقيد حسابي جيد، لأنها ليست مواتية للغاية حيث يوجد مجال أكبر للتحسين. بالنظر إلى مدى تكرار استخدام المبرمجين للأس والعمليات الرياضية الأخرى، فقد أنشأ مطورو Java في الماضي مكتبة تسمى "Math"، وهي مخصصة لتسهيل العمليات الرياضية. لذلك، بدلاً من كتابة دالة طاقة من الصفر، يمكننا الاستفادة من هذه المكتبة المضمنة في حزمة Java Lang.
ما هي طريقة Math.pow وكيف نستخدمها؟
يمكن العثور على Math.pow في الحزمة java.lang كطريقة لمكتبة الرياضيات. يتم استخدامه لحساب قوة الأرقام، سواء الأعداد الصحيحة أو الزوجية. دعونا نفكر في بناء الجملة.
public static double pow(double base, double exponent)
كما نرى في بناء الجملة، يأخذ الأسلوب java.lang.Math.pow() وسيطين. الأول هو الأساس والثاني هو الأس. سيؤدي هذا إلى إرجاع الأس الأساسي كمخرجاته . دعونا نرى كيف يمكننا أن نسميها.
رفع رقم إلى قوة في Java باستخدام Math.pow
دعونا نوجد قيمة 5 4 باستخدام Math.pow .
import java.lang.Math;
public class MyClass{
public static void main(String []args){
double answer = Math.pow(5, 4);
// java.lang.Math.pow() method
System.out.println("5 raised to the power of 4 = " + answer);
}
}
الناتج هو 625.0. كما ترون، إنها قيمة مزدوجة. إذا كنت منزعجًا من العلامة العشرية، فيمكننا التخلص منها بسهولة عن طريق تحويل الرقم إلى عدد صحيح كما يلي. لاحظ أننا نقوم بتغيير السطر الأول داخل الطريقة الرئيسية.
int answer = (int) Math.pow(5, 4);
الآن النتيجة هي 625. دعونا نستخدم الأعداد الكسرية لكل من الأساس والأس ونحاول الحصول على إجابة. دعونا نرى ما هي قيمة 1.25 4.5 .
import java.lang.Math;
public class MyClass {
public static void main(String[] args) {
double answer = Math.pow(1.25, 4.5);
// java.lang.Math.pow() method
System.out.println("1.25 raised to the power of 4.5 = " + answer);
}
}
سيؤدي هذا إلى إخراج 2.729575167846423. إذا كنت تستخدم الآلة الحاسبة، سترى أنها تعطي نفس الإجابة. دعنا نستعرض مثالًا آخر قبل أن ننتقل إلى القسم التالي. سنرفع العدد إلى القوة السالبة ونقارن النتائج. في هذا المثال، سنختار 4 كأساس و-2 كأسس.
import java.lang.Math;
public class MyClass{
public static void main(String []args){
double answer = Math.pow(4, -2);
// java.lang.Math.pow() method
System.out.println(answer);
}
}
نحصل على الناتج 0.0625.
مثال سريع: كيفية تقريب إجابتك
لنفترض أننا بحاجة إلى إيجاد قيمة 1.25 4.5 . الجواب هو 2.729575167846423. في كثير من الأحيان يكون من الضروري تقريب النتيجة. دعونا نحاول الحصول على إجابة دقيقة حتى العلامة العشرية الرابعة. كيف افعلها؟ ماذا لو كنا نحتاج فقط إلى المنازل العشرية الأربعة الأولى؟ يمكننا استخدام طريقة java.lang.Math.round لذلك. ومع ذلك، عندما تقوم Math.round بتقريب القيمة إلى أقرب عدد صحيح، سيتعين علينا ضربها في عدد المنازل العشرية ثم تقريبها وتقسيمها مرة أخرى.
import java.lang.Math;
public class MyClass{
public static void main(String []args){
double answer = Math.pow(1.25, 4.5);
answer = Math.round(answer*100.0)/100.0;
System.out.println(answer);
}
}
الناتج 2.73
كيفية استخدام Math.pow بشكل صحيح
عندما نستخدم طريقة java.lang.Math.pow ، هناك بعض الأشياء التي يجب وضعها في الاعتبار.- إذا كانت معلمة الأس صفر، فسيكون الإخراج 1.0. وذلك لأن قوة الصفر لأي رقم يتم تعريفها على أنها واحدة.
- إذا كانت معلمة الأس واحدة، فسيكون الإخراج هو المعلمة الأساسية. وذلك لأنه إذا قمت برفع أي رقم إلى قوة 1، فإن النتيجة هي نفس الأساس.
- إذا كانت القاعدة سالبة/موجبة صفر وكانت معلمة الأس رقمًا سالبًا، فإن النتيجة هي اللانهاية. (يمكن أن تحدث الأصفار السالبة بسبب تقريب الأرقام بين الصفر وأصغر رقم سالب غير صفر يمكن تمثيله).
- إذا كانت معلمة الأس هي NaN، فسيكون الإخراج أيضًا NaN.
import java.lang.Math;
public class MyClass{
public static void main(String []args){
double base = 5;
double exponent = Double.NaN;
double answer = Math.pow(base, exponent);
System.out.println(answer);
}
}
سيؤدي هذا إلى إخراج NaN. لذا، إذا كانت شفرتك تؤدي إلى NaN، فمن الحكمة التحقق مما إذا كانت وسيطة الأس هي NaN. إذا كنت تتساءل عن ماهية NaN، فهذا يعني "ليس رقمًا" ويشير إلى أن القيمة لم يتم تعريفها. نعتقد أنك الآن جاهز للمضي قدمًا واستخدام lang.Math.pow() في تطبيقاتك.
GO TO FULL VERSION