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


CUDA VE ALTERNATİF TEKNOLOJİSİ

CUDA nedir?


    CUDA, NVIDIA’nın GPU (grafik işlem birimi) gücünü kullanarak hesaplama performansında büyük ölçüde artışlara olanak veren paralel hesaplama mimarisidir.
    Yazılım geliştiriciler, bilim adamları ve araştırmacılar bugüne kadar satılan milyonlarca 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 Nasıl İşler?
    Genellikle video işleme ve dönüştürme konusunda kullanılan CUDA’nın direkt olarak bu işe yönelmediğini en başından belirtmek gerek. Birbiri ile veri paylaşımı yapabilen paralel dizilime sahip çekirdekler, CPU’nun tek düzen şeklinde yapacağı işi yayarak gerçekleştirir. Farklı hatlara yüklenen işlemler yavaş gerçekleşir fakat tek yolda yapılabilecek süreden daha kısa sürede işlem sonuçlanır. 

PCI EXPRESS

PCI EXPRESS VERSİYONLARI

1. PCI Express 1.0a
2. PCI Express 1.1
3. PCI Express 2.0
4. PCI Express 2.1
5. PCI Express 3.0
6. PCI Express 4.0


PCI Express 1.0a
    2003 yılında, PCI-SIG slot başına 250 MB / s veri hızı ve saniyede (GT / s) başına 2.5 gigatransfers bir aktarım hızı ile, PCIe 1.0a tanıttı.

PCI Express 1.1

    2005 yılında, PCI-SIG PCIe 1.1'i tanıtmıştır. Bu güncellenmiş veriyolu çeşitli geliştirmeler içerir, ama PCI Express 1.0a ile tam uyumludur.
    Veri hızı için herhangi bir değişiklik yapılmamıştır.

PCI Express 2.0

    PCI-SIG 15 Ocak 2007 tarihinde PCI Express Base 2.0'ı duyurmuştur. Bu veriyolu ile slot başına verim 250 MB / s, 500 MB / s  yükselmiştir. Veri transfer hızını iki katına çıkarmıştır.
    PCIe 2.0 anakart yuvalarının PCIe v1.x kartları ile tam bir geriye dönük uyumu vardır.

PCI Express 2.1

    PCI Express 2.1'in hızı PCI Express 2.0 ile aynıdır. Ne yazık ki,  PCI Express 2.1 kartları ve 1.0/1.0a ile bazı eski anakartlar arasında geriye doğru uyumluluk yoktur ama PCI Express 1.1 bağlantılı anakartlar ile geriye dönük uyumluluk destek programları aracılığıyla kendi üreticileri tarafından bir BIOS güncellemesi ile sağlanlanabilmektedir.

PCI Express 4.0

   PCIe 4.0 standardıyla beraber PCIe 3.0’da buluna  8 GT/s (gigatransfers) hızı 16 G/s hızına çıkıyor. Aynı zamanda yine bant genişliği de iki kat artış gösteriyor. 





HDMI

HDMI NEDİR?

    'Yüksek çözünürlüklü çokluortam arayüzü' veya kısaca HDMI (High Definition Multimedia Interface), 2003 yılında ses (audio) ve görüntü (video) verilerini sıkıştırılmadan dijital olarak aktarmak için geliştirilmiş bir arabirimdir.
    HDMI kablo ses ve görüntü aktarma işlemlerinde kullanılan kablolardır. Genellikle bir görüntüye sahip cihazdan başka bir cihaza görüntü ve ses iletilmesinde kullanılmaktadır. HDMI kablolar kendi içerisinde TİP A,TİP B,TİP C, TİP D ve TİP E şeklinde çeşitlendirilirler. Hepsinin kullanım sebebi aynı olsada kullanıldığı cihazlara göre farklılık gösterir.

HDMI ÇEŞİTLERİ

    Tip-A konnektör 19 pin’li olup elektriksel olarak tek-hatlı DVI-D ile çalışabilir. En çok kullanılan HDMI kablo bu tiptir ve yaygın olarak kullanılır. 


    Tip-B ise daha yüksek çözünürlükleri destekler ve 29 pin’lidir. Çift-hatlı DVI-D ile elektriksel olarak çalışabilir.



    Tip-C ve Tip D taşınabilir cihazlar için tasarlanmıştır. Oldukça küçük yapıda olurlar.Tip D akıllı telefonlara uyumludur. 

    Tip E ise otomotiv donanımlarına kullanılan bir HDMI çeşididir.

OLED

OLED NEDİR?

    Organik LED (Işık yayan diyot) "Organic Light Emitting Diode"

    İlk olarak 1987'de Kodak araştırmacıları Ching W. Tang ve Steven Van Slyke tarafından oluşturulan OLED teknolojisi ise LED'le aynı fikre sahiptir. Ancak LED ampulleri yerine ince, ışık yayan filmleri kullanır. OLED bu sayede daha parlak ışık oluşturabilirken, mevcut LCD/LED teknolojilerden daha az enerji kullanır. OLED'deki "O" harfi yani "organik" ise ışık yayan filmlerin hidrokarbon zincirlerden oluşmasından kaynaklanıyor.
    OLED ekranlar genellikle dört birincil katmandan oluşur: yapı iskeletini oluşturan alt tabaka, elektronları çeken anot, elektronları sağlayan katot ve aralarındaki organik katmandır.


OLED'İN AVANTAJLARI

    Bulanıklıktan tamamen yoksun olmanın ve çok daha detaylı olmanın yanı sıra, ışığın her pikselde ayrı bir şekilde kontrol edilmesi sebebiyle, yerel karartmayı da mümkün kılıyor.
    OLED televizyonların önemli üreticilerinden biri olan LG, piksellerin kendilerini kapatarak "göreceli siyah" yerine "tam siyah" sunmasını "sonsuz zıtlık" olarak tanımlamaktadır.