Diğer 10 soru

Algoritma ve Programlamaya Giriş Ünite -1 (Güz)

Kaynak: https://lolonolo.com/2025/10/26/algoritma-ve-programlamaya-giris-unite-1-guz/

📖 Konu özeti (sınav öncesi tekrar)

Algoritma ve Programlamaya Giriş Ünite -1 (Güz) : Temel Kavramlar

Algoritma Kavramı ve Özellikleri

Programlamayı öğrenmek için öncelikle algoritmanın temellerini bilmek gerekir. Algoritma, en temelde bir problemin çözümü için gerekli olan adımlar serisi veya girdiyi çıktıya dönüştüren bir dizi hesaplama adımı olarak tanımlanır. Bir algoritma, problemi adım adım ve küçük parçalara bölerek ele almayı sağlar.

İyi bir algoritmanın sahip olması gereken temel özellikler şunlardır:

Algoritma, programlama dilinin kendisi değildir; aksine, kodlama aşamasına geçmeden önce işlemlerin sırasını netleştiren bir altyapı sağlar.

Algoritma Hazırlama Yöntemleri

Algoritmalar üç farklı yöntemle ifade edilebilir:

Akış Diyagramı Elemanları

Akış diyagramları, algoritmanın adımlarını ve akış yönünü gösteren standart semboller kullanır:

Algoritma Kontrol Yapıları

Algoritmalar üç temel kontrol yapısından oluşur:

“Sonlu yapı”, bir kontrol yapısı türü değil, algoritmanın temel bir özelliğidir.

Algoritma Analizi ve Büyük O Notasyonu (Big O)

Algoritma analizi, algoritmanın ne kadar verimli çalıştığını (zaman, bellek kullanımı açısından) değerlendirir. Bu analizde genellikle Büyük O Notasyonu kullanılır. Büyük O, girdi verisinin eleman sayısı (n) arttıkça, algoritmanın performansının (zaman veya bellek) nasıl karmaşıklaştığını gösteren matematiksel bir ifadedir.

Ölçülen temel kavramlar Zaman Karmaşıklığı (Time Complexity) ve Alan Karmaşıklığı’dır (Space Complexity).

En verimli (en yüksek performanslı) algoritma, girdi boyutuna bağlı olmayan O(1) (Sabit Zaman) karmaşıklığına sahip olandır. Örneğin, bir dizideki belirli bir indisteki elemana erişim $O(1)$ zaman alır. Performans sıralaması (en iyiden en kötüye): O(1) > O(log n) > O(n) > O(n log n) > O(n2) > O(n3)…

Algoritma ve Programlamaya Giriş Ünite – 1 : Temel Kavramlar

10 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
Aşağıdakilerden hangisi algoritmayı ifade etmek için kullanılan yöntemlerden değildir?
BDoğru cevap
Açıklama
Algoritmayı ifade etme yöntemleri metinde “Sözlü olarak ifade etme”, “Sözde/kaba kod (pseudo code)” ve “Akış diyagramı (flow chart)” olarak belirtilmiştir. Şıklardaki A, C, D ve E bu yöntemlere karşılık gelmektedir. “Sözlü kod” bu yöntemler arasında sayılmamıştır.
Soru 2
Hangisi büyük O notasyonu ile ölçülen bir kavramdır?
DDoğru cevap
Açıklama
Büyük O notasyonu (Big O notation), bir algoritmanın veri kümesinin eleman sayısı (n) arttıkça nasıl bir performans (zaman veya bellek) göstereceğini açıklayan matematiksel bir gösterimdir. Metinde bu durum “zaman karmaşıklığı (time complexity)” veya “alan karmaşıklığı (space complexity)” olarak adlandırılır.
Soru 3
Aşağıdakilerden hangisi akış diyagramında veri tabanını ifade etmek için kullanılır?
EDoğru cevap
Açıklama
Akış diyagramı elemanlarını gösteren Tablo 1’e göre, silindir şekli “Veri Tabanı”nı temsil eder.
Soru 4
Bir algoritma nasıl tanımlanamaz?
CDoğru cevap
Açıklama
Algoritma, bir problemin çözümü için gerekli adımlar serisi veya komutlar dizisidir. Programlama ise algoritma mantığını bilmeyi gerektiren ve algoritmayı bilgisayarın anlayacağı dile (programlama diline) dökme işlemidir. Algoritma, programlama dilinin kendisi değildir.
Soru 5
Tek boyutlu bir dizide basit aritmetik işlemler yapılmasını veya dizinin bir elemanına erişilmesini sağlayan bir algoritmanın çalışma performansı aşağıdaki değerlerden hangisi ile ölçülür?
CDoğru cevap
Açıklama
Tablo 2’ye göre, “Sabit zaman (constant time)” O(1) notasyonu ile gösterilir ve “Aritmetik işlemler veya dizideki bir elemana erişim” bu karmaşıklık sınıfına örnek olarak verilmiştir. Bu, en verimli zaman karmaşıklığıdır.
Soru 6
Akış diyagramının hangi elemanından birden fazla yol çıkabilir?
ADoğru cevap
Açıklama
Metinde belirtildiği gibi, “Diğer sembollerden sadece birer çizgi çıkabilirken karar elemanından farklı olarak birden fazla çıkış olabilir.” Karar elemanı, koşullu yapıları (if) ifade etmek için kullanılır.
Soru 7
Bir akış diyagramında birden fazla başlangıç ve bitiş elemanı kullanılabilir mi?
BDoğru cevap
Açıklama
Metinde açıkça “…bu iki elemandan bir algoritma akış diyagramında birer tane kullanılabilmesidir.” ve “…başlama ve bitirme sembolleri, bir algoritma ifade edilirken sadece birer kez kullanılabilir.” ifadeleri yer almaktadır.
Soru 8
Aşağıdaki özelliklerden hangisi bir algoritmada olmak zorunda değildir?
CDoğru cevap
Açıklama
Metne göre bir algoritmanın “kesinlik (definite), etkinlik (effective), sonlu olma (finite) ve doğruluk (correctness)” özellikleri olmalıdır. Verimlilik (zaman ve bellek kullanımı) ise algoritmanın bir özelliği değil, analiz edilip değerlendirilen bir yönüdür.
Soru 9
Aşağıdakilerden hangisi bir algoritmada olabilecek kontrol yapılarından değildir?
EDoğru cevap
Açıklama
Algoritmaların üç temel kontrol yapısı “sıralı yapı (sequence structure)”, “seçimli yapı (selection structure)” (koşullu yapı ile aynıdır) ve “tekrarlı yapı (repetition structure)” olarak listelenmiştir. “Sonlu olma” (finite) ise algoritmanın bir kontrol yapısı değil, temel bir özelliğidir.
Soru 10
Aşağıdakilerden hangisi ile ifade edilen bir algoritma performansı diğerlerine göre daha yüksektir?
CDoğru cevap
Açıklama
Tablo 2’de gösterilen sıralamaya göre, O(1) (Sabit zaman) “en verimli olan zaman karmaşıklığıdır” ve girdi boyutuna bağlı değildir. Diğer seçenekler girdi boyutu arttıkça daha fazla zaman gerektirir.