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(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?