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.
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

Dil Değiştir(Change Language)
Kategoriler
- Csharp(56)
- Csharp Formlar(20)
- Web Tasarım(10)
- CSS(24)
- JavaScript(32)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(15)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(1)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(6)
- C Programlama(10)
- Makine Öğrenmesi(0)
- Flutter - Dart(7)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: SQL nedir, Temel SQL Komutları nele...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: PHP ile Basit Dosya Yükleme
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Hangisi acaba, PHP mi ASP.NET mi ?
- :: PHP ile MySQL veritabanına MySQLi t...
- :: Web Tasarım öğrenmeye nereden başla...
- :: Asp.net ile Sql Server Veritabanına...