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)
PROGRAMLAMA DİLLERİ
21 Mayıs 2018 Pazartesi
30 Mart 2017 Perşembe
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
>> 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
Kaydol:
Yorumlar (Atom)