Podcast
Questions and Answers
Aşağıdakilerden hangisi iyi bir programın özelliklerinden biri değildir?
Aşağıdakilerden hangisi iyi bir programın özelliklerinden biri değildir?
- Verimlilik (Efficiency)
- Karmaşıklık (Complexity) (correct)
- Güvenilirlik (Robustness)
- Doğruluk (Correctness)
Bir programın beklenmedik durumlarda çalışmaya devam edebilmesi hangi özellik ile ilgilidir?
Bir programın beklenmedik durumlarda çalışmaya devam edebilmesi hangi özellik ile ilgilidir?
- Uygunluk (Compatibility)
- Taşınabilirlik (Portability)
- Genişleyebilme (Extendibility)
- Güvenilirlik (Robustness) (correct)
Bir yazılımın farklı bilgisayar sistemlerinde aynı şekilde çalışabilmesi hangi özellik ile ilgilidir?
Bir yazılımın farklı bilgisayar sistemlerinde aynı şekilde çalışabilmesi hangi özellik ile ilgilidir?
- Uygunluk (Compatibility) (correct)
- Taşınabilirlik (Portability)
- Tekrar Kullanım (Reusability)
- Genişleyebilme (Extendibility)
Bir yazılım ürününün geliştirildiği ortamdan farklı bir ortama taşınarak çalıştırılabilmesi hangi özellik ile tanımlanır?
Bir yazılım ürününün geliştirildiği ortamdan farklı bir ortama taşınarak çalıştırılabilmesi hangi özellik ile tanımlanır?
Bir yazılımın hatalı durumlarla karşılaştığında kullanıcıya yeterli bilgi verebilmesi hangi özellik ile ilgilidir?
Bir yazılımın hatalı durumlarla karşılaştığında kullanıcıya yeterli bilgi verebilmesi hangi özellik ile ilgilidir?
Aşağıdakilerden hangisi düşük seviyeli bir programlama dilidir?
Aşağıdakilerden hangisi düşük seviyeli bir programlama dilidir?
Aşağıdakilerden hangisi Assembler dilinin özelliğidir?
Aşağıdakilerden hangisi Assembler dilinin özelliğidir?
Aşağıdakilerden hangisi yüksek seviyeli bir programlama dilinin özelliğidir?
Aşağıdakilerden hangisi yüksek seviyeli bir programlama dilinin özelliğidir?
C++ hangi programlama dilinden geliştirilmiştir?
C++ hangi programlama dilinden geliştirilmiştir?
Aşağıdakilerden hangisi C++'ın temel yapı taşlarından biridir?
Aşağıdakilerden hangisi C++'ın temel yapı taşlarından biridir?
Bir C++ programının derlenmesi hangi aşamada gerçekleşir?
Bir C++ programının derlenmesi hangi aşamada gerçekleşir?
C++'da 'output stream' nesnesi olarak bilinen ve ekrana çıktı vermek için kullanılan ifade hangisidir?
C++'da 'output stream' nesnesi olarak bilinen ve ekrana çıktı vermek için kullanılan ifade hangisidir?
C++'da yeni bir satır oluşturmak için kullanılan 'escape' karakteri hangisidir?
C++'da yeni bir satır oluşturmak için kullanılan 'escape' karakteri hangisidir?
C++'da 'x'in 'y'den büyük veya eşit olduğunu ifade eden karşılaştırma operatörü hangisidir?
C++'da 'x'in 'y'den büyük veya eşit olduğunu ifade eden karşılaştırma operatörü hangisidir?
Nesne Yönelimli Programlama (OOP) neyi sağlar?
Nesne Yönelimli Programlama (OOP) neyi sağlar?
Aşağıdakilerden hangisi bir nesnenin özelliği değildir?
Aşağıdakilerden hangisi bir nesnenin özelliği değildir?
Nesnelerin özelliklerini ve işlevlerini bir arada bulundurma ve dışarıdan erişimi sınırlandırma işlemine ne ad verilir?
Nesnelerin özelliklerini ve işlevlerini bir arada bulundurma ve dışarıdan erişimi sınırlandırma işlemine ne ad verilir?
Bir nesnenin nasıl kullanılacağını belirtmeye, ancak iç işleyişini gizlemeye ne ad verilir?
Bir nesnenin nasıl kullanılacağını belirtmeye, ancak iç işleyişini gizlemeye ne ad verilir?
Mevcut bir sınıftan yeni sınıflar türetme işlemine ne ad verilir?
Mevcut bir sınıftan yeni sınıflar türetme işlemine ne ad verilir?
Aşağıdakilerden hangisi yapısal programlamanın temel özelliklerinden biridir?
Aşağıdakilerden hangisi yapısal programlamanın temel özelliklerinden biridir?
Nesne Yönelimli Programlamada (OOP) veri ve fonksiyonlar nerede saklanır?
Nesne Yönelimli Programlamada (OOP) veri ve fonksiyonlar nerede saklanır?
Struct
yapısı ne işe yarar?
Struct
yapısı ne işe yarar?
Aşağıdaki ifadelerden hangisi struct
yapısı için yanlıştır?
Aşağıdaki ifadelerden hangisi struct
yapısı için yanlıştır?
Time timeObject;
ifadesi ile Time
isminde bir struct
oluşturulduktan sonra bu struct
ın hour
isimli değişkenine nasıl erişilir?
Time timeObject;
ifadesi ile Time
isminde bir struct
oluşturulduktan sonra bu struct
ın hour
isimli değişkenine nasıl erişilir?
Aşağıdakilerden hangisi doğrudur?
Aşağıdakilerden hangisi doğrudur?
Sınıfların üyelerine erişim kısıtlamaları ile ilgili olarak public
tanımlayıcısı ne anlama gelir?
Sınıfların üyelerine erişim kısıtlamaları ile ilgili olarak public
tanımlayıcısı ne anlama gelir?
Sınıfların üyelerine erişim kısıtlamaları ile ilgili olarak private
tanımlayıcısı ne anlama gelir?
Sınıfların üyelerine erişim kısıtlamaları ile ilgili olarak private
tanımlayıcısı ne anlama gelir?
Constructor (Yapıcı)
nedir?
Constructor (Yapıcı)
nedir?
C++'da bir sınıfın constructor
fonksiyonu ile ilgili aşağıdakilerden hangisi doğrudur?
C++'da bir sınıfın constructor
fonksiyonu ile ilgili aşağıdakilerden hangisi doğrudur?
C++'da sınıfın üye fonksiyonlarına erişmek için kullanılan operatör hangisidir?
C++'da sınıfın üye fonksiyonlarına erişmek için kullanılan operatör hangisidir?
C++'da 'Class scope - Sınıf alanı' neyi ifade eder?
C++'da 'Class scope - Sınıf alanı' neyi ifade eder?
C++'da 'File scope - Dosya alanı' neyi ifade eder?
C++'da 'File scope - Dosya alanı' neyi ifade eder?
C++'da bir üye fonksiyon içinde tanımlanan değişkenler nerede bilinirler?
C++'da bir üye fonksiyon içinde tanımlanan değişkenler nerede bilinirler?
Aşağıdakilerden hangisi bir 'header file (başlık dosyası)'nın temel amacıdır?
Aşağıdakilerden hangisi bir 'header file (başlık dosyası)'nın temel amacıdır?
C++'da bir sınıfa ait özel (private) bir değişkene doğrudan erişmeye çalışmak hangi hataya neden olur?
C++'da bir sınıfa ait özel (private) bir değişkene doğrudan erişmeye çalışmak hangi hataya neden olur?
C++'da 'Hizmet fonksiyonları' ne işe yarar?
C++'da 'Hizmet fonksiyonları' ne işe yarar?
C++'da 'Erişim fonksiyonları' ne işe yarar?
C++'da 'Erişim fonksiyonları' ne işe yarar?
Aşağıdakilerden hangisi C++'da bir sınıfın constructor
'ının doğru kullanımına bir örnektir?
Aşağıdakilerden hangisi C++'da bir sınıfın constructor
'ının doğru kullanımına bir örnektir?
C++'da Destructor
fonksiyonları ne zaman çağrılır?
C++'da Destructor
fonksiyonları ne zaman çağrılır?
Flashcards
Doğruluk (Correctness) nedir?
Doğruluk (Correctness) nedir?
Verilen görevin tam olarak yerine getirilmesidir. Yazılımdan beklenenlerin belirtilmesi gerekir.
Güvenilirlik (Robustness) nedir?
Güvenilirlik (Robustness) nedir?
Beklenmedik nedenlerden dolayı programın çalışmasının kesilmemesi, yanlış işlemler yapmamasıdır.
Genişleyebilme (Extendibility) nedir?
Genişleyebilme (Extendibility) nedir?
İleri aşamalarda verilen görevlerin değiştirilmesi veya yenilerinin ilave edilmesi kolay olmalıdır.
Tekrar kullanım (Reusability) nedir?
Tekrar kullanım (Reusability) nedir?
Signup and view all the flashcards
Uygunluk (Compatibility) nedir?
Uygunluk (Compatibility) nedir?
Signup and view all the flashcards
Kaynakların kullanımı (Efficiency) nedir?
Kaynakların kullanımı (Efficiency) nedir?
Signup and view all the flashcards
Taşınabilirlik (Portability) nedir?
Taşınabilirlik (Portability) nedir?
Signup and view all the flashcards
Kaynak uyumlu (Source Compatable) nedir?
Kaynak uyumlu (Source Compatable) nedir?
Signup and view all the flashcards
İkili kod uyumlu (Binary Compatable) nedir?
İkili kod uyumlu (Binary Compatable) nedir?
Signup and view all the flashcards
Kontrol edilebilirlik (Verifiability) nedir?
Kontrol edilebilirlik (Verifiability) nedir?
Signup and view all the flashcards
Bütünlük (Integrity) nedir?
Bütünlük (Integrity) nedir?
Signup and view all the flashcards
Kolay kullananım (Easy use) nedir?
Kolay kullananım (Easy use) nedir?
Signup and view all the flashcards
Beraber çalışma (Interoperability) nedir?
Beraber çalışma (Interoperability) nedir?
Signup and view all the flashcards
Makine Dili nedir?
Makine Dili nedir?
Signup and view all the flashcards
Assembler nedir?
Assembler nedir?
Signup and view all the flashcards
Yüksek Seviyeli Diller nedir?
Yüksek Seviyeli Diller nedir?
Signup and view all the flashcards
C++ hangi dilden geliştirilmiştir?
C++ hangi dilden geliştirilmiştir?
Signup and view all the flashcards
ANSI C nedir?
ANSI C nedir?
Signup and view all the flashcards
C++'ın C'ye getirdiği en büyük yenilik nedir?
C++'ın C'ye getirdiği en büyük yenilik nedir?
Signup and view all the flashcards
C++ programları nelerden oluşur?
C++ programları nelerden oluşur?
Signup and view all the flashcards
C++'ın avantajları nelerdir?
C++'ın avantajları nelerdir?
Signup and view all the flashcards
// nedir?
// nedir?
Signup and view all the flashcards
#include nedir?
#include nedir?
Signup and view all the flashcards
int main() nedir?
int main() nedir?
Signup and view all the flashcards
std::cout nedir?
std::cout nedir?
Signup and view all the flashcards
return 0; nedir?
return 0; nedir?
Signup and view all the flashcards
std::cout ne işe yarar?
std::cout ne işe yarar?
Signup and view all the flashcards
\n nedir?
\n nedir?
Signup and view all the flashcards
Karşılaştırma Operatörleri nelerdir?
Karşılaştırma Operatörleri nelerdir?
Signup and view all the flashcards
Nesne Yönelimli Programlama (OOP) nedir?
Nesne Yönelimli Programlama (OOP) nedir?
Signup and view all the flashcards
Nesne nedir?
Nesne nedir?
Signup and view all the flashcards
Paketleme(Encapsulation) nedir?
Paketleme(Encapsulation) nedir?
Signup and view all the flashcards
Soyutlama (Abstraction) nedir?
Soyutlama (Abstraction) nedir?
Signup and view all the flashcards
Kalıtım (Inheritance) nedir?
Kalıtım (Inheritance) nedir?
Signup and view all the flashcards
Çoklubenzeşim (Polymorphism) nedir?
Çoklubenzeşim (Polymorphism) nedir?
Signup and view all the flashcards
Struct nedir?
Struct nedir?
Signup and view all the flashcards
Constructor nedir?
Constructor nedir?
Signup and view all the flashcards
Erişim belirleyiciler nelerdir?
Erişim belirleyiciler nelerdir?
Signup and view all the flashcards
Kurucu fonksiyon (Constructor) ne işe yarar?
Kurucu fonksiyon (Constructor) ne işe yarar?
Signup and view all the flashcards
Nesnelerde Bilgi Gizleme nedir?
Nesnelerde Bilgi Gizleme nedir?
Signup and view all the flashcards
Destructor nedir?
Destructor nedir?
Signup and view all the flashcards
Study Notes
İyi Bir Programın Özellikleri
- Doğruluk (Correctness); Verilen görevin tam olarak yerine getirilmesi amaçlanır.
- Bir yazılımı yazmaya başlamadan önce, yazılımdan beklenenlerin belirtilmesi gerekir.
- Yazılım ortaya çıktıktan sonra belirlenen özelliklerin tam olarak sağlanması önemlidir.
- Güvenilirlik (Robustness); Programın beklenmedik durumlarda çalışmasının kesilmemesi ve hatalı işlemler yapmamasıdır.
- Programcı hataları nedeniyle kesintiye uğramaması için önlem alınmalıdır.
İyi Bir Programın Diğer Özellikleri
- Genişleyebilme (Extendibility); İleri aşamalarda görevlerin değiştirilmesi veya yenilerinin eklenmesi kolay olmalıdır.
- Basit tasarımlarla karmaşık yapılardan kaçınılmalıdır.
- Tekrar Kullanım (Reusability); Tasarımın program içinde veya farklı programlarda kullanılabilmesidir.
- Örneğin, bir projede kullanılan modüllerin yeni projelerde tekrar kullanılabilmesi gerekir.
Uygunluk, Kaynak Kullanımı ve Taşınabilirlik
- Uygunluk (Compatibility); Farklı bilgisayar sistemlerinde aynı ortak özelliklere sahip olunması hedeflenir.
- Veri dosyası formatı, veri yapıları ve kullanıcı arayüzü uyumluluğu önemlidir.
- Kaynakların Kullanımı (Efficiency); Bilgisayarın sahip olduğu tüm ekipmanların en iyi şekilde kullanılmasıdır.
- Ekipmanların eksik kullanılmaması ve diğer programların kullanımına engel olunmaması gerekir.
- Taşınabilirlik (Portability); Yazılımın farklı bilgisayar ortamlarına taşınarak çalıştırılabilmesidir.
- Kaynak uyumlu (Source Compatable) programların, yazıldığı sistemden farklı bir sistemde tekrar derlenerek çalıştırılabilmesi desteklenir.
- İkili kod uyumlu (Binary Compatable) programların executable dosyalarının farklı bir ortama taşınarak çalıştırılabilmesi hedeflenir.
- Kaynak kodunun taşınabilirliği yazılım geliştirme açısından önemlidir.
Kontrol Edilebilirlik, Bütünlük, Kullanım ve Çalışma
- Kontrol Edilebilirlik (Verifiability); Hatalı durumlarda kullanıcıya ve programcıya hatanın nedenini açıklayan yeterli bilgi verilmelidir.
- Bütünlük (Integrity); Yazılım birleşenlerinin (program, veri, dokümantasyon) istenmeyen erişimlere karşı korunmasıdır.
- Veri veya index dosyalarının programın bilgisi dışında kaybolması durumunda programın bunu tespit edip rapor etmesi verilebilir.
- Kolay Kullanım (Easy use); Yazılımı kullanan kişinin ürünü kolayca öğrenip sorunsuz kullanabilmesi, sonuçları yorumlayabilmesi beklenir.
- Birlikte Çalışma (Interoperability); Yazılımın ihtiyaç duyduğu diğer yazılımları çağırabilmesi ve veri alışverişinde bulunabilmesidir.
Programlama Dilleri
- Makine Dili; Tüm komutlar sayılarla ifade edilir.
- Örnek sayılar: +1300042774, +1400593419, +1200274027.
- Assembler; Temel bilgisayar işlemleri kısaltmalarla ifade edilir.
- Örnek kısaltmalar: LOAD BASEPAY, ADD OVERPAY, STORE GROSSPAY.
- Yüksek Seviyeli Diller; Komutlar konuşma diline yakındır ve matematiksel notasyon kullanılır.
- Örneğin: grossPay = basePay + overTimePay.
C++'ın Gelişimi ve Özellikleri
- C++, C dilinden geliştirilmiştir.
- ANSI C, C dili için kabul edilen bir standarttır.
- C++, C diline Nesneye Yönelik Programlama (OOP) yetenekleri eklemiştir.
- OOP sayesinde daha anlaşılır ve düzeltilebilir programlar yazılabilir.
C++ Tarihçesi
- 1979 (Mayıs): C with Classes ile ilgili çalışmalara başlandı.
- 1979 (Ekim): İlk "C with Classes" derleyicisi yazıldı.
- 1983 (Ağustos): İlk C++ derleyicisi oluşturuldu.
- 1983 (Aralık): Dilin adı C++ olarak belirlendi.
- 1989: ANSI X3J16 komitesi (daha sonra J16 ismini aldı) kuruldu.
- 1994: ANSI/ISO standart taslağı hazırlandı.
- 1996: İkinci standart taslağı ANSI/ISO tarafından onaylandı.
- 1998: ISO C++ dil standartları kabul edildi.
C++'ın Yapısı
- C++ programları, class (sınıf) ve function (fonksiyon) olarak adlandırılan parçalardan oluşur.
- C++ Standart Kütüphanesi, programcılar için zengin bir sınıf ve fonksiyon koleksiyonu sunar.
Yazılım Geliştirme Aşamaları
- Yazım: Kaynak kodunun yazıldığı aşamadır.
- Önişleme: Kaynak kodundaki önişlemci direktiflerinin işlendiği aşamadır.
- Derleme: Kaynak kodun makine koduna çevrildiği aşamadır.
- Bağlama: Derlenmiş kodun kütüphanelerle birleştirildiği aşamadır.
- Yükleme: Programın belleğe yüklendiği aşamadır.
- Çalıştırma: Programın yürütüldüğü aşamadır.
C++'a Giriş
- C ve C++ platformları arasında taşınabilir kodlar üretilebilir.
- C++, nesne yönelimli programlamanın yanı sıra yapısal ve disiplinli programlama özelliklerini de destekler.
C++ Programının Anatomisi
- Yorum Satırları: Programın anlaşılması için açıklama eklenmesini sağlar.
- Önişlemci direktifi #include : Başlık dosyalarını (header) programa dahil eder.
- Fonksiyon bildirimi: Gerekli fonksiyonların tanımlandığı bölümdür, özellikle main() fonksiyonu önemlidir.
- main() fonksiyonu: Programın başlangıç noktasıdır.
- Komutlar: Programın işlevlerini yerine getiren ifadelerdir.
- return 0; : Fonksiyondan çıkışı ve programın başarıyla tamamlandığını belirtir.
C++'da Ekrana Yazı Yazdırmak
- std::cout standart çıktı akış nesnesidir ve ekrana çıktı vermek için kullanılır.
- std:: namespace'ini belirtir; eğer "using" kullanılırsa bu belirtmeye gerek kalmaz.
- << operatörü, sağındaki değeri çıktı akışına gönderir.
- std::cout << "Welcome to C++!\n"; ifadesi "Welcome to C++!" metnini ekrana yazdırır.
- '' karakteri, özel karakterleri yazdırmak için kullanılır.
- \n yeni bir satır açar ve imleci yeni satırın başına taşır.
- Çok satırlı çıktı tek bir komutla üretilebilir.
Karşılaştırma Operatörleri
>
büyüktür<
küçüktür>=
büyük veya eşittir<=
küçük veya eşittir==
eşittir- !
=
eşit değildir.
Nesne Yönelimli Programlama (OOP)
- OOP, dünyayı daha doğal bir şekilde modelleyerek programlama yapmayı sağlar.
- OOP teknikleri kullanılarak geliştirilen programlar daha güvenilir, dayanıklı ve kolay geliştirilebilir.
- Nesne, belirli bir görevi yerine getirebilecek altyapıyı hazırlayan ve çeşitli fonksiyonlar içeren bir yapıdır.
Nesne Kavramı
- Nesneler, gerçek dünyadaki nesnelere benzeyen tekrar kullanılabilir yazılım parçalarıdır.
- Bağımsız anlamları vardır (örneğin, zaman, ses, video nesnesi).
- Nesneler, daha anlaşılır ve kolay değiştirilebilir yapılar sunar.
- Nesneler, belirli işlevleri yerine getiren ve çeşitli fonksiyonlar içeren yapılardır.
- Değişkenleri de içerebilirler.
- Paketleme* (Encapsulation) ve Soyutlama (Abstraction) nesnelerin temel özellikleridir.
- Paketleme, işlevini belli edecek fonksiyonları bünyesinde bulundurmasıdır.
- Soyutlama, fonksiyonların nasıl çalıştığını belirtmeden sadece nasıl kullanılacağını belirtmektir.
- Türeme (Derivation) ve Kalıtım (Inheritance) kavramları, yeni nesnelerin mevcut nesnelerden özellikler devralmasını ifade eder.
- Çoklubenzeşim (Polymorphism) farklı nesnelerin benzer özelliklere sahip olmasını ifade eder.
- Aynı isimde fakat farklı nesnelerin üyesi olan üyelerin ortaya çıkmasına neden olur.
Nesnelerin Özellikleri ve Davranışları
- Özellikler (Attributes, Properties); Nesnelerin renk, şekil, boyut, genişlik, yükseklik gibi özellikleridir.
- Davranışlar (Behaviors, Actions); Her nesnenin kendine özgü davranışlarıdır; örneğin, top yuvarlanır, ağaç yanar.
- Kalıtım (Inheritance); Yeni nesnelerin eski (parent) nesnelerin bazı özellik ve yöntemlerine sahip olmasıdır.
Nesneler Hakkında Ek Bilgiler
- Nesneler, iş görmesi için diğer nesneler hakkında bilgi bilmek zorunda değildir.
- Bilgi gizlenebilir.
- Soyutlama (Abstraction);Nesnelerin detaylara boğulmadan kullanılmasını sağlar.
- Sınıflar (Class); Nesnelerin temelini oluşturur.
Yapısal Programlama
- Yapısal programlama, anlaşılması, test edilmesi ve değiştirilmesi kolay programlar yazmayı teşvik eder.
- Programlar her zaman sadece bir giriş ve bir çıkışa sahip yapılar kullanmalıdır.
- Kurallar: en basit şema (flowchart) ile başla, herhangi bir işlem birbirini takip eden iki işlem şeklinde yazılabilir, herhangi bir işlem bir kontrol yapısı (döngü, koşul, komut bloğu vb.) ile değiştirilebilir ve bu son iki kural birçok kere tekrarlanabilir. Tüm programlar: Komut Bloğu, Koşul / Seçim (if, if/else, switch) ve Döngü (for, while, do/while) parçalarına bölünebilir.
Nesne Yönelimli Programlama (OOP)
- Veri ve fonksiyonlar Sınıf (Class) adı verilen paketlerin içine saklanır
- Class' lar mimari planlar gibidir.
- Tekrar tekrar kullanılabilirler.
- Class (plan) kullanılarak yeni nesneler (evler) oluşturulur ve planlarda değil, evlerde oturulur.
- Nesnelerin veri (attributes) ve fonksiyonları (behavior) sınıf (class) olarak adlandırılan paketler içinde korunur ve birbirleriyle ilişkilidir.
Struct Yapısı
- Diğer veri tiplerini birleştirerek yeni bir veri tipi oluşturur.
- Struct içindeki her üyenin adı farklı olmalıdır.
- Farklı struct yapıları aynı üyelere sahip olabilir.
- Struct tanımı mutlaka ';' ile bitirilir.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.