Merhaba arkadaşlar, bu yazımızda console application ile bir sayının Karekök Alan Fonksiyon yapacağız. Burada kullanacağımız metot Newton’s Iteration olacaktır. Aynı fonsksiyon yapısını c#’ ta textbox vs ekleyerek yapabilirsiniz ama kısa ve pratik uygulamalar için console’ da yazmanızı tavsiye ederim.

Newton’s Iteration formülü aşağıdaki gibidir.

Newton İteration, Karekok Alma Fonksiyonu

Newton İteration, Karekok Alma Fonksiyonu

Buradaki n karekök alıancak sayıyı temsil etmektedir. xk ise sonuçları temsil eder.

xk’ yı başlangıçta 1 olarak aldığınızda iterasyon yaparak sonuca yaklaşabiliriz.

xk    xk+1
0     1,75
1     1,732142857
2     1,732050810
3     1,732050808
4     1,732050808

Aşağıdaki C dilindeki program ile ilk önce karekök alacağımız sayıyı giriyoruz daha sonra ne kadar iterasyon yapmasını istiyorsak adım sayısını giriyoruz ve sonuçları bize adım adım yazmasını bekliyoruz.

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Karekök alınacak sayıyı girin:");
            double sayi = Int32.Parse(Console.ReadLine());

            Console.WriteLine("İterasyon sayısını girin:");
            int iteration = Int32.Parse(Console.ReadLine());

            double xk_1 = 1;
            for (int i = 0; i < iteration; i++)     // iterasyonu yap
            {
                xk_1 = (0.5) * (xk_1 + (sayi / xk_1));
                Console.WriteLine("Sayı: " + sayi.ToString() + "  Adım: " + i.ToString() + "  Sonuç: " + xk_1);
            }

            Console.WriteLine("Çıkmak için bir tuşa basın...");
            Console.ReadLine();
        }
    }
}

Console ekranı görüntüsü

Newton İteration, Karekok Alma Fonksiyonu Console App

Newton İteration, Karekok Alma Fonksiyonu Console App

Aynı fonsiyonu Excel’ de de yazabilirsiniz.

Newton İteration, Karekok Alma Fonksiyonu Excel

Newton İteration, Karekok Alma Fonksiyonu Excel


0 yorum

Bir yanıt yazın

Avatar placeholder

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.