22 Aralık 2016 Perşembe

C Programlama Dili Yeni Örnekler


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-On adet sayıyı kullanıcıdan aldıktan sonra ekrana yazan program(dizi kullanılarak).




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 (Orta seviye).




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ıralayarak yazdıran program.




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


 

4 Aralık 2016 Pazar

30 Ekim 2016 Pazar

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

1) Kullanıcının girdiği sayıyı ekrana yazdıran programı yazınız.




2) 1-100 arasında rastgele sayıyı ekrana yazan programı yazınız.




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




4) Kullanıcının girdiği 2 sayının farkını bulan programı yazınız.



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


6) Kullanıcının adını öğrenip ekrana yazan programı yazınız.


7) Kullanıcının adını öğrenip 10 kez yan yana ekrana yazanı programı yazınız.


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



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



10) 1'den 100'e kadar sayıları yan yana yazdırın.


11) 1'den 100'e kadar sayıları, her sayı 4 basamak yer kaplayacak şekilde, yan yana yazdırın.


12) 1'den 100'e kadar sayıları, sol tarafı sıfır dolu 4 basamak şeklinde, yan yana yazdırın.



13) 1'den 20'ye kadar sayıları alt alta yazdırın.

14) 1'den 20'ye kadar sayıları 0,5'er arttırarak alt alta yazdırın.



15) 1'den 20'ye kadar sayıları 0,5'er arttırarak alt alta yazdırın. (1.000 / 1.500 / 2.000... 19.500 / 20.000)

16) 1'den 100'e kadar tek sayıları alt alta yazdırın.


17) 1'den 100'e kadar çift sayıları alt alta yazdırın.

18) 1'den 100'e kadar 3'ün katı olan sayıları alt alta yazdırın.

19) 1'den 100'e kadar 2'ye ve 3'e tam bölünen sayıları alt alta yazdırın.

20) 100'den 1'e kadar sayıları yan yana yazdırın.


21) 100'den 1'e kadar sayıları, her sayı 4 basamak yer kaplayacak şekilde, yan yana yazdırın.





22) 100'den 1'e kadar sayıları, sol tarafı sıfır dolu 4 basamak şeklinde, yan yana yazdırın.



23) 20'den 1'e kadar sayıları alt alta yazdırın.



24) 20'den 1'e kadar sayıları 0,5'er azaltarak alt alta yazdırın.


25) 20'den 1'e kadar sayıları 0,5'er azaltarak alt alta yazdırın. 







26) 100'den 1'e kadar tek sayıları alt alta yazdırın.



27) 100'den 1'e kadar çift sayıları alt alta yazdırın.


28)  100'den 1'e kadar 3'ün katı olan sayıları alt alta yazdırın.


29) 100'den 1'e kadar 2'ye ve 3'e tam bölünen sayıları alt alta yazdırın.



23 Ekim 2016 Pazar

Modern CPU'lardaki Shaderler


Programlanabilir gpularin ortaya çıkmasından sonra hayatımıza girmiş bir terim. (daha önce silikon graphics'e ait muadilleri vardı.)  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 vertexlerin (örneğin üçgenin üç kösesi üç vertextir) transformasyonları, texturekoordinatları 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 is yapmaktadır, bu yüzden per-pixel diye tabir edilen isler genelde iyi bir ekran kartı gerektirir.




     Geometry(Geometrik Tarayıcı)

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
.



Pixel Shader(Nokta tarayıcı)

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(bump mapping) veya ton ayarı için kullanılır.







Pixel Shader(Nokta tarayıcı)

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(bump mapping) veya ton ayarı için kullanılır.



VSync (Dikey Senkronizasyon) Nedir

Monitörlerin yenileme döngüsü, oyunun görüntü işleme döngüsünün senkronizasyonu dışına çıktığı zaman, monitör o an sadece oyunun sağladığı karelerden yetişebildiklerini yenileyebilir. Sağlıksız bir biçimde gelişmiş bu veri alışverişi sonucu ortaya çıkan grafik hatasına yırtılma efekti diyoruz. Hiçbir oyuncunun karşılaşmak istemediği bu durum, düşük FPS sorunundan sonra oyuncuların ikinci düşmanı.

Yırtılma efektini çoğu oyunun ayarlar bölümünde bulunan Dikey Senkronizasyonu (V-Sync) aktif hale getirerek önlemek mümkün. Böylece yenileme döngüsü son bulana dek ekran ve oyun arasındaki gecikme önlenebilir. Maalesef, Dikey Senkronizasyon ayarının da dezavantajları var. Oyun o an  monitörün yenileme hızından daha yüksek bir FPS değerinde çalışırsa, görüntüde gecikmeler meydana gelir.
*Vsync kapatıldığında fps artar.
Bu resimde ağaç gövdelerindeki yırtılma efektini açıkça görebilirsiniz.





Benchmark Siteleri

Benchmark Testi

Benchmark testi, bir ürünün diğerine oranla nasıl performans gösterdiği anlamak ve ürünler arasında karşılaştırma yapabilmek için kullanıcıların kullandığı testlerdir. Örneğin bilgisayarınıza yeni bir SSD almak istiyorsunuz ve iki farklı marka seçeneği karşınıza çıktı. Bu ürünlerin benchmark testlerine ulaşarak bu ürünlerinin hangilerinin hangi şartlar altında daha iyi performans gösterdiğini saptayabilirsiniz.
Tıpkı donanımlarda olduğu gibi Benchmark yazılımlar üzerinde de performans testleri gerçekleştirmemize yardımcı olmaktadır. Bir oyunun iki farklı özelliklere sahip bilgisayar üzerinde ne şekilde performans göstereceğini anlamak için de pekala Benchmark testinden faydalanabilirsiniz.



Bazı Benchmark Siteleri:

  • PassMark Benchmark Charts



  • CPU World Benchmarks





  • CPUBoss






  • HWBOT Comparisons




  • AnandTech Benchmarks


Ekran Kartı İncelemesi


ASUS EN210 SILENT/DI/1GD3 1GB 64 Bit DDR3 Ekran Kartı



Ürün Tipi: Ekran Kartı
Frekans (Hz): 589 MHz
Chipset: GeForce 210
Gölgelendirici Modeli: PCI Express 2.0
Kullanılabilir Toplam Grafik Belleği: 1 GB
Bellek Frekansı: 1200 MHz
Grafik Bellek Tipi: DDR3



POWERCOLOR R7 250X 1GB GDDR5 128 Bit PCI-E 3.0 DX11.1 Ekran Kartı





Ürün Tipi: Ekran Kartı
Bağlantılar: DL DVI-D/ HDMI/ VGA
Grafik Denetleyici: RADEON R7 250X 1 GB GDDR5 128 Bit
Özel Nitelikler: Grafik Bellek Tipi: GDDR5, Bellek Arayüzü: 128 Bit, Maksimum Çözünürlük: HDMI 4096 x 2160,
Teknik Özellikler: Bellek Hızı: 1125MHz x 4 (4.5 Gbps), Engine Clock: 1000MHz, Genişletme Yuvası: PCIE 3.0, DirectX Desteği 11.1
Genişlik: 170 mm
Yükseklik: 111.2 mm



POWERCOLOR Amd Radeon R7 265 OC 2GB 256Bit GDDR5 DX11.2 PCI-E 3.0 Ekran Kartı

Frekans (Hz):1400 MHz
Chipset: Radeon R7 265
Kullanılabilir Toplam Grafik Belleği: 2 GB
Grafik Bellek Tipi: GDDR5
Bellek Arayüzü (bit): 256 Bit
Minimum Güç Kaynağı: 500 W
Genişletme Yuvası: PCIE 3.0



ASUS Nvidia GeForce GTX 950 STRIX Gaming 2 GB 128 Bit GDDR5 (DX12) Ekran Kartı (STRIX-GTX950-DC2OC-2GD5)


Ürün Tipi: Ekran Kartı
Chipset Üreticisi: NVIDIA
Kullanılabilir Toplam Grafik Belleği: 2 GB
Grafik Bellek Tipi: GDDR5
Bellek Arayüzü (bit): 128 Bit
Soğutma: Hava soğutmalı
Bağlantılar: 1 x HDMI, 2 x DVI, Display











Ürün Tipi: Ekran Kartı
Chipset Üreticisi: NVIDIA
Bellek Frekansı: 7200 MHz
Grafik Bellek Tipi: GDDR5
Minimum Güç Kaynağı: 150 W
Gerekli İşletim Sistemi: Windows Ailesi
Gerekli İşlemci Hızı: 1228 MHz







CUDA Ve Alternatif Teknolojisi


   CUDA, Nvidia tarafından ortaya konulan, bilgisayarın işlem performansına yüksek oranda katkı yapan bir paralel programlama platformudur. C, C++, C#, Fortran, Java, Python gibi programlama dilleri ile yazılmış algoritmaların GPU yani “grafik işlem birimi” üzerinde çalışmasını sağlayan bir sistem olarak da tanımlanabilir.
Paralel programlama, birden fazla CPU’nun bir arada çalışmasını istediği için zorluk çıkartır. CPU’lar aslen seri işlemcilerdir ve birden fazla CPU’nun bir arada kullanılabilmesi için karmaşık yazılımlar gerekmektedir. CUDA ise bünyesinde zaten paralellik yarattığı için bu zorlukları ortadan kaldırıyor.
CUDA etkinleştirilmiş GPU ile görüntü ve video işlem, hesaplamaya dayalı biyoloji ve kimya, akışkan dinamiği, bilgisayarlı tomografi, sismik analiz, ışın izleme ve çok daha fazlası dahil olmak üzere geniş bir aralıkta kullanım alanları bulmaktadır. CUDA, sadece NVIDIA GPU’larda çalışması itibariyle rakiplerinden farklı olsa da 2012 yılı itibariyle dünya üzerinde 300 milyondan fazla CUDA destekli GPU olduğu bilinmektedir. Bugün bu sayı daha da üst seviyeye ulaşmıştır.
CUDA İLE PARALEL HESAPLAMA
Hesaplama, CPU üzerindeki "merkezi işlemden" CPU ve GPU üzerindeki "birlikte işleme" doğru bir evrim geçirmektedir. NVIDIA, hesaplamadaki bu yeni paradigmaya olanak vermek için uygulamacılar için önemli bir taban olan ve GeForceION Quadro ve Tesla GPU’larüzerinde temin edilen CUDA paralel hesaplama mimarisini geliştirdi.
Tüketici pazarında Elemental Technologies, MotionDSP and LoiLo, Inc. ürünleri dahil olmak üzere başlıca video uygulamalarının neredeyse tümü CUDA ile hızlandırılmıştır veya yakında hızlandırılacaktır.
CUDA bilimsel araştırma alanında büyük coşku ile kabul görmüştür. Örneğin, CUDA yeni ilaç keşiflerini hızlandırmak üzere dünya genelinde akademik alanda ve ilaç şirketlerinde 60.000’den fazla araştırmacı tarafından kullanılan moleküler dinamik simülasyon program AMBER’i hızlandırmaktadır.
Finans piyasasında, Numerix ve CompatibL yeni bir risk uygulaması için CUDA desteğini duyurdu ve 17 kat hızlandırma elde etti. Numerix yaklaşık 400 finans kurumu tarafından kullanılmaktadır.
CUDA’nın bu denli kKabul görmesinin bir göstergesi de GPU hesaplama için Tesla GPU’ya olan eğilimdir. Şu anda dünya genelinde enerji sektöründe Schlumberger ve Chevron’dan bankacılık sektöründe BNP Paibas’a kadar Fortune 500 şirketlerinde kurulu 700’den fazla GPU kümesi bulunmaktadır.

Yakın zamanda yapılan Microsoft Windows 7 ve Apple Snow Leopard lansmanları ile GPU hesaplama yaygınlaşmaktadır. Bu yeni işletim sistemlerinde, GPU yalnızca grafik işlemci olmakla kalmayıp aynı zamanda tüm uygulamaların erişebildiği genel amaçlı bir paralel işlemci olacaktır.