/ DERS NOTLARI
  1. Ders Notları
  2. C# Console Bir sayının yaklaşık olarak karekökünü hesaplama

C# Console Bir sayının yaklaşık olarak karekökünü hesaplama

Algoritma

  1. Başla
  2. x,a,b,i=2 değişkenlerini al
  3. x değerini gir
  4. Eğer ( i * i ) > a ise b = i * 1, a = ( i - 1) ( i - 1), değilse i++ 4’e git
  5. x = ( i - 1 ) + ( ( x - a ) / ( b - x ) )
  6. Yazdır x
  7. Bitir

Bu soru,ÖSYM’nin yaptığı ales sınavının birinde bir yaklaşım sorusu olarak karşımıza çıkmıştır.Bu yaklaşımı kendimize göre ayarlayıp çözümünü göreceğiz.Bu soruda girilen tam kare olmayan sayının yaklaşık olarak değerini hesaplayan algoritma söz konusudur.Burada amaç a < x < b mantığına göre değişir.x girilen sayımız, a da x ten küçük en yakın tam karesi olan sayı, b ise x’ten büyük en yakın tam karesi olan sayıdır.Bu değerleri algoritma bulacak ona göre formüle yerleştirip bize float yani ondalıklı sayı olarak sonuç verecektir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace dmg
{
    
    class Program
    {

        static void Main(string[] args)
        {

            double a , b , i = 1;
            double x;

            Console.Write("Sayıyı giriniz = ");
            x = Convert.ToDouble( Console.ReadLine() );

            dnz:

            if( i * i > x )
            {

                b = i * i;
                a = ( i - 1 ) * ( i - 1 );

            }
            else
            {

                i++;
                goto dnz;

            }

            x = ( i - 1 ) + ( ( x - a ) / ( b - x ) );

            Console.WriteLine("Sonuç = " + x);
            Console.ReadKey();

        }

    }

}