21 Mayıs 2018 Pazartesi

veri

1-Prosedür ile enleri bulma

BEGIN

    DECLARE ders_idsi INT;
    DECLARE yuksek_isim VARCHAR(100);
    DECLARE dusuk_isim VARCHAR(100);
    DECLARE yuksek_not FLOAT;
    DECLARE dusuk_not FLOAT;
    SET ders_idsi=1;
   
    SELECT MAX(od.not) AS max_not, MIN(od.not) AS min_not
    INTO yuksek_not, dusuk_not
    FROM ogrenci o
    JOIN ogrenci_ders od ON o.ono=od.ono
    WHERE od.did=ders_idsi;
   
    SELECT o.adi, o.soyadi, od.not
    FROM ogrenci o
    JOIN ogrenci_ders od ON o.ono=od.ono
    WHERE od.did=ders_idsi AND od.not=yuksek_not
    UNION
    SELECT o.adi, o.soyadi, od.not
    FROM ogrenci o
    JOIN ogrenci_ders od ON o.ono=od.ono
    WHERE od.did=ders_idsi AND od.not=dusuk_not;
 
END

2- Prosedür ile enler2 bulma

BEGIN
    DECLARE yuksek_isim VARCHAR(100);
    DECLARE dusuk_isim VARCHAR(100);
    DECLARE yuksek_not FLOAT;
    DECLARE dusuk_not FLOAT;
   
    SELECT MAX(od.not) AS max_not, MIN(od.not) AS min_not
    INTO yuksek_not, dusuk_not
    FROM ogrenci o
    JOIN ogrenci_ders od ON o.ono=od.ono
    WHERE od.did=ders_idsi;
   
    SELECT o.adi, o.soyadi, od.not
    FROM ogrenci o
    JOIN ogrenci_ders od ON o.ono=od.ono
    WHERE od.did=ders_idsi AND od.not=yuksek_not
    UNION
    SELECT o.adi, o.soyadi, od.not
    FROM ogrenci o
    JOIN ogrenci_ders od ON o.ono=od.ono
    WHERE od.did=ders_idsi AND od.not=dusuk_not;

END

3-Hesaplama

BEGIN
DECLARE toplam INT DEFAULT 0;
    DECLARE i INT;
    SET i=basla;
    WHILE i<=bitis DO
    SET toplam=toplam+i;
        SET i=i+artis;
    END WHILE;
    SELECT toplam AS mesaj;
END

4- Ortalama

BEGIN
DECLARE i INT DEFAULT 0;
    DECLARE toplam FLOAT DEFAULT 0;
    DECLARE ort FLOAT;
    DECLARE notu FLOAT;
    DECLARE bulunamadi TINYINT DEFAULT FALSE;
   
    DECLARE ogrenci_dongu CURSOR FOR
    SELECT `not` FROM ogrenci_ders WHERE ono=o_no;
   
    DECLARE CONTINUE HANDLER FOR NOT FOUND
    SET bulunamadi=TRUE;
       
    OPEN ogrenci_dongu;
        WHILE bulunamadı=FALSE DO
    FETCH ogrenci_dongu INTO notu;
        SET i=i+1;
        SET toplam=+toplam+notu;
    END WHILE;
    SET ort=toplam/i;
    SELECT ort as mesaj;
 
END

5- yerleştir

BEGIN
DECLARE adayId INT;
    DECLARE programId INT;
    DECLARE kontenjanToplam INT;
    DECLARE kontenjanYerlesen INT;
    DECLARE bulunamadi TINYINT DEFAULT FALSE;
    DECLARE bulunamadiTercih TINYINT DEFAULT FALSE;
   
   
    DECLARE aday_cursor CURSOR FOR SELECT id
    FROM osym_aday ORDER BY puan DESC;
   
    DECLARE CONTINUE HANDLER FOR NOT FOUND
    SET bulunamadi = TRUE;
       
    DELETE FROM osym_yerlestir WHERE 1;
   
    OPEN aday_cursor;
    WHILE bulunamadi=FALSE DO
    FETCH aday_cursor INTO adayId;
       
        SET bulunamadiTercih=FALSE;
        blok2: BEGIN
    DECLARE tercih_cursor CURSOR FOR SELECT program_id
        FROM osym_tercih
        WHERE aday_id=adayId ORDER BY sira;
       
            DECLARE CONTINUE HANDLER FOR NOT FOUND
    SET bulunamadiTercih = TRUE;
            OPEN tercih_cursor;
            WHILE bulunamadiTercih=FALSE DO
            FETCH tercih_cursor INTO programId;
               
                SELECT kontenjan INTO kontenjanToplam FROM osym_program
                WHERE id=programId;
                   
                SELECT COUNT(*) INTO kontenjanYerlesen FROM osym_yerlestir
                WHERE program_id=programId;
               
                IF kontenjanYerlesen<kontenjanToplam THEN
                INSERT INTO osym_yerlestir (aday_id, program_id)
                    VALUES(adayId,programId);
                    CLOSE tercih_cursor;
                    LEAVE blok2;
                END IF;
            END WHILE;
            CLOSE tercih_cursor;
        END blok2;
       
    END WHILE;
    CLOSE aday_cursor;
   
END

Alt sorgu

select *
from ogrenci o
where ono IN(select DISTINCT ono
                       from ogrenci_ders od
                       inner join ders d on od.did=d.did
                       where `not` between 2 and 3.5)

30 Mart 2017 Perşembe

Örnekler

1) Tarih class ında Aşırı yükleme



1) Zaman class ında Aşırı yükleme


28 Şubat 2017 Salı

örnek

STRİNG ÖRNEKLER


1) 20 elemanlı bir char dizisine sahip,constructor da dizinin elemanlarına ilk değerini veren, harf ekle fonksiyonu ile diziye harf ekleyen ve yaz fonksiyonu ile harfleri ekrana yazdıran kod.



2) Constructor hafızada belirtilen kadar yer açacak,harf ekle fonksiyonu ile char dizisine harf ekleyecek,yaz fonksiyonu ile de ekrana yazdıran ve desctructor ile de yeri iade edecek kod.


21 Şubat 2017 Salı

Örnekler

ÖRNEKLER

1- KDV’yi 0.18 sabit olarak tanımladıktan sonra 500 TL için ödenecek KDV miktarı


2- Adınızı ve yaşınızı ilk değer olarak uygun tiple tanımlanmış değişkenlere atayan kod


3- #define kullanarak verilen iki sayidan büyügünü bulan makro



4- i degiskeni için 1 - 10 arası döngüyü  #define kullanarak kısaltma 


5- << cout>> komutunu <<yaz>>  olacak sekilde degistiren kod 


18 Şubat 2017 Cumartesi

Class

CLASS DEFINITION

Bir programda sınıf(class) yapmak istiyorsak aşağıdaki gibi bir yapıda olmak zorundadır.
 Kısaca aşağıdaki yapıyı inceleyelim:
class name
 {
   public
        >> constructor(s)
        >> destructo
        >> function members 
        >> data members 
   protected
        >> function members
        >> data members 
   private 
        >> function members
        >> data members
 }

Public
          Foknsiyona sınıf içinden ve sınıf dışından erişime izin verir.Ayrıca Kalıtım ile aktarılır.

constructor(s): Oluşturulan nesneyi ilk kullanıma hazırlamasıdır. C# da tüm sınıflar (class)     tanımlansın ya da tanımlanmasın değer tiplerine sıfır, referans tiplerine "null" değerini atayan varsayılan bir  yapılandırıcı vardır. Yapılandırıcısı tanımlandıktan sonra varsayılan yapılandırıcı bir daha kullanılmaz. Yapılandırıcıların bilinen temel özellikleri:
·         Kendi sınıfı ile aynı isme sahip olması,
·         Genellikle açık bir dönüş tipi olmaması,
·         Başka sınıflar tarafından kullanılabilmesi için erişimin public (aleni) olmasıdır.

Destructr: Constructor fonksiyonunun yaptıgı işin tersini yaparlar,yani gorevi biten nesneyi yok ederler.Bir sınıfın(class) uyesi olan bir degisken(orn:string tipli) gorevini noktaladigi durumda ~destructor() fonksiyonu otomatik cagrilarak,uzerinde calistigi nesneyi devre dışı bırakır.C++ programlama dili icerisinde destructor'lar bulunurken,java dilinde bu fonksiyonlar kaldırılmıştır.Nedeni ise,programlama zafiyeti acısından eger iyi tasarlanmazsa,bu fonksiyonlar programa ciddi zararlar verebilirler.

function members: Bir nesne dahili olarak saklanan ve o nesneye özgü işlevler içerebilir. Bu tür her bir işlev , sınıfta bir prototip olarak uygun bir deklarasyona ihtiyaç duyar.İşlev üyeleri sıradan işlev olabilir, ancak aşırı yüklenebilir , varsayılan parametre değerlerine sahip olabilirler veya sanal olabilirler.

Private
Bu erişim belirteci işaretlenen öğeye sadece sınıfın içinden erişilebileceği anlamına gelir.Ve bu öğeler kalıtım yoluyla aktarılmaz.

Protected

Bu erişim belirteci işaratelenen ögeye sadece sınıfın içinden erişilebileceği fakat alt sınıflara aktarılabileceği anlamına gelmektedir.

Yazılım Kavramları

Complier:
Türkçe karşılığı "derleyici" anlamına gelmektedir. Bir dilde kullanıcı tarafından girilen kodu  istenilen başka bir kod haline dönüştüren program olarak tanımlanır. Daha üst seviye bir dilden daha alt seviyeli bir dile tercüme olarak ta kabul edilebilir.

Debugger:
Türkçe karşılığı "ayıklayıcı" anlamına gelmektedir. Debugger hata ayıklayıcı demektir. Ayıklayıcı, programın arka planında çalışarak yazılan kodlar arasındaki hataları bulmaya çalışır.

Linker:
Türkçe karşılığı “bağlayıcı” anlamına gelmektedir. Bir derleyicitarafından üretilmiş olan kodları bağlayarak işletim sisteminin çalıştırabileceği tek bir kod üretir. Kodun birden fazla parçaya bölünmesi ve her parçanın ayrı ayrı üretilmesi durumunda bu parçaların birleştirilmesi ve tek bir program halinde üretilmesinden sorumlu olan programlara bağlayıcı adı verilmektedir.

GUI:
GUI “Graphical User Interface” kelimelerinin başharflerinden oluşur. Türkçe karşılığı “grafiksel kullanıcı arayüzü” anlamıdadır. Bilgisayar kullanıcılarının kodları ezberlemeden fare, klavye gibi araçlar sayesinde bilgisayarları kontrol etmelerini sağlar. Bilgisayarda programların ve dosyaların simgeler, menüler, seçenek tabloları halinde sunulduğu düzendir. Bu sayede kullanıcı, herhangi bir komut dilini öğrenmeden simgeleri tıklayıp komutları yürürlüğe koyabilir.

GNU:
Açılımı, 'GNU is not unix' tir. Yani GNU, 'GNU, unix değildir' anlamına gelmekte olan özyinelemeli (rekürsif) bir kelimedir.Özgür yazılımların meydana getirdiği bir işletim sistemi ve işletim sistemine ait araçların geliştirilme çalışmasıdır. 

GPL:
GPL “General Public Licence” kelimelerinin baş harflerinden oluşup  “genel kamu lisans” anlamına gelmektedir. Birçok yerde kullanılan ücretsiz yazılım lisansıdır. GPL yazılımların kaynak kodu ile birlikte dağıtılmasının gerekliliğini vurgular. Kullanıcı, GPL ile bu kaynak kodu alıp inceleyebilir, üzerinde istediği değişikliği yapabilir, kendi projelerinde, yazılımlarında kodun tamamını ya da bir parçasını kullanabilir. Hatta başkasının kod parçasını alıp birkaç değişiklik yapıp, satarak maddi kazanç da elde edebilir ayrıcaGPL yazılımların çok büyük bir kısmı ücretsizdir.

Open Source:

Açık kaynak yazılım, açık kaynaklı yazılım veya kaynağı açık yazılım, kaynak kodu isteyen herkese açık olan yazılımlardır. Kaynak kodlarına herkesin erişebildiği yazılımlara açık kaynak kodlu yazılımlar denir. Bu tür yazılımların ayırt edici özelliği kullanıcıya yazılımı değiştirme özgürlüğü sağlamasıdır. Açık kaynak kodlu yazılımlar, uyarlanabilir, sağlam, hızlı ve güvenlidir ayrıca kodlara herkesin erişebilmesi yazılımın geliştirilme aşamasında büyük kolaylık sağlar. Aynı zamanda herkes kodları gördüğü için programda oluşan bir hataya direk müdahale edilir. Açık kaynak yazılımlar ücretsizdir ve açık kaynak yazılımlar daha fazla geliştirici olduğundan diğer yazılımlara göre daha hızlı geliştirilir.

IDE

IDE NEDİR

     IDE (Integrated Development Environment), yazılımcının hızlı ve rahat bir şekilde program geliştirebilmesini amaçlayan, geliştirme sürecini organize edebilen birçok araç ile birlikte bu sürecin verimli kullanılmasına katkıda bulunan araçların tamamını içerisinde barındıran bir yazılım türüdür. Tümleşik geliştirme ortamlarında olması gerekli en temel özellikleri aşağıdaki gibidir:
  • Programlama diline göre sözdizimi renklendirmesi yapabilen bir kod yazım editörü.
  • Kod dosyalarının hiyerarşik olarak görülebilmesi için hazırlanmış gerçek zamanlı bir dizelge.
  • Tümleşik bir derleyici, yorumlayıcı ve hata ayıklayıcı.
  • Yazılımın derlenmesi, bağlanması, çalışmaya tümüyle hazır hale gelmesi ve daha birçok ek işi otomatik olarak yapabilmek amacıyla küçük inşa araçları.

 C++ İçin Kullanılabilecek IDE ' ler Hangileridir


  •      Visual C++
  •      Dev C++ IDE
  •      C++ Builder
  •      Turbo C++ 
  •      Borland C++
  •      CodeBlocks