Transistörün Tarihçesi:

Transistörün icadından önce Termiyonik Triyot (Elektron Lambaları) 1907 yılında icat edildi ve telefon, radyo gibi araçların icadında önemli bir göreve sahipti. Fakat bu lambalar çabuk kırılabiliyorlar, devrede fazla yer kaplıyorlar, ısınıp çalışmaları için belli bir zamanın geçmesi gerekiyordu, fazla elektrik tüketiyorlardı ve daha çok maliyete sahiptiler.

Transistörün icadı 1947 yılında Bell araÅŸtırma laboratuvarında, William Shockley baÅŸkanlığında John Bardeen ve Walter Brattain ile oluÅŸturulan ekip tarafından gerçekleÅŸtirilmiÅŸtir. 



1939 yılında Bell Laboratuvarındaki araştırmacılar yarı iletken bir yükselteci yapmak için çalışmalar yapmış fakat başarısızlıkla sonuçlanan denemeler ve 2. Dünya Savaşı 'nın da araya girmesi ile çalışmalar kesintiye uğramıştır. 1947 yılında ise Walter Braittain bu kez John Bardeen ile sürdürdüğü çalışmalarında nokta kontaklı olan ilk germanyum transistörü icat etmişlerdir.
 17 Haziran 1948 'de, William Shockley de jonksiyon tipindeki transistör için 26 Haziran 1948 'de patent baÅŸvurularını yapmıştırlar.
Bu ekip yarı iletkenler üzerinde yaptıkları çalışmalar ve transistörün icadı ile 1956 yılında Nobel Fizik Ödülü 'nü almışlardır.


Transistör Nedir ?

Transistör küçük elektrik akımlarını yükseltmek veya anahtarla yapmak amacıyla kullandığımız yarı iletken bir devre elemanıdır. Yapı olarak yan yana birleÅŸtirilmiÅŸ PN diyotları 'nın birleÅŸtirilmesi ile oluÅŸur. Transistör kelimesi transfer ve rezistans kelimelerinin birleÅŸimi ile türetilmiÅŸtir.

3 kutuplu devre elemanları olan transistörlerin kutupları; Emiter (E), Beyz (B) ve Kollektör (C) olarak adlandırılır. Emiter ( yayıcı ); akım taşıyıcılarının harekete baÅŸladığı bölge, Beyz ( taban ); transistörün çalışmasını etkileyen bölge, Kollektör (  toplayıcı ); akım taşıyıcılarının toplandığı bölgedir. 



Transistörün Çalışma Mantığı:


Beyz, Emiter ve Kollektör birbirleri ile alakalı olup, Beyz akım şiddetine göre Kollektör ve Emiter akımı ayarlanır. Bu yapılan ayar akımı , kazanç faktörüne göre değişmektedir.

 - Beyz ve Emiter kutbu doÄŸru yönde, Beyz ve Kollektör kutbu ters yönde polarlanmalıdır.
- Beyz akımı olmadan Emiter ve Kollektör kutuplarından akım geçmez.
-Silisyum ile yapılan transistörlerin çalışması için 0.7 V eşik gerilimi, germanyum ile yapılan transistörler de ise 0.3 V eşik gerilimine ihtiyaç bulunmaktadır.

Aktif Bölge:
Transistörün normal baÄŸladığımız zaman, NPN bir transistörün kollektörü pozitif, emitörü kollektörüne göre negatif ve beyzi emitörüne göre pozitif olduÄŸu zamandır.  

Doyum Bölgesi:

Emiter ve kollektör voltajlarının birbirine çok yakın olduğu zaman transistör bu bölgede çalışır. Ic akımı max. değere ulaşmıştır, Vce voltajı çok küçüktür.

Kesim Bölgesi:

Beyz ve emitör arası ters polarlandığında veya beyz ve emitör arası voltaj transistörün Vbe açma voltajına eÅŸit ya da küçük olduÄŸu zaman transistör bu bölgede çalışır. Vce = Vcc dir. 


NPN Transistör:

Bu transistör yapısında iki tane N tipi yarı iletken madde arasına ince bir katman halinde yerleÅŸtirilmiÅŸ P tipi yarı iletken beyz maddesinden oluÅŸmaktadır. Beyz tabakası elektron geçiÅŸini kontrol etmekle görev yapmaktadır. 

PNP Transistör:

İki tane P tipi yarı iletken madde arasında ince bir katman halinde yerleştirilmiş olan N tipi yarı iletken beyz maddesinden oluşmaktadır.













NPN ve PNP transistörleri temelde aynı iÅŸi yapsalar da, devreye baÄŸlanış ÅŸekilleri ve kutuplanmaları için gereken gerilimler terstir. 

Transistör Nerelerde Kullanılır ?

Yaygın uygulamaları analog ve dijital anahtarlar, güç regülatörleri, sinyal yükselticileri ve ekipman kontrol cihazlarından oluşur. Transistörler aynı zamanda elektronik devrelerin ve veri elektroniğinin yapı birimleridir. Tekrar tekrar tekrar çalışan mikroişlemciler her çipte bir milyardan fazla transistörden oluşur. Bilgisayarlardan, ayarlayıcılara ve uçaklara kadar yaklaşık her yerde karşımıza çıkarlar.








Kaynakça:




                   

COUT KOMUTU:

Standart çıktı nesnesi olan cout , <iostream> kütüphanesinde bir veri yolu nesnesi olarak tanımlanmaktadır. Buradaki veri yolu, çıktı ekranı ile program arasında bir yol olarak düşünebiliriz.

<< operatörü ise veri yolu ekleme operatörü olarak adlandırılır. Bu operatörün sağ tarafındaki yazılar ekrana doğrudan yansıtılır.

Örnek Kod 1:



Ekran Çıktısı:



Bu programı satır satır incelersek;

 #include <iostream>  
Yukarıdaki komutlar girdi/çıktı komutlarını içeren hazır kütüphanelere eriÅŸimi saÄŸlar.  <iostream> kütüphanesinde bulunan fonksiyonlar kullanılarak kullanıcıdan veri okunabilir ve sonuçlar ekrana yazdırılabilir.

using namespace std; 
Yukarıdaki komut, programa dahil edilen kütüphaneleri ayırt etmekte kullanılır.

int main(){
..
}        
Yukarıdaki satırlar main()'in bir fonksiyon olduğunu ve int tamsayı tipinde bir değer döndürdüğünü gösterir. Her fonksiyonun başı ve sonu { } ayraçları ile belirtilir.

Programın 6. satırında ekrana çıktı vermek için aşağıdaki komut kullanılmıştır.

cout<<"Hello World";

Bu komut çalıştığında ekrana tırnak içinde yer alan cümleyi yazar.


7. satırda yer alan return komutu ise, main() fonksiyonunun çalışmasını sonlandırır.

return 0;

Bu komut, main() fonksiyonunu bitirir ve programın başarılı bir şekilde bittiğini gösteren 0 değerini işletim sistemine döndürür. ANSI/ISO C++ standartlarına göre bu kodu yazmamız şart değil. Ancak bazı derleyiciler hala istemektedir.



CİN KOMUTU:

Standart girdi nesnesi olan cin, cout gibi <iostream> kütüphanesinde bir veri yolu nesnesi olarak tanımlanmıştır. cin'den sonra yazdığımız >> operatörü ise veri yolu elde etme operatörü olarak adlandırılır. Bu operatörün sağ tarafına yazılan değişken veya değişkenlerin içine, kullanıcı tarafından girilen veriler okunur.


Örnek Kod 2:



Ekran Çıktısı:



Bu programda verileri bellekte tutmak, saklanan verileri işlemlerde kullanmak için bellek hücreleri kullanılır. Bu bellek hücrelerinde saklanan veriler değişebileceği için bellek hücrelerine değişken denir.

Yukarıdaki programda kullanılan tek değişken olan sayi, 6. satırda tanımlanmıştır. Bu komut ile sayi adındaki değişkeni int ( tam sayı ) olarak tanımlıyoruz.
int sayi;

endl; 
Programda bir alt satıra geçmek için kullanılır.


Kullanıcıdan veri almak için <iostream> kütüphanesinde tanımlı olan cin komutu 8. satırda kullanılmıştır.
cin>>sayi;

Bu komut sayi değişkenine kullanıcı tarafından girilen tam sayı değeri atar.

cout<<"Girdiginiz sayi: "<<sayi;
Ekrana tırnak içindekileri yazıyoruz ve bitimine ise girilen değeri yazıyoruz.


Örnek Kod 3:


Ekran Çıktısı:




Bu programda ise;
Kullanıcıdan aldığımız 3 sayının toplamını ekrana yazdırmak için 3 tane int tipinde a, b, c deÄŸiÅŸken tanımlıyoruz. Kullanıcıdan aldığımız  verileri bu deÄŸiÅŸkenlere sırası ile atıyoruz. 

cout<<"toplamlari:"<<a+b+c<<endl;
Yukarıdaki komutta tırnak içindeki yazı ekrana yazılır ve devamına ise << operatöründen sonra gelen toplama işlemi devam eder. Ekrana kullanıcıdan alınan sayıların toplamı yazılır.


Örnek Kod 4:



Ekran Çıktısı:




Çıkarma iÅŸleminde toplama iÅŸleminde olduÄŸu gibi iÅŸlemler yapılır. 


Örnek Kod 5:


Ekran Çıktısı:


Şimdi çarpma işlemini bakalım.





Örnek Kod 6:

Ekran Çıktısı:


Bu programda ise iki sayının ortalaması alınmaktadır.

Diğer kodlarımızda olduğu gibi öncelikle değişkenlerin hangi veri tipinde olduğunu belirliyoruz.
Daha sonra kullanıcıdan sayıları isteyip atama işlemlerini yapıyoruz.
En son ortalamalarını cout komutuyla yazdırıp ,ortalamayı sayıların toplamının toplanan sayı kadar sayıya bölümünün sonucu olarak atıyoruz. Yani bu kodumuz da  x ve y nin toplamının ikiye bölünmesini ortalama olarak atıyoruz.Bunu da cout la ortalamaları yazdırdıktan sonra (x+y)/2 iÅŸlemini yazarak bu iÅŸlemin sonucunu ortalama olarak atamış oluyoruz.





Kaynaklar:





  • C++ İLE PROGRAMLAMA( Palme Yayıncılık - DEITEL)
  • C++ Dersi: Nesne Tabanlı Programlama
  • http://www.cplusplus.com/doc/tutorial/basic_io/
  • http://biliminrengi.blogspot.com/2014/03/c-cout-ve-cin-kullanm.html
  • https://www.geeksforgeeks.org/basic-input-output-c/





  •    





     

    1978 yılında Bell Laboratuvarlarında Bjarne Stroustroup tarafından geliştirilmeye başlayan C++ dili C dilline nesne eklenmesi sonucu oluşturulmuştur. Başlangıçta "C with Classes" olarak adlandırılan dil, 1980'li yılların başında C++ olarak isimlendirilmiştir. C++, C diline çeki düzen veren çeşitli özellikler barındırmaktadır. Ama bunlardan en önemlisi nesneye dayalı programlama özelliğine sahip olmasıdır.



    NESNEYE YÖNELİK PROGRAMLAMA NEDİR :

    Nesneye Yönelik Programlamada, programlama ortamındaki her şey bir nesne olarak kabul edilmektedir, nesnelerin özellikleri değiştirilerek onlara yeni biçimler verilmektedir. Ayrıca her nesnenin duyarlı olduğu olaylar mevcuttur. Her nesne üzerinde uygulanabilecek farklı metotlar oluşturulmuştur.

      Yapısal Programlamada ağırlık programlama komutlarında iken, Nesneye Yönelik Programlamada yazılımcının ortamdaki nesneler, özellikleri, hassas oldukları olaylar ve nesnelere uygulanabilecek metotlar hakkında da detaylı bilgi sahibi olması gerekir.

     

    SINIF:

    Çözülmesi gereken problemin içeriğine göre yeni bir veri tipi ve bu veri tepi ile yapılacak işlemleri tanımlamamıza olanak sağlar. oluşturulan her nesnenin durum özellikleri veri üyesi, davranış özellikleri ise üye fonksiyonlarla tanımlanır. Böylece veri tipinin özellikleri ve işlevleri tek bir birimde kapsanmış veya sarmalanmış olur.



    NESNE:

    Nesneler sınıflar tarafından üretilirler ve bellekte yer belirtirler. Aynı sınıf içerisinde üretilen nesnelerin özellikleri benzer olduÄŸu gibi farklılıklarda gösterebilir. Sınıflarda olduÄŸu gibi nesneler için de daha ayrıntılı bilgi nesneye yönelik programlamaya giriÅŸ yaparken verilecektir. 





    **İlk Program : Bir Satır Metni Yazmak


    Ekran Çıktısı:



    Yazdığımız kodu inceleyelim : 

    • // ile baÅŸlayan satırlar yorum satırıdır. Programınızı dökümante etmek ve diÄŸer insanların kodunuzu anlaması için yorum satırları eklersiniz. Program çalışırken bilgisayar yorum satırları ile ilgili iÅŸlem yapmaz.
    •  #include<iostream>  C++ ön iÅŸlemcisine mesaj olan bir ön iÅŸlem komuttur. # ile baÅŸlayan satırlar program derlenme'den önce ön iÅŸlemci tarafından iÅŸleme alınır. Bu satır, girdi/çıktı baÅŸlık dosyası olan <iostream> içeriÄŸinin programa dahil edilmesini ön iÅŸlemciye bildirir. 
    • std::cout<<"Welcome to C++!";  ise çift tırnak içerisindeki karakterlerin yazılması iÅŸleminin gerçekleÅŸtirilmesini bilgisayara bildirir. Çift tırnak içerisindeki karakterler ve tırnak iÅŸaretleri karakter dizini ya da  katar olarak adlandırılır. 
    • Kısaca cout : cout<<"Ekrana yazılması istenen bilgi";

    Programın karmaşıklığını gidermek için ;




    Ekran çıktısı:




    İlk uygulamada yapılan çıktı ile aynı çıktıyı verir.


    SOYUTLAMA:

    Soyutlama bir sınıfa detayların tanımlanmadan yapması gereken işlemleri tanımlamaya denir. Programın karışıklığını azaltmaya yardımcı olur.

    NEDEN NESNE YÖNELİMLİ PROGRAMLAMA ?

    Nesneye yönelik programlamanın bize birçok avantajı vardır. En önemli avantajı ise programın karmaşıklığını azaltarak programcının işini kolaylaştırmasıdır.Oluşturulan sınıflarla bir kodun defalarca kez yazılmasına gerek kalmadığı için zamandan da tasarruf etmeyi sağlar. Kapsülleme sayesinde değişkenleri erişime kapatıp güvenliği de sağlayarak daha sonradan çıkacak hataları önler. Ayrıca fonksiyon ve operatör yüklemesi de mümkün.



    KAYNAKÇA: