22 Aralık 2016 Perşembe

C PROGRAMLAMA DİLİ ÖRNEK SORU VE CEVAPLARI

1- Kullanıcıdan 2 reel sayı alıp bu sayıların toplamını bulan program


2- Kullanıcıdan 3 adet sayı alıp sayıların ortalamasını bulan program


3- Kullanıcının girdiği sayının tek mi çift mi olduğunu bulan program


4- Kullanıcının girdiği sayının faktöriyelini hesaplayan program


5- Gelen parametreye göre gelen sayının faktöriyelini hesaplayan fonksiyon


6- Belirtilen sayının faktöriyelini recursive (öz yineli) fonksiyon ile hesaplayan program


7- Fibonecci dizisini hesaplayan program (1,1,2,3,5,8,13,21,44,...)


8- Dizi kullanarak on adet sayıyı kullanıcıdan aldıktan sonra ekrana yazan program


9- 10 adet sayıyı kullanıcının girdiği sıranın tersine ekrana yazan program


10- Kullanıcının girdiği 10 adet sayıdan kaç tanesinin son girdiği sayıdan büyük olduğunu bulan program


11- Para birimi çeviren fonksiyon


12- Ekrana rastgele bir sayı yazdıran program


13- Ekrana [0-100] arası rastgele sayı yazdıran program


14- Ekrana [15-35] arası rastgele sayı yazdıran program


15- 7 zarı temsilen 1-6 arasında 7 adet rastgele sayıyı ekrana yazan program


16- 35. sorudaki zarlardan kaçının 3’ten büyük olduğunu bulan program


17- 35. sorudaki zarlardan kaçının birbiri ile eşit olduğunu bulan program


18- Bir dizinin içine 1-100 arası 10 adet rastgele sayı ile doldurup ekrana yazan program


19- 38. sorudaki dizideki sayılardan en büyüğünü ve en küçüğünü bulup ekrana yazan program


20- 38. sorudaki dizinin rakamlarını büyükten küçüğe sıralayan program


21- 38. sorudaki dizinin rakamlarını küçükten büyüğe sıralayan program














3 Aralık 2016 Cumartesi

1 Kasım 2016 Salı

C PROGRAMLAMA DİLİ ÖRNEK SORULARI VE ÇÖZÜMLERİ


1-) Kullanıcının girdiği sayıyı ekrana yazdıran program




2-) 1-100 arasında rastgele sayıyı ekrana yazan program




3-) Kullanıcının girdiği 2 sayıdan büyük olanı ekrana yazan program




4-) Kullanıcın girdiği 2 sayının farkını bulan programı yazan program




5-) Kullanıcının girdiği 2 sayı arasındaki işlemi seçebileceği program





6-) Kullanıcının adını öğrenip ekrana yazan program





7-) Kullanıcının adını öğrenip 10 kez ekrana yazan program





8-) Kullanıcının adını öğrenip 10 kez alt alta ekrana yazan program





9-) Kullanıcıdan alınan metnin kaç kez tekrarlanacağını yine kullanıcıdan aldıktan sonra alt alta yazan program





10-) 1'den 100'e kadar sayıları yan yana yazan program





11-) 1'den 100'e kadar sayıları, her sayı 4 basamak yer kaplayacak şekilde yan yana yazan program




12-) 1'den 100'e kadar sayıları, sol tarafı sıfır dolu 4 basamak şeklinde, yan yana yazan program (0001 0002 0003 ..... 0100)





13-) 1'den 20'ye kadar sayıları alt alta yazan program





14-)1'den 20'ye kadar sayıları 0,5'er arttırarak alt alta yazan program





15-)1'den 20'ye kadar sayıları 0,5'er arttırarak alt alta yazan program





16-)1'den 100'e kadar tek sayıları alt alta yazdıran program





17-) 1'den 100'e kadar çift sayıları alt alta yazan program






18-) 1'den 100'e kadar 3'ün katı olan sayıları alt alta yazan program





19-) 1'den 100'e kadar 2'ye ve 3'e tam bölünen sayıları alt alta yazan program




20-)100'den 1'e kadar sayıları yan yana yazan program





21-) 100'den 1'e kadar sayıları, her sayı 4 basamak yer kaplayacak şekilde yan yana yazan program





22-) 100'den 1'e kadar sayıları, sol tarafı sıfır dolu 4 basamak şeklinde, yan yana yazan program (0001 0002 0003 ..... 0100)




23-) 20'den 1'e kadar sayıları alt alta yazan program





24-) 20'den 1'e kadar sayıları 0,5'er azaltarak alt alta yazan program(1 / 1.5 / 2... 19.5 / 20)





25-) 20'den 1'e kadar sayıları 0,5'er azaltarak alt alta yazan program (01.000 / 01.500 / 02.000... 19.500 / 20.000)






26-) 100'den 1'e kadar tek sayıları alt alta yazan program






27-) 100'den 1'e kadar çift sayıları alt alta yazan program






28-) 100'den 1'e kadar 3'ün katı olan sayıları alt alta yazan program






29-) 100'den 1'e kadar 2'ye ve 3'e tam bölünen sayıları alt alta yazan program


23 Ekim 2016 Pazar

SHADER

Modern Gpu'larda Kullanılan Shader'ların İsimleri Ve Görevleri


    Shader, programlanabilir GPU’ların ortaya çıkmasından sonra hayatımıza girmiştir. Shaderlar, vertex'lere ya da pixellere hükmetmek üzere yazılan küçük program parçalarıdır. 

    Çok genel olarak, geometrik yapılar CPU'dan graphics pipeline denen bir yerlere gönderilir, burada öncelikle vertex shaderlar sayesinde vertex’lerin transformasyonları, texture koordinatları gibi şeylerle oynanabilir. Ardından pixel shader gelir, bu da ekrana çizilen her bir noktanın özelliklerini değiştirme şansı verir bize. Doğası gereği pixel shader çok daha yoğun bir iş yapmaktadir, bu yüzden per-pixel diye tabir edilen işler genelde iyi bir ekran kartı gerektirir.

TEPE (VERTEX) SHADER 

    Grafik işlemcisine verilen her tepe noktası için bir defa çalıştırılır. Bu işlem, tepe noktasının 3 boyutlu pozisyonun ekranda gözükecek 2 boyutlu koordinatına çevrilmesi için yapılır. Tepe tarayıcısı pozisyon, renk, doku koordinatları gibi özellikler üzerinde işlem yapabilirken yeni bir tepe noktası yaratamaz. Bu tarayıcının çıktısı bir diğer tarayıcıya aktarılır.



GEOMETRİ (GEOMETRY) SHADER

     Herhangi bir ağ üzerindeki tepe noktalarını silebilir veya yenilerini ekler. Geometrik tarayıcılar, var olan ağa hacimsel detay kazandırmak içinde kullanılabilir ki bunu CPU ya yaptırmak ekstra yük getirecektir.




NOKTA (PIXEL) SHADER 

    Her bir noktanın (pixelin) renk değerini hesaplarlar. Buraya girdiler, grafik işhattına giden poligonları dolduran ızgara ünitesinden gelir. Nokta tarayıcılar genellikle ışıklandırma efektleri, pütür kaplama veya ton ayarı için kullanılır.


V-SYNC

Vsync nedir?

    Vsync, Vertical Synchronization kelimesinin yaygın kullanılan kısaltması. Türkçesi "dikey senkronizasyon" anlamına gelmektedir.
    Vsync (Vertical Synchronization) açılınca ekran kartının tazeleme hızıyla, monitörün tazeleme hızı denkleştirilir. Vsync kapalıyken görüntüde kırılmalar olur. Özellikle 3rd person ve 1st person kameralı oyunlarda mouse hızlı hareket ettirilidiğinde bu kırılma rahatlıkla görülür. Ekranın ortasından titreyen bir çizgi olarak geçer. Kapatıldığında ise fps artar.
    Önce kırılma da diyebileceğimiz "tearing"in ne olduğunu bilmeliyiz. Eğer ekran kartı monitöre belirli bir zamanda monitörün gösterebileceğinden daha fazla kare gönderirse ekranda kırılmalar olur ve bu kırılmalar da hassas bir gözü çoğu zaman rahatsız eder. Görüntüdeki bu kırılmalara "tearing" denir.
    İşte bu kırılmaları engellemek için V-Sync kullanılır ve oyunlarda saniyede gösterilecek kare sayısının monitörün tazeleme hızını geçmemesi sağlanır. Günümüzde 60 Hz`in altındaki tazeleme hızları kullanılmadığından en kötü durumda bile oyun performansı 60 FPS ile sınırlanır ki bu da oyunlar için çoğunlukla ideal hızdır.

    Aşağıda ilk resimde bazı "tearings" (kırılmalar) var. ikince resimde ise bu kırılmalar V-sync ile düzeltilmiş.


BENCHMARK SİTELERİ

Benchmark Nedir? 


      Hız testi (benchmark), gerçek hayattakine benzer işlemleri seri bir biçimde belirli bir donanım üzerinde yürütmektir. Örneğin işlemci testinde bir laptop'un işlemcisi, verileri ne kadar hızlı şifreleyebileceğini görmek üzere bir dizi matematiksel teste tabi tutulabilir. Sabit disk testlerinde büyük bir dosyanın ne kadar zamanda yazılıp okunabildiği, GPU testlerinde ekranda belirli sayıda nesne varken kaç FPS'ye ulaşıldığı test edilebilir. 

    Test sonuçları tek başlarına çok şey ifade etmeseler de, iki ürünün test sonuçlarını karşılaştırdığınızda hangisinin daha iyi performans sunduğu konusunda karar vermeye başlayabilirsiniz.

    İşlemci testi, ram testi, ekran kartı testi vb. testlerin yapıldığı siteler aşağıda verilmiştir.

1. https://www.cpubenchmark.net/

2.http://www.videocardbenchmark.net/

3.http://www.passmark.com/products/pt.htm

EKRAN KARTLARI VE ÖZELLİKLERİ

1.MSI R7 240

Slot Tipi: PCI-Express x16 
Bellek Kapasitesi:  2048 MB
Bellek Tipi: DDR3
Bellek Bant Genişliği: 72 GB / s


2.EVGA GTX750

Slot Tipi: PCI-Express 
Bellek Kapasitesi: 2 GB
Bellek Tipi: GDDR5
Bellek Bant Genişliği: 86.4 GB / s


3.MSI R9 380 GAMING

Slot Tipi: PCI-Express x16 
Bellek Kapasitesi: 4 GB
Bellek Tipi: DDR5
Bellek Bant Genişliği: 256 Bit



4.Sapphire Amd Firepro S9150 

Slot Tipi: PCI-Express x16 3.0
Bellek Kapasitesi: 16 GB
Bellek Tipi: DDR5
Bellek Bant Genişliği: 512 Bit

5.Sapphire AMD FirePro W9100 

Slot Tipi: PCI-Express x16 3.0
Bellek Kapasitesi: 16 GB
Bellek Tipi: DDR5
Bellek Bant Genişliği: 512 Bit