1.                                                

C++ Dersleri xxaer

'C/C++' forumunda xxaer tarafından 28 Nisan 2016 tarihinde açılan konu

  1. xxaer

    xxaer New Member

    Katılım:
    24 Nisan 2016
    Mesaj:
    23
    Beğeniler:
    2
    Ödül Puanları:
    1
    Şehir:
    Belirtilmemiş

    GİRİŞ
    AT&T Bell laboratuvarlarında, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemi'ni geliştirebilmek amacıyla B dilincen türetilmiş yapısal bir dildir.

    Programlama Dilinin Tanımı
    Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının tektipleştirilmiş yoludur. Programlama dilleri, yazılımcının bilgisayara hangi veri üzerinde işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar.

    Yaygın Programlama Dilleri
    PHP, Java, JavaScript, C#, Python, C, SQL, C++, Ruby, Perl ve Visual Basic

    C++ Derleyici Program
    Dev C++ Tercih Ederim

    Kullanımı
    Dev C++ yı açtıktan sonra Ctrl+N tıklayın ve yeni sayfa açın bu sayfaya kodları yazın ve ardından derle ve çalıştır'a tıklayın ardından hata almassanız program çalışıcaktır.Yapamazsanız mesaj atarsanız yardımcı olurum.

    Linux kullanıyorsanız;
    g++
    Not:Linux Kali kullanıyorum.
    Kullanımı:Applications'dan gedit veya leafpad'i açıp kodları yazın.Kaydetme kısmına geldiğinizde ise sonuna .cpp yazıp kaydedin.Kaydettikten sonra terminal den kaydettiğiniz dizine gelin ve g++ yazarak çalıştırın.
    Çalıştırdıktan sonra bir hata almassanız kaydettiğiniz yerde "a.out" isimli bir dosya oluşur.
    Daha sonra terminalden şu komutu yazın: "./a.out" daha sonrasında komutunuz çalışıcaktır.Yapamazsanız mesaj atın yardımcı olmaya çalışırım.


    C++ Giriş

    [HASHTAG]#include[/HASHTAG] <iostream>
    using namespace std;
    int main ()
    {
    cout<<"Hello World";
    return 0;
    }

    İlk kodumuzla açıklamaya başlayalım
    "[HASHTAG]#include[/HASHTAG] <iostream>" C++ kütüphanesi içinde işimizi kolaylaştırıcak ve hızlandırıcak kütüphaneler bulunur
    bunlardan bir tanesi "iostream" dır. Diğeri ise "[HASHTAG]#include[/HASHTAG]" programımıza "iostream" dosyasının katılmasını sağlar.

    Biraz teorik gidiyoruz farkındayım ama ilerledikçe daha az açıklama daha çok kod olucaktır.
    Alt satırımızda "using namespace std;" komutu yer alıyor.Bu komut işimizi hızlandırır.Eğer o komutu yazmasaydık 5. satırdaki komutu şu şekilde yazmamız gerekirdi std::cout<<"Hello World"; her programımızda bu komutu kullanıcağız.

    3 satırımızdaki kod "int main ()" aslında programımız burdan itibaren çalışmaya başlar.Her programda main fonksiyonu kesinlikle bulunur.


    4 satırımızda güzel parentez açılmıştır buraya main fonksiyonunda çalışmasını istediğimiz kodları yazarız.
    Unutmadan güzel parantezi kapatmassanız hata alırsınız.


    Güzel parentezlerin içine cout<<"Hello World"; komutunu yazdık. Bu komut ekrana yazı yazdırmak için kullanılır.Sonundaki noktalı virgül bu komutun bittiğini ve yeni bir komutun başlayacağını söyler.

    6 Satırda "return 0;" komutu yer alıyor.Bu komut programın sorunsuz bir şekilde bittiğini gösterir.Ve sisteme 0 değerini gönderir.

    Parentezi kapattık ve programımız derlenmeye ve çalıştırılmaya hazır.



     
  2. Al-Farabi

    Al-Farabi Albay

    Katılım:
    16 Ocak 2016
    Mesaj:
    1,345
    Beğeniler:
    126
    Ödül Puanları:
    63
    Çok Teşekkürler Ama Eğer Mümkünse Video Olarak Paylaşımda Bulunabilir Misiniz?
     
  3. xxaer

    xxaer New Member

    Katılım:
    24 Nisan 2016
    Mesaj:
    23
    Beğeniler:
    2
    Ödül Puanları:
    1
    Şehir:
    Belirtilmemiş
    Dostum çok isterdim fakat biraz kekemelik sorunum var o yüzden pek taraftarı değilim
     
  4. MenIn

    MenIn Albay

    Katılım:
    21 Nisan 2016
    Mesaj:
    720
    Beğeniler:
    0
    Ödül Puanları:
    16
    Şehir:
    Belirtilmemiş
    Teşekkürler. Ayrıca başlık renklerini değiştirirseniz daha rahat okunur:)
     
  5. xxaer

    xxaer New Member

    Katılım:
    24 Nisan 2016
    Mesaj:
    23
    Beğeniler:
    2
    Ödül Puanları:
    1
    Şehir:
    Belirtilmemiş
    teşekkür ederim diğer konularda dikkate alıcam
     
  6. xxaer

    xxaer New Member

    Katılım:
    24 Nisan 2016
    Mesaj:
    23
    Beğeniler:
    2
    Ödül Puanları:
    1
    Şehir:
    Belirtilmemiş
    Algoritma Nedir

    Algoritma bir sorunu çözmek için kullandığımız yöntemdir.Algoritma sizin konu hakkındaki bilginize bağlıdır.

    Matematiğiniz iyi değilse çok iyi bir algoritma ortaya çıkaramazsınız.Sadace matematik değil programlama bilginizinde iyi olması lazım. Kısaca konu hakkında uzman değilseniz düzgün bir algoritma ortaya çıkaramazsınız.

    Algoritma Örnekleri

    [​IMG]
    Resim alıntıdır.
    Her şeklin bir anlamı vardır bu konuya daha sonra değineceğim.
    Bu algoritma girilen iki sayıyı toplar ve ekrana yansıtır.

    Psue Kod
    Psue kodlar problemi çözerken kendi aklımızdan ürettiğimiz, cümleleri yazdığımız kodlardır.
    Örnek
    ilk sayıyı al sayi1
    ikinci sayıyı al sayi2
    sayi1 ve sayi2 yi topla
    ekrana toplamlarıni yaz

    Problem Çözme Aşamaları
    İyi kod yazmak ve iyi algoritma öğrenmek istiyorsanız bu aşamaları çok iyi öğrenmenizde fayda var.
    İmkanınız varsa problem çözme aşamaları ile ilgili eğitimler veriliyor onlara katılabilirsiniz.

    Aşama 1:
    Problemin Tanımlanması
    Bu aşamada problemin tamamen tanımlanması gerekir, ne kadar iyi tanımlarsak çözümü o kadar hızlı, kolay ve basit olur.


    Aşama 2:
    Algoritmanın Oluşturulması

    Problem tanımlandıktan sonra çözümleri sıraya koyarız.Bu çözümler 1 den fazla olabilir.

    Bir yerde takılırsanız problemin başına gidip Psue kod lar ile baştan algoritmayı oluşturmanız hatayı azaltır.

    Aşama 3:
    Deneme

    Yaptığınız algoritma iyi sonuçlar verdiyse kullanabilirsiniz, iyi sonuç alamadıysanız baştan gözden geçirerek tekrar deneyiniz.


    Sonraki konumuzda değişkenler tanımlayacağız ve ekrandan veri alıcaz.İyi günler
     
    Kalimita bunu beğendi.
  7. MenIn

    MenIn Albay

    Katılım:
    21 Nisan 2016
    Mesaj:
    720
    Beğeniler:
    0
    Ödül Puanları:
    16
    Şehir:
    Belirtilmemiş
    Teşekkürler. Çoğu kişi algoritmadan bahsetmez. Gerekli. İyi başlangıç:)
     
  8. xxaer

    xxaer New Member

    Katılım:
    24 Nisan 2016
    Mesaj:
    23
    Beğeniler:
    2
    Ödül Puanları:
    1
    Şehir:
    Belirtilmemiş
    İlgin için çok teşekkür ederim
     
  9. Death Pro

    Death Pro Member

    Katılım:
    1 Nisan 2016
    Mesaj:
    64
    Beğeniler:
    1
    Ödül Puanları:
    6
    Başlangıçta çok bişe değilde link lists de işine yarıyo bide tabiki büyük projelerde
     
  10. Death Pro

    Death Pro Member

    Katılım:
    1 Nisan 2016
    Mesaj:
    64
    Beğeniler:
    1
    Ödül Puanları:
    6
    Güzelmiş kardeşim.Ayrıca başka işletim sistemi kullananlara da anlatmışsın güzel olmuş
     
  11. xxaer

    xxaer New Member

    Katılım:
    24 Nisan 2016
    Mesaj:
    23
    Beğeniler:
    2
    Ödül Puanları:
    1
    Şehir:
    Belirtilmemiş
    Değişken Nedir?
    Değişken arkadaşalar basitçe tanımlamak gerekirse girdiğimiz değerleri aklında tutar. Bu değerleri programı yazarkende girebilirsiniz programı çalıştırtıktan sonrada.Şimdi yapıcağımız örnekle daha iyi anlayabilirsiniz.

    Örnek
    [HASHTAG]#include[/HASHTAG] <iostream>
    using namespace std;
    int main ()
    {

    int yas; //yas isimli değişkenimizi tanımladık
    cout<<"Yasinizi Giriniz"; //ekrana "Yasinizi Giriniz:" yazdırdık
    cin>>yas; //ekrandan yazdığınız değeri yas değişkenine atadık
    cout<<"Yasiniz:"<<yas<<endl; //ekrana "Yasiniz:" yazdırdık

    return 0;
    }

    Detaylı Açıklama
    Main e kadar olan bölümü önceki konumuzda bahsetmiştim.Şimdi "int"in tanımına gelirsek eğer, int değişken tanımlamak için kullanılır.

    DipNot:"//" işareti programı hiçbir şekilde etkilemez yer kaplamaz.Büyük projelerde çalışıyorsanız ve daha sonra o projeleri kontrol etmek istediğinizde nasıl bir algoritma kullandığınızı size hatırlatır, ben burda sadace açıklamak için kullandım.

    Cin Komutu
    Cin komutu ekrandan yazılan değeri alıp int ile tanımladığımız değere atar.Yani siziz yazdığınız değer "cin"
    fonksiyonunun yanındaki oklar hangi değişkeni gösteriyorsa o değişkene atar.

    <<endl; Komutu
    endl komutunu linux kullanan arkadaşlar için verdim.Windows kullanan arkadaşlarda kullanabilir sorun olmaz.Konuya daha sonra değineceğim.

    Daha iyi anlamanız için başka bir örnek vericem

    Daha İyi Anlamanız İçin
    [HASHTAG]#include[/HASHTAG] <iostream>

    using namespace std;
    int main ()
    {
    int a, b, toplam;
    cout<<"A degerini giriniz:";
    cin>>a;
    cout<<"B degerini giriniz:";
    cin>>b;
    toplam=a+b;
    cout<<"Toplam:"<<toplam<<endl;
    return 0;
    }
    Bu örnekği dikkatli bir şekilde inceleyin ve kodları kendiniz yazıp çalıştırın daha iyi anlamanızda yardımcı olur.
     
  12. xxaer

    xxaer New Member

    Katılım:
    24 Nisan 2016
    Mesaj:
    23
    Beğeniler:
    2
    Ödül Puanları:
    1
    Şehir:
    Belirtilmemiş
    Merhaba Arkadaşlar
    Açtığım konudan yüzlerce forumda olduğunun farkındayım, bu yüzden konuları değiştirip direk size yazdığım programın mantığını anlatıcağım bu sayede hem farkımız olur hemde konuyu daha hızlı öğrenirsiniz.


    Bugun ki konumuz şifreli bir program yazmak, siz her yanlış yazdığınızda sizi başa atıcak ve sizden şifre isteyecek.

    [HASHTAG]#include[/HASHTAG] <iostream>
    using namespace std;

    int main()
    {
    int x;
    tekrargir:
    cout << "Sifreyi Giriniz:";
    cin >> x;
    if(x>2015 && x<2017){
    cout << "Tebrikler,Doğru Sifre."<<endl; }
    else {
    cout << " Yanlıs Sifre.Tekrar Deneyiniz..."<<endl;
    goto tekrargir; }
    }

    Yer kaplamaması açısından aralarında boşluk bırakmadım siz boşluk bırakarak yazın.

    Açıklama
    İlk satırlara önceki konumuzda değinmiştik, anlatmadan geçiyorum.
    "tekrargir:"komutu bi etiket komutudur inceleyince daha iyi anlıyacaksınız.


    "İF" komutu programa soru sorar, programcının verdiği değer oldumu olmadımı, olmadıysa eğer if komutu atlanır.Sadece if değil if in önüne güzel parentez açtım güzel parentezin kapandığı yere kadar tüm komutlar atlanır.Eğer şart sağlandıysa if komutu işlenir ve sonraki komuta geçilir.

    "ELSE" komutu aslında if komutunun devamı gibidir.Eğer if şartı sağlanmazsa, else şartına atlanır ve işlem görür.

    Daha iyi anlamanız için:

    [​IMG]
    İllaki if in doğru, else in yanlış olması gerekmez sizin verdiğiniz karara bağlıdır.
    "Goto tekrargir;" bloğunun içinde bulunuyor.Goto komutu bize söyle diyor eğer program else bloğu içine girerse etikete geri dön ve baştan işle.Yani döngü komutu.
    DipNot:"Goto" komutu pek tavsiye edilmez, ben başlangıçta olduğumuz için sizinle paylaştım.Sonuçta c++ dilinde goto komutu var.


    Sonraki konumuzda kendi IP adresimizi bulucaz.İyi günler...

    Yazmayı unutmuşum :D benim hatam şifre: 2016
     
  13. MenIn

    MenIn Albay

    Katılım:
    21 Nisan 2016
    Mesaj:
    720
    Beğeniler:
    0
    Ödül Puanları:
    16
    Şehir:
    Belirtilmemiş
    Özgün anlatım :) Elinize Sağlık
     
  14. xxaer

    xxaer New Member

    Katılım:
    24 Nisan 2016
    Mesaj:
    23
    Beğeniler:
    2
    Ödül Puanları:
    1
    Şehir:
    Belirtilmemiş
    teşekkür ederim
     
  15. tababa86

    tababa86 Albay

    Katılım:
    12 Mart 2016
    Mesaj:
    931
    Beğeniler:
    128
    Ödül Puanları:
    43
    Cinsiyet:
    Erkek
    Şehir:
    Kore
    Goto buyuk projeler de sıkıntı çıkarıyor diye bir kaynak da okumuştum...
     
  16. tababa86

    tababa86 Albay

    Katılım:
    12 Mart 2016
    Mesaj:
    931
    Beğeniler:
    128
    Ödül Puanları:
    43
    Cinsiyet:
    Erkek
    Şehir:
    Kore
    hacı söylemene gerek yok int x demişşsin sonra x>2015 ve x<2017 yani 2016 oluyor :)
     
  17. xxaer

    xxaer New Member

    Katılım:
    24 Nisan 2016
    Mesaj:
    23
    Beğeniler:
    2
    Ödül Puanları:
    1
    Şehir:
    Belirtilmemiş
    evet dostum kodun okunmasını zorlaştırıyor ve yapısal proglamlamaya aykırı.
     
  18. xxaer

    xxaer New Member

    Katılım:
    24 Nisan 2016
    Mesaj:
    23
    Beğeniler:
    2
    Ödül Puanları:
    1
    Şehir:
    Belirtilmemiş
    olsun ben yinede yazayım aklımda bulunmasın :)
     
  19. tababa86

    tababa86 Albay

    Katılım:
    12 Mart 2016
    Mesaj:
    931
    Beğeniler:
    128
    Ödül Puanları:
    43
    Cinsiyet:
    Erkek
    Şehir:
    Kore
    güzel çalışma devamını bekliyoruz :D...İleriki konuları bekliyorum.Temelde c de iyiyim...Tabi profesyonellige geçsek artık iyi olacak.Mesela exploit yazma...Genelde bellek konusunda çok işe yarayacagını belirtiyorlar tabi C ...
     
  20. xxaer

    xxaer New Member

    Katılım:
    24 Nisan 2016
    Mesaj:
    23
    Beğeniler:
    2
    Ödül Puanları:
    1
    Şehir:
    Belirtilmemiş
    Hayırlısı.Exploit hakkında pek bilgim yok her açığa yazılırmı yoksa belli açıklar mı lazım ?
     

Bu Sayfayı Paylaş

Share