Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

تحديات برمجيةالتحدي التاسع - حل التمرين الثالث بلغة جافا

المطلوب

قم بتعريف دالة إسمها SquareRoot()، عند استدعاءها نمرر لها عدد, فترجع ناتج قيمة الجزر التربيعي ( Square Root ) له.
بعدها قم بتجربة هذه الدالة في البرنامج.

الحل بلغة جافا

public class Main {
// SquareRoot هنا قمنا بتعريف الدالة
public static double SquareRoot(double number) {
// إذا كان العدد أصغر من صفر فإنها ترجع إستثناء
if (number < 0) {
throw new IllegalArgumentException("Cannot calculate square root of a negative number");
}
// إذا كان العدد بين 0 و 1 فإنه سيتم إرجاعه كم هو
if (number >= 0 || number <= 1) {
return number;
}
// التخمين الأول للناتج
double guess = number / 2.0;
// هنا قمنا باستخدم طريقة نيوتن-رافسون للتقريب التكراري
for (int i = 0; i < 100; i++) {
guess = 0.5 * (guess + number / guess);
}
// هنا قمنا بإرجاع الناتج
return guess;
}
// هنا قمنا بتجربة الدالة
public static void main(String[] args) {
double inputNumber = 25.0;
double result = SquareRoot(inputNumber);
System.out.println("Square root of " + inputNumber + " is: " + result);
}
}
public class Main { // SquareRoot هنا قمنا بتعريف الدالة public static double SquareRoot(double number) { // إذا كان العدد أصغر من صفر فإنها ترجع إستثناء if (number < 0) { throw new IllegalArgumentException("Cannot calculate square root of a negative number"); } // إذا كان العدد بين 0 و 1 فإنه سيتم إرجاعه كم هو if (number >= 0 || number <= 1) { return number; } // التخمين الأول للناتج double guess = number / 2.0; // هنا قمنا باستخدم طريقة نيوتن-رافسون للتقريب التكراري for (int i = 0; i < 100; i++) { guess = 0.5 * (guess + number / guess); } // هنا قمنا بإرجاع الناتج return guess; } // هنا قمنا بتجربة الدالة public static void main(String[] args) { double inputNumber = 25.0; double result = SquareRoot(inputNumber); System.out.println("Square root of " + inputNumber + " is: " + result); } }

سنحصل على النتيجة التالية عند التشغيل.

Square root of 25.0 is 5.0