Şimdi Ara

Temel Algoritma Bilgisi ve Programlamaya Giriş

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
44
Cevap
5
Favori
48.987
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba Arkadaşlar,
    Birkaç aydan beridir bu foruma takılıyorum. Şu ana kadar bu açtığım ikinci başlık olacak. Birincisi C/C++ Alt Forum Grubu idi. Sağolsun birkaç arkadaş dışında destek veren olmadı.
    Neyse artık asıl konumuza dönelim. Forum başlıklarının çoğu programlamaya nasıl başlarım, ne yapmam gerekiyor, c'mi öğreneceğim pascal mı, c# mı şeklinde. Bu yüzden böyle bir başlık çok yararlı olacak diye düşünüyorum. Yazacağım konuları birkaç başlık altında toplayacağım. Bu mesajlar ana sayfa olacak, sonraki mesajlarda önerileriniz ve sorularınız olacak. Başlıkları şu şekilde düşündüm:

    1-ALGORİTMA NEDİR? NE İŞE YARAR? PROGRAM YAZARKEN NELERE DİKKAT EDİLİR?
    2-DEVC++ KURULUMU ve KULLANIMI
    3-KULLANILACAK DİL ve ÖZELLİKLERİ
    4-SORULAR KISMI



    < Bu mesaj bu kişi tarafından değiştirildi bozcaa -- 6 Ağustos 2010; 8:29:50 >







  • 2-DEVC++ KURULUMU ve KULLANIMI



    2-1-DEV-C++ HAKKINDA

    Dev C++ GNU GPL altında dağıtılan bir tümleşik geliştirme ortamıdır. Dev C++' nin tüm arabirimi Delphi ile geliştirilmiş ve ilk çıktığı zaman oldukça popüler bir yazılım olmuştur. 2005 yılından beri geliştirilmemesine rağmen hala çok sayıda kullanıcı tarafından kullanılmaktadır. Kaynak

    DEVC++ ana sayfasına ulaşmak için tıklayınız.
    DevC++ IDE sini indirmek için tıklayınız.

    Dev-C++ Resimli Anlatımı:
    Forumda araştırdım daha önce resimli olarak kullanımı anlatılmış. İncelemek için tıklayınız.

    wxDev-C++

    quote:

    Orijinalden alıntı: atavratbraveheart
    DevC++ gelişimi 5 yıl önce durduruldu bu yüzden onun yerine wxDev-C++ var. Daha gelişmiş ve yeri geldikçe update ediliyor.
    Bunu kullanmanızı tavsiye ederim ücretsiz bir yazılımdır.
    İndirme Linki :http://sourceforge.net/projects/wxdsgn/files/wxDev-C%2B%2B/Version%207/wxdevcpp_7.3.1_full_setup.exe/download
    indirdikten sonra kurarken update etmek istediğinde HAYIR seçeneğini seçin(5-6 kere sorması lazım Hayır deyip geçin). Çünkü en son sürüm olduğu için update gerektirmiyor.

    Merhaba Arkadaşlar, denemedim ama bu programda kullanılabilir. Arkadaşa paylaşımlarından dolayı teşekkür ederiz.
    Merhaba, az önce programı denedim. Win7 'de hata verdi. Dev C++ üzerine geliştirilmiş görünüyor. Belki de Win 7 için ayrı bir sürümünü indirmek gerekiyordur.

    Karşılaşılabilecek Basit Hatalar:
    Programı çalıştırdığımda açılıp, hemen kapanıyor. Nedeni

    Başka bir IDE'de yazarken çalışıyordu, DEV-C++ da çalışmıyor. Nedeni ne olabilir? Bu linkde de biraz bahsetmiş. Farklı derleyicilerin farklı kütüphaneleri olur. Bu yüzden dilin standart kütüphaneleri dışında IDE'nin size sağlamış olduğu kütüphanelerdeki fonksiyonları kullanırsanız, farklı IDE'lerde kodunuz çalışmayabilir. Bu yüzden mecbur kalınmadıkça IDE'nin sağlamış olduğu standart olmayan kütüphaneler kullanılmamalıdır. Örneğin Visual Studio ticari olan ve yazılımcılara kod geliştirmesinde
    büyük destek sağlayan bir IDE. Ama bunu kendi araçları ile yapar. Siz bu kodları Dev-C++ da çalıştırmaya çalışırsanız, Dev-C++ bu araçlara sahip olmadığı için sizin kodunuzu çalıştırmaz.



    2-2-IDE KAVRAMI (Integrated Development Environment - Tümleşik Geliştirme Ortamı)

    IDE “integrated development environment”, “integrated design environment ” veya “integrated debugging environment” gibi açılımlara sahip yazılım geliştiricilerinin proje geliştirmesinde onlara yardımcı olan yazılımlara denir.

    Bir IDE yazılımını basit bir metin editöründen farklı kılan özelliklerin önemlilerini sıralayacak olursak.

    Kaynak kod editörü : Basit metin editörlerinden farklı olarak kodları kullandığınız dile göre belirten (highlight) bir editörtür.

    Derleyici ve Yorumlayıcı içermesi : Kaynak kodlarını bu sayede IDE üzerinde çalıştırabilirsiniz zamandan kazanmanız açısından size yardımcı olur.

    Debugger (Hata Ayıklayıcı): Adından da anlaşılacağı üzere programda herhangi bir hata var mı kontrol etmenize yarayan araç.

    Bazı IDE'lerde GUI oluşturabilmek için sürüm kontrol sistemleri(version control systems) ve çeşitli araçlar bulunmaktadır.

    Yeni modern IDE'lerde ise nesne-yönelimli yazılım geliştirme(object-oriented software development) için; sınıf tarayıcı (class browser), nesne denetimcisi (object inspector), ve sınıf hiyerarşi diyagramı gibi araçları barındırır. Kaynak

    Nesne denetimcisi(object inspector): Direk olarak kelime anlamı ile nesne denetimcisi anlamına geliyor. Yazılım yaparken kullanmış olduğunuz nesneleri bulmanızı ve özelliklerini değiştirmenizi sağlar. Nesne denetimcisi özellikler(properties), olaylar(events) ve favoriler (favourites) olarak üç ana bölüme ayrılır. Her bir bölümünün altında alt başlıklar bulunmaktadır. Nesne denetleyici programlarınızdaki hataları ayıklamak için de yararlı bir araçtır. Kaynak



    < Bu mesaj bu kişi tarafından değiştirildi bozcaa -- 27 Aralık 2013; 8:52:01 >




  • 3-KULLANILACAK DİL ve ÖZELLİKLERİ


    Dil olarak C++ kullanmayı düşünüyorum. Kullanımının kolay olması ve DevC++ gibi ücretsiz ve güçlü bir IDE'sinin bulunması diğer diller önünde C++ dilini biraz öne çıkarıyor. Biz Java dilinde programlamaya giriş eğitimi almıştık.

    Yalnız şunu da unutmayalım amacımız kesinlikle ve kesinlikle C++ öğrenmek değil. Temel algoritma bilgisi çalışırken bir dili kullanmak size o dili öğretmez. Sadece o dilin söz dizimine aşinalığınız olur. Amacımız C++ dilinin sınıf yapısını yada nesne yönelimli programlama tekniklerine verdiği desteği öğrenmek değil. Bu yüzden burayı C++ öğrenebileceğiniz bir başlık olarak algılamayın.



    3-1-MERHABA DÜNYA PROGRAMI

    Merhaba Dünya programı genel olarak bir programlama diline yeni başlayanların yazdığı ilk programdır. Bu program ilk defa C dilinin mucidi olan Kernighan ve Ritchie'nin C Programlama kitabında 1978 yılında yayınlanmıştır. Yayınlandıktan sonra da meşhur olmuş ve bilgisayarda yazılan ilk program olma ünvanını elinden bırakmamıştır. Merhaba Dünya programının çok farklı dillerde nasıl yazıldığına buradan göz atabilirsiniz. Biz Merhaba Dünya programını daha önceden de belirttiğimiz gibi C++ dilinde yazacağız. DevC++ IDE'mizi indirip bilgisayara kurduktan sonra yukarıda resimlerle anlatılan şekilde ilk projemizi oluşturalım. Sonrasında da aşağıdaki programı yazarak F9 tuşuna basarsak konsolda "Hello World!" yazısını görebiliriz.

     
    #include <cstdlib> //system fonksiyonu için cstdlib kütüphanesi eklenir
    #include <iostream> //cout nesnesi için iostream kütüphanesi eklenir

    using namespace std; //cout nesnesini kısa ve öz olarak kullanabilmek için ekledik.

    int main()
    {
    cout << "Hello World!" << endl;

    system("PAUSE");
    return EXIT_SUCCESS;
    }


    Programın ilk baş kısmındaki #include <cstdlib> , #include <iostream> önişlemci komutları ve using namespace std deyimine kafanızı yormanıza gerek yok. Amacımız C++ dilini öğrenmek değil sadece bir araç olarak kullanmak.

    Bu programda bilmemiz gereken; C++ derleyicisi programı ana fonksiyon olan main fonksiyonundan başlatır.

    Normalde main parantezinin içerisine DevC++ otomatik olarak "int argc, char *argv[]" değişkenlerini yerleştirir. Fakat biz bunları kullanmayacağız.

    Yazacağımız tüm deyimleri(kodları) main fonksiyonu içerisine yazacağız. Yani C++ dilindeki fonksiyon yapısını kullanmayacağız.

    cout << "Hello World!" << endl; deyimi ile c++ dili ile ekrana yazı yazdırılır. cout ekrana yazı yazdırırken, endl de enter tuşunun işlevini görür ve programın bir alt satırdan başlamasına sebep olur. Programı cout << "Hello World!"; şeklinde de yazabilirdik. Bu takdirde programımız bir alt satırdan devam etmemiş olurdu.

    system("PAUSE"); programın sizden bir tuşa basmanız için gerekli olan fonksiyondur. Eğer dos'da birkaç komut yazdıysanız pause komutunu da biliyorsunuzdur. Konsolda yazmış olduğunuz komutları çalıştırmak için system fonksiyonu kullanılır. Örneğin system("PAUSE"); yerine system("CLS"); deyimini yazıp sonrasındada tekrardan system("PAUSE"); deyimini yazarsanız Hello World yazısının kaybolduğunu göreceksiniz. Çünkü cls (clear screen) ekrandaki yazıları temizleyen komuttur.

    return EXIT_SUCCESS; deyimi, main fonksiyonumuz int bir değer döndürmesi gerektiği için kullanılır. Zorunlu değildir. Fakat işletim sistemleri programlardan başarı ile sonuçlanıp sonuçlanmadığına dair bilgi bekledikleri için tipik olarak c++ programları bu şekilde yazılır. EXIT_SUCCESS yerine C dilinde olduğu gibi direk 0 da yazabilirdik. İkisini arasında herhangi bir fark olmaz. Önişlemci sıra derleyiciye gelmeden önce EXIT_SUCCESS yerine 0 sabit sayısını yerleştirir. Önişlemci ve derleyici kavramlarından 2. başlık altında bahsedeceğim.



    3-2-C++ DİLİ İLE NESNE (DEĞİŞKEN) TANIMLAMA

    Daha öncede bahsettiğimiz üzere programlarımızı yazarken işlem yapmak için belleğe ihtiyaç duyarız. Biz temel algoritma dersimizde başlangıç olarak iki tür nesne ile çalışacağız. Bunlardan birisi tam sayıların yerini tutacak, diğeri de ondalıklı sayı dediğimiz gerçek sayıların yerini tutacak. C++ da bu nesneler için farklı türden nesneler tanımlanabilsede biz sadece ikisini kullanacağız. Kullanacağımız türler: int ve double

     
    #include <cstdlib>
    #include <iostream>

    using namespace std;

    int main()
    {
    int i = 10;
    double d = 3.124;

    cout << "i: " << i << endl;
    cout << "d: " << d << endl;

    i = 32;
    d = 2.12;

    cout << "i: " << i << endl;
    cout << "d: " << d << endl;

    system("pause");
    return EXIT_SUCCESS;
    }

    int ve double türden nesnelerimizi yukarıda olduğu gibi derleyiciye bildirebiliriz. i ve b nesnelerimizin isimleri olmak üzere, başlangıç değeri atanmasa da olurdu. Yani nesnelerimizi;

    int i;
    double d;

    i = 10;
    d = 3.124;

    şeklinde de tanımlayabilirdik. Nesnelerimizi (değişkenlerimizi) tanımlarken dikkat edeceğimiz bir diğer husus isimleri olan i ve d. Bu isimler yerine farklı isimlerde verebilirdik. İsimlendirmede dikkat edilmesi gereken farklı konular ve uyulabilecek farklı tarzlar var. Bunlardan daha sonra bahsedeceğiz. Uymamız gereken kurallardan, 1.9 nolu başlık altında isim başlığı altında incelemiştik. Bunun dışında, isimlendirme yaparken, değişken ismi, bize bu değişkenin ne tür amaç için kullanılacağı bilgisini vermelidir. Örneğin bu değişkende yil bilgisini tutacaksak, değişkeni
    int yil;
    şeklinde bir isimlendirme ile tanımlamalıyız.



    3-3-C++ DİLİNDE ARİTMETİK İŞLEMLER

    C++ dilinde aritmetik işlemler yapmak, karşılaştırma yapmak vb. işlemler için çeşit çeşit operatörler bulunmaktadır. Bu operatörler ile ilgili bilgi için lütfen tıklayınız.
    Burada başlangıç soruları için +, -, /, * ve % operatörlerinin kullanılmasını öğrenmeniz gerekiyor.

    Üslü ve köklü sayılar için C++ programlama dilindeki sqrt ve pow fonksiyonlarını kullanırız. Bu fonksiyonların kullanımı için programın başına #include<cmath.h> önbildirimini eklememiz gerekiyor. Örnek kullanımları:
     
    #include <cstdlib>
    #include <iostream>
    #include <cmath>

    using namespace std;

    int main()
    {

    cout << "3 ^ 2 = " << pow(3.0, 2.0) << endl;
    cout << "karakok(9) = " << sqrt(9) << endl;

    system("pause");
    return EXIT_SUCCESS;
    }




    3-4-C++ DİLİ İLE KLAVYEDEN GİRİŞ ALMA

    C++ dili ile ekrana yazı yazdırmayı görmüştük. Aynı şekilde klavyeden bir giriş almak da çok kolay. Aşağıdaki kodda klavyeden bir gerçek sayı ve tam sayı alınarak ekrana yazdırılıyor.

     
    #include <cstdlib>
    #include <iostream>

    using namespace std;

    int main()
    {
    int sayi1, sayi2;

    //Sayılar tek tek alınabilir
    cout << "Birinci sayiyi giriniz : ";
    cin >> sayi1;
    cout << "Ikinci sayiyi giriniz : ";
    cin >> sayi2;

    cout << "sayi1 : " << sayi1 << endl;
    cout << "sayi2 : " << sayi2 << endl;

    //Sayılar aynı kod satırında da alınabilir
    cout << "Lutfen iki sayi giriniz : ";
    cin >> sayi1 >> sayi2;

    cout << "sayi1 : " << sayi1 << endl;
    cout << "sayi2 : " << sayi2 << endl;

    system("pause");
    return EXIT_SUCCESS;
    }




    3-5-IF KONTROL DEYİMİ

    Program yazarken önümüzde farklı koşullar belirir. Bu koşulların doğru olup olmamasına göre program farklı işler yapar yada sonlanır. Programlama yaparken bilgisayara bir koşula göre farklı işlemler yaptıracaksak if deyimini kullanırız. C++ dilinde if deyiminin sentaksı aşağıdaki gibidir.

     

    if (a < 5) {
    deyim1;
    deyim2;
    ***
    }
    else {
    deyim3;
    deyim4;
    ***
    }

    Burada dikkat edilmesi gereken hususlardan biri, ikinci if şartında parantezleri kullanmadık. if deyimiyle bir koşula göre işlem yaptıracağımız zaman eğer sadece bir işlem yapılacaksa süslü parantez kullanmaya gerek yok. Fakat birden fazla işlem yapılacağı zaman süslü parantez içerisine alınması gerekiyor.

    if deyimi kullanılırken yapılan en sık yanlışlardan biri kontrol parantezinden sonra ; operatörünün kullanılmasıdır. Bu durumda if deyiminden sonra iki tane deyim kullanılmış olur. Bunlardan biri "; (boş deyim)" diğeride "deyim5" tir. Süslü parantez kullanılmadığı için if koşulu sağlanırsa boş deyim devreye alınır. deyim5 ise if bloğunun dışında olarak kabül edilir ve if şartı doğruda olsa yanlış da olsa çalışır.
     

    if (a > 3);
    ;

    Boş Deyim: Boş deyim C/C++ programlama dilinde çok kullanılan bir deyimdir. Örneğin bir şart sağlandığında programın hiçbir şey yapmaması gerekiyorsa boş deyim kullanırız. Örneğin a sayısı 3'ten büyükse hiçbirşey yapma. Bu program aşağıdaki gibi kodlanır.
     

    if (a > 3)
    ;



    < Bu mesaj bu kişi tarafından değiştirildi bozcaa -- 27 Eylül 2010; 9:29:15 >




  • DevC++ gelişimi 5 yıl önce durduruldu bu yüzden onun yerine wxDev-C++ var. Daha gelişmiş ve yeri geldikçe update ediliyor.
    Bunu kullanmanızı tavsiye ederim ücretsiz bir yazılımdır.
    İndirme Linki :http://sourceforge.net/projects/wxdsgn/files/wxDev-C%2B%2B/Version%207/wxdevcpp_7.3.1_full_setup.exe/download
    indirdikten sonra kurarken update etmek istediğinde HAYIR seçeneğini seçin(5-6 kere sorması lazım Hayır deyip geçin). Çünkü en son sürüm olduğu için update gerektirmiyor.




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.