5 Mart 2016 Cumartesi

Faktöriyel Hesaplama : Java, C#, Swift, C , C++

Merhabalar, bu yazımda sizlerle basit bir algoritmayla nasıl faktöriyel hesaplayacağımızı göstereceğim.

Bu dersimiz daha çok programlamaya yeni başlayanlar için olacak.

Önce faktöriyelin ne olduğunu öğrenelim :
Faktöriyel, birden başlayarak bir sayıya kadar olan sayıların çarpımıdır. Faktöriyel ünlem işareti (!) ile gösterilir.
Mesela n sayısının faktöriyeli, n! şeklinde gösterilir.
Bir örnek verelim :
4 sayısının faktöriyeli şu şekilde bulunur :
4! = 4.3.2.1 = 24

Faktöriyel hakkında daha fazla bilgi almak için Faktöriyel - Vikipedi Sayfası sayfasını ziyaret etmeyi unutmayınız.

Şimdi bir algoritma hazırlayalım ve bu algoritmayı 5 farklı yazılım dilinde yazalım.
Mantığı :

Sonuç değişkeni, 1 değerine atanır.
Sayı değişkeni girilir.

1'den girilen sayı değişkenine kadar sayılar çarpılır.
- Bizim yaptığımız algoritmada sayı değişkenini,1'e kadar kendisinden bir önceki sayıyla çarpıyoruz.

Çarpma işlemleri genellikle büyük sonuçlar çıkardığı için sayi ve sonuç değişkenlerini long veri tipinde tanımlıyoruz.
! Önemli Not : Long veri tipinin alabileceği en büyük değer 9.223.372.036.854.775.807 olduğu için ve biz faktörial alacağımız için sayı değerine en büyük 25 yazabileceğimizi unutmayalım.

En küçük yazabileceğimiz değer faktöriyel alırken 0'dır eğer negatif sayılarda işlem yapmak istiyorsanız sayıyı önce pozitif yapıp faktöriyelini alıp daha sonra eksi (-) ile çarpabilirsiniz.
Algoritma :

Program çalıştırılır.
Long tipinde "sayı" ve "sonuç" değişkenleri oluşturulur.
Sayı değişkeni 0'dan büyük olduğu sürece tekrarlanır :

   - Sonuç değişkeni ile sayı değişkeni çarpılır ve sonuç değerine atanır.

Sonuç değeri ekrana yazdırılır.
Program bitirilir.
Hadi gelin şimdi yazdığımız bu algoritmayı 5 farklı yazılım dili ile yazıp satır satır açıklayalım :

Java : 
    
// Arda Mavi - ardamavi.com

public class Main {
    public static void main(String[] args){
        
        long sayi = 4;
        // Biz bu örnekte 4'ün faktöriyelini bulacağız.
    // Long veri tipinde, 4 değerine eşit "sayi" isimli bir değişken oluşturuyoruz.

        long sonuc = 1;
        // Long veri tipinde, 1 değerine eşit "sonuc" isimli bir değişken oluşturuyoruz.

        while (sayi>0){
        // Sayi değişkeni 0'dan büyük olduğu sürece döngü tekrarlanacak.

            sonuc = sonuc*sayi;
        // Sonuc değişkeni ile sayi değişkeni çarpılıp sonuc değişkenine atıyoruz.

            sayi--;
        // Sayi değişkeninin değeri bir azaltılıyor.

        }

        System.out.println(sonuc);
        // Sonuc değişkeni konsola yazdırılıyor.

        // Konsol Çıktısı : 24
        
    } 
}

C# : 
    
// Arda Mavi - ardamavi.com

using System;

namespace Main
{
  class MainClass
 {
    public static void Main (string[] args)
   {
  long sayi = 4;
 // Biz bu örnekte 4'ün faktöriyelini bulacağız.
 // Long veri tipinde, 4 değerine eşit "sayi" isimli bir değişken oluşturuyoruz.

   long sonuc = 1;
 // Long veri tipinde, 1 değerine eşit "sonuc" isimli bir değişken oluşturuyoruz.

    while (sayi>0){
 // Sayi değişkeni 0'dan büyük olduğu sürece döngü tekrarlanacak.

   sonuc = sonuc*sayi;
 // Sonuc değişkeni ile sayi değişkeni çarpılıp sonuc değişkenine atıyoruz.

   sayi--;
 // Sayi değişkeninin değeri bir azaltılıyor.

   }

   Console.WriteLine(sonuc);
 // Sonuc değişkeni konsola yazdırılıyor.

 // Konsol Çıktısı : 24

   }
    }
}


Swift : 
    
// Arda Mavi - ardamavi.com

 var sayi = 4
// Biz bu örnekte 4'ün faktöriyelini bulacağız.
// Long veri tipinde, 4 değerine eşit "sayi" isimli bir değişken oluşturuyoruz.

 var sonuc = 1
// Long veri tipinde, 1 değerine eşit "sonuc" isimli bir değişken oluşturuyoruz.

 while (sayi>0){
    // Sayi değişkeni 0'dan büyük olduğu sürece döngü tekrarlanacak.
    
    sonuc = sonuc*sayi
    // Sonuc değişkeni ile sayi değişkeni çarpılıp sonuc değişkenine atıyoruz.
    
    sayi--
    // Sayi değişkeninin değeri bir azaltılıyor.
    
}

 print(sonuc)
// Sonuc değişkeni konsola yazdırılıyor.

// Konsol Çıktısı : 24

C : 
    
// Arda Mavi - ardamavi.com

// stdio.h kütüphanesini dahil etmeyi unutmayınız.

int main(int argc, const char * argv[]) {
    
    long sayi = 4;
    // Biz bu örnekte 4'ün faktöriyelini bulacağız.
    // Long veri tipinde, 4 değerine eşit "sayi" isimli bir değişken oluşturuyoruz.
    
    long sonuc = 1;
    // Long veri tipinde, 1 değerine eşit "sonuc" isimli bir değişken oluşturuyoruz.
    
    while (sayi>0){
        // Sayi değişkeni 0'dan büyük olduğu sürece döngü tekrarlanacak.
        
        sonuc = sonuc*sayi;
        // Sonuc değişkeni ile sayi değişkeni çarpılıp sonuc değişkenine atıyoruz.
        
        sayi--;
        // Sayi değişkeninin değeri bir azaltılıyor.
        
    }
    
    printf("%ld",sonuc);
    // Sonuc değişkeni konsola yazdırılıyor.
    
    // Konsol Çıktısı : 24

    return 0;
}


C++ : 
    
// Arda Mavi - ardamavi.com

#include 

int main(int argc, const char * argv[]) {

    long sayi = 4;
  // Biz bu örnekte 4'ün faktöriyelini bulacağız.
  // Long veri tipinde, 4 değerine eşit "sayi" isimli bir değişken oluşturuyoruz.
        
    long sonuc = 1;
  // Long veri tipinde, 1 değerine eşit "sonuc" isimli bir değişken oluşturuyoruz.
        
    while (sayi>0){
  // Sayi değişkeni 0'dan büyük olduğu sürece döngü tekrarlanacak.
            
        sonuc = sonuc*sayi;
  // Sonuc değişkeni ile sayi değişkeni çarpılıp sonuc değişkenine atıyoruz.
            
        sayi--;
  // Sayi değişkeninin değeri bir azaltılıyor.
            
        }
    
  // Sonuc değişkeni konsola yazdırılıyor.
        
  // Konsol Çıktısı : 24
    
    std::cout << sonuc << std::endl;
    return 0;
    
}

Umarım yararlı olmuştur.
Görüşleriniz ve önerileriniz benim için çok değerli.
Sorularınızı bekliyorum.
İyi çalışmalar.

Share this

6 Responses to "Faktöriyel Hesaplama : Java, C#, Swift, C , C++"