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

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

المطلوب

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

الحل بلغة C#

using System;

class Program
{
    // SquareRoot هنا قمنا بتعريف الدالة
    static double SquareRoot(double number) {
        // إذا كان العدد أصغر من صفر فإنها ترجع إستثناء
        if (number < 0) {
            throw new ArgumentException("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;
    }
    
    // هنا قمنا بتجربة الدالة
    static void Main(string[] args)
    {
        double inputNumber = 25.0;
        double result = SquareRoot(inputNumber);
        
        Console.WriteLine("Square root of " + inputNumber + " is: " + result);
        
        Console.ReadKey();
    }
}

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

"Square root of 25 is: 5