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ığı :! Ö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.
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.
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 :Hadi gelin şimdi yazdığımız bu algoritmayı 5 farklı yazılım dili ile yazıp satır satır açıklayalım :
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.
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 #includeUmarım yararlı olmuştur.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; }
Görüşleriniz ve önerileriniz benim için çok değerli.
Sorularınızı bekliyorum.
İyi çalışmalar.
Yararlı olmuş.
YanıtlaSilBeğendiğinize sevindim.
SilGerçekten çok güzel olmuş.
YanıtlaSilBeğendiğinize sevindim.
SilSizlerin katkılarıyla büyüyoruz.
Tebrikler Arda
YanıtlaSilTeşekkür ederim.
Sil