-
CPP 021 – Scope & Local/Global Variables
Scope Belli bir alan, gövde, kapsam olarak düşünebiliriz. { ile başlar } ile biter. Bir scope içinde olan o scope içinde kalır. Aslında bunu tarlaları çevreleyen çit olarak, ülkelerin sınırı olarak da düşünebilirsiniz. int main(){ /* buralar hep çimendi */ } Local/Global Variables Bir değişken bir fonksiyonun daha doğrusu scope’un içinde olduğunda o scope a…
-
CPP 020 – Escape Sequence
Normal karakterlerle ifade edemediğimiz satır atlama, boşluk bırakma gibi şeyleri ifade edebilmek için escape sequence kullanıyoruz. Buna ek olarak “tırnak içinde \” tırnak yazabilmek gibi şeyler için de kullanıyoruz.” Örnek: Zil çalan daha eğlenceli şeyler de mevcut: Simple escape sequences\’single quotebyte 0x27 in ASCII encoding\”double quotebyte 0x22 in ASCII encoding\?question markbyte 0x3f in ASCII encoding\\backslashbyte 0x5c in ASCII encoding\aaudible bellbyte 0x07 in ASCII encoding\bbackspacebyte 0x08 in ASCII…
-
CPP 019 – Whitespace
Boşluk, satır atlama vb şeylere whitespace diyoruz. C++ için ne kadar white space kullandığınızın bir önemi yoktur. İsterseniz bir isterseniz on boşluk bırakın. Önemli olan şey: sıralamasının doğru bir şekilde olması. Örnek: Yukarıdaki kodla aşağıdaki kodun compiler açısından hiçbir farkı yoktur.
-
CPP 018 – Fonksiyonlara Giriş
Şuana kadar tüm kodlarımızı main fonksiyonuna yazdık. Diğer fonksiyonlar da aslında aynı mantıkla çalışıyor. Öncelikle fonksiyonumuzu tanımlıyoruz sonra çağırıyoruz. Fonksiyonumuz yapısına bakarsak Aslında biz bunu daha önce görmüştük: şimdi fonksiyona bir değişken atalım. & operatörü ile bir değişkenin adresini yazabiliriz. Burada main fonksiyonun içindeki a değişkeniyle merhaba fonksiyonunun içindeki a değişkeni aslında farklı değişkenlerdir ve…
-
CPP 017 – Switch Case
Önünüzde kapılar, elinizde bir anahtar tek tek deniyorsunuz. Eğer anahtar kapıyı açarsa ne âlâ, açılmazsa yolunuza devam ediyorsunuz. İşte switch case de tam olarak bu mantıkla çalışır. break ifadeleri switch’den çıkmamızı sağlar. flowchart’a bakarsak: Örnek Hangi ay? Verilen sayıya göre yılın hangi ayına karşılık geldiğini söyleyen bir program yazınız: Menu 4 işlem için bir switch-case’i…
-
CPP 016 – Değişkenler
Programı ve verileri bellekte 0 ve 1’ler halinde tutuyoruz. Bu 0 ve 1 leri kullanabilmek için öncelikle onlara bir anlam yüklemeliyiz, onları tanımlamalı, isimlendirmeliyiz. İşte değişkenler tam da bu işe yarıyor. Biraz bellek hakkında konuşalım. Bellek tek sütundan oluşan upuzun bir tablodur. Her satırında 1 byte’lık veri vardır. 1 byte1 byte1 byte1 byte…1 byte1 byte…
-
CPP 014 – For Döngüsü
While döngüsünün daha kompakt hali 3 farklı işi tek seferde daha düzen yapıyoruz. for(int i = 0; i<10; i++) Daha önceki derste tek sayıları yazdıran kodu inceliyelim Aynı kodu for döngüsü ile yazsaydık: Gördüğünüz üzere daha sade ve anlaşılır bir biçime dönüştü.
-
CPP 013 – Break & Continue
Kimi zaman döngülerden ansızın çıkmamız gerekebilir ya da bir döngü adımını (iterasyon) atlayıp ötekine geçmemiz lazım olur. Bu durumlarda break veya continue ifadelerini kullanıyoruz. Yukarıdaki while döngüsü 1 kere çalışıp sonlanacaktır. Tabi biz genelde break ifadesini bu şekilde kullanmıyoruz. Genelde if ifadesinin içinde kullanırız. İstediğimiz koşul gerçekleştiğinde döngüden çıkar. continue ise döngüden tamamen çıkmak yerine…
-
CPP 012 – While Döngüsü
Devamlı tekrar edecek işleri yapmak için while döngüsü kullanıyoruz. Örneğin oyunu açtınız. Her saniye ekrana 60+ kez görüntü basıyor. Bu bir döngüdür. Aynı işi tekrar tekrar oyun yapıyor ta ki oyun kapanana kadar. Cpp de 4-5 tane döngümüz var Aslında temelde 2 tane Biz bu dersimizde while döngüsüne bakacağız While En sade döngümüz bu. Bir…
-
CPP 011 – Harvard & Von Neumann Mimarisi
İlk derslerimizde verinin ve program kodunun bellekte tutulduğunu söylemiştik. Bunun için iki farklı yaklaşım var. Genel kültür olarak bilmekte fayda var.
-
CPP 010 – if else else if ?
Daha önceki derslerimizde if ve else ifadelerini bol miktarda kullanmıştık. Bu ifadeler ne yapıyordu? Programın akışını değiştirerek farklı kodlara yönelmesini sağlıyordu. Peki else eklersek programımız nasıl bir davranış gösterir if ve else ye ek olarak else if ‘imiz var. Ne işe yarıyor bu else if ? Bir örnekle anatalım: Karne notlarını harf notlarına çeviren bir…
-
DS 003 – Array ADT
Default array’lerin bize sunduğu kullanışlılık gayet sınırlıdır. Bu sebeple default array’i kullanarak bize daha fazla seçenek ve kullanım kolaylığı sağlayan bir sınıf oluşturuyoruz. C++ ‘da bu iş için std::vector ve std::array bulunmakta. Aşağı yukarı şu şekilde bir sınıf. Tabi isteğe bağlı olarak daha fazla fonksiyonellik eklenip çıkarılabilir. İsimler değişik olabilir. Not: tüm fonksiyonları test etmedim.
-
DS 002 – Array
Array’ler bellekte ardışık bir şekilde tutulan dizinle/indeksle erişilebilen bir veri yapısıdır. 2D array indeksinin formülü: 3 veya daha yüksek boyutlu arrayler için de benzer kurallar geçerlidir. Çok boyutlu array’lerde satır veya sütun öncelikli dizilim olabilir. Bu durum array üzerindeki elemanların erişim hızlarını değiştirir. Farklı işler için farklı dizilimler daha iyidir fakat bu genelde dil seviyesinde…
-
DS 001 – Recursion
Kendi kendini çağıran fonksiyonlara recursive fonksiyonlar diyoruz. Bazı problemlerin daha kolay çözülebilmesi için faydalıdır. Tipleri Örnekler Fibonacci Power Bir sayının üstü, kuvveti: Alternatif method Seri
-
DS 000 – Giriş
Veri yapıları, verinin bellekte nasıl temsil edileceğiyle ilgili bir derstir. Derste anlatılan içeriğin büyük çoğunluğu günlük kullanımda pek de bir işimize yaramayacak. Fakat neyin ne olduğunu bilmek her zaman önemlidir. Özellikle gerçekten mühendislik yapıyorsanız.
