Fonksiyon ile Üst Hesaplama

Matematik derslerinden hatırlayalım bir sayının üstünü almak demek o sayıyı üstü kadar çarpmak demektir. Örneğin 2 üzeri 3 demek, 3 tane 2'nin çarpımı demektir, bu da 8'e eşittir. 2^3(2 üzeri 3)  şeklinde yazarız.  

Aşağıdaki UstAl metodu iki parametre almaktadır, sayi ve üst. Sonuç ise double (çift hassasiyetli sayı) şeklinde döndürülmektedir. Burada üstel ifadenin 0 olması durumunda sonuç her zaman 1 olarak dönmelidir. Çünkü matematikte bütün sayıların sıfırıncı kuvveti 1'e eşittir.

Üstel sayı sıfırdan büyükse veya küçükse if'in else kısmı işletilecektir. Burada dikkat edilmesi gereken eğer üstel sayı negatif ise for döngüsüne girmeyeceğidir, yani for (i=1; i<-2; i++) ifadesi -2'den dolayı şart sağlanmadığından asla işletilmez. Bu nedenle negatif sayıları pozitif sayıya çeviren ABS(Mutlak değer) fonksiyonunu C#'da Math.Abs() olarak kullandık.  Eğer ust<0  ise en sonda sonucu 1/sonuc şeklinde yazdık, çünkü 2^-2 aslında 1/(2^2) = 1/4 demektir.  Biz 4 değerini for döngüsü içinde hesaplayıp, sonuc değişkeninde depoladık,  ardından döngü bittikten sonra 1/sonuc seklinde yazdık. 


       public double UstAl(int sayi, int ust)
        {
 
            if (ust == 0) return (1);
            else 
            {
                double sonuc = sayi;
                
                for (int i = 1; i < Math.Abs(ust); i++)
                {
                      sonuc *= sayi;
                }
 
                if (ust < 0) sonuc = 1.0/sonuc;
                return sonuc;
            }
 
               
        }
 

        protected void btnHesapla_Click(object sender, EventArgs e)
        {
           
            int taban = int.Parse(txtSayi.Text);
            int us = int.Parse(txtUst.Text);
            if (taban == 0) lblSonuc.Text = "Tanımsız";
            else
            {
                double sonuc = UstAl(taban, us);
                lblSonuc.Text = sonuc.ToString();
            }
           
        }


Şimdi kodlarımızı test edelim,

1. Durum (Taban pozitif, üst pozitif)

2. Durum (Taban pozitif, üst negatif)

3. Durum (Tabanın sıfır girilmesi, Tanımsız)

4. Durum (Taban pozitif, üstün sıfır olma durumu, her durumda sonuç 1 olmalıdır)


Mutlu kodlamalar,
Oğuzhan TAŞ
Eylül, 2018

Bookmark and Share