LOLONOLO Ana Sayfa » blog » Algoritma ve Programlamaya Giriş » Algoritma ve Programlamaya Giriş Ünite -1 (Güz)
Algoritmalar ve Programlamaya GirişauzefBilgisayar ProgramcılığıYönetim Bilişim Sistemleri

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

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

 
LOLONOLO Ana Sayfa » blog » Algoritma ve Programlamaya Giriş » Algoritma ve Programlamaya Giriş Ünite -1 (Güz)

#1. Aşağıdakilerden hangisi akış diyagramında veri tabanını ifade etmek için kullanılır?

Cevap : E) (Silindir – Veri Tabanı)

(Silindir - Veri Tabanı)
Açıklama : Akış diyagramı elemanlarını gösteren Tablo 1’e göre, silindir şekli “Veri Tabanı”nı temsil eder.

#2. Akış diyagramının hangi elemanından birden fazla yol çıkabilir?

Cevap : A) Karar yapıları
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.

#3. Hangisi büyük O notasyonu ile ölçülen bir kavramdır?

Cevap : D) zaman karmaşıklığı
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.

#4. 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?

Cevap : C) O(1)
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.

#5. Aşağıdakilerden hangisi ile ifade edilen bir algoritma performansı diğerlerine göre daha yüksektir?

Cevap : C) O(1)
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.

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

#6. Bir algoritma nasıl tanımlanamaz?

Cevap : C) Bir programlama dili
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.

#7. Aşağıdaki özelliklerden hangisi bir algoritmada olmak zorunda değildir?

Cevap : C) Verimlilik
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.

#8. Aşağıdakilerden hangisi bir algoritmada olabilecek kontrol yapılarından değildir?

Cevap : E) Sonlu yapı
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.

#9. Aşağıdakilerden hangisi algoritmayı ifade etmek için kullanılan yöntemlerden değildir?

Cevap : B) Sözlü kod
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.

#10. Bir akış diyagramında birden fazla başlangıç ve bitiş elemanı kullanılabilir mi?

Cevap : B) Hiçbir şartta kullanılamaz.
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.

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

Öncesi
TESTi BiTiR, PUANINI GÖR

SONUÇ

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

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

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

Algoritma ve Temel Kavramlar Özeti

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:

  • Kesinlik (Definite): Adımlar açık, özlü ve tek bir anlam çıkacak şekilde ifade edilmelidir.
  • Etkinlik (Effective): Her adım problemi çözmek için etkin olmalı, sonuçla ilgisi olmayan adımlar bulunmamalıdır.
  • Sonlu Olma (Finite): Algoritma, belli bir sayıda adımdan sonra durmalı, sonsuz döngüye girmemelidir.
  • Doğruluk (Correctness): Verilen bir girdi için her zaman aynı çıktıyı vermeli ve bu çıktı problemin doğru çözümü olmalıdı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:

  1. Sözlü Olarak İfade Etme: Problemin ve adımların düz metin ile ifade edilmesidir.
  2. Sözde/Kaba Kod (Pseudo Code): Programlama dili, konuşma dili ve matematiksel ifadelerin karma bir şekilde kullanıldığı, formal olmayan bir ifade biçimidir.
  3. Akış Diyagramı (Flow Chart): Algoritmanın görsel simge ve sembollerle (grafiksel olarak) temsil edilmesidir. Akış diyagramlarında kullanılan semboller uluslararası standartlara (ISO 5807:1985) göre belirlenmiştir.

Akış Diyagramı Elemanları

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

  • Başla/Bitir (Elips): Algoritmanın başlangıcını ve bitişini gösterir. Bir algoritmada sadece birer kez kullanılırlar.
  • Girdi/Çıktı (Paralelkenar): Kullanıcıdan klavye gibi araçlarla veri alınmasını (girdi) sağlar.
  • İşlem (Dikdörtgen): Hesaplama, eylem veya değer atama gibi adımları gösterir.
  • Karar (Eşkenar Dörtgen): Koşullu yapıları (`if` gibi) ifade eder. Bir durumun kontrol edilmesini sağlar. Akış diyagramında **birden fazla çıkışa sahip olabilen** tek elemandır (örn: Evet/Hayır).
  • Veri Tabanı (Silindir): Veri tabanından veri alma veya veri kaydetme işlemlerini gösterir.
  • Çizgi (Ok): Elemanlar arasındaki akışın yönünü gösterir.

Algoritma Kontrol Yapıları

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

  1. Sıralı Yapı (Sequence Structure): İşlemlerin ardışık bir şekilde, yazıldığı sırayla gerçekleşmesidir. Basit algoritmalarda (koşul veya döngü olmayan) adımlar birbirini **ardışık olarak** takip eder.
  2. Seçimli Yapı (Selection Structure) / Koşullu Yapı: Farklı koşullara göre farklı işlemlerin yapılmasıdır (örn: “Eğer hava yağmurlu mu? Evet ise Şemsiyeni al.”).
  3. Tekrarlı Yapı (Repetition Structure): Bir grup işlemin belirli bir koşula bağlı olarak tekrar etmesidir (Döngüler).

“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)…

@lolonolo_com

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

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

1. Aşağıdakilerden hangisi algoritmayı ifade etmek için kullanılan yöntemlerden değildir?

A) Sözde kod
B) Sözlü kod
C) Akış diyagramı
D) Kaba kod
E) Pseudo kod

Cevap : B) Sözlü kod

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.

2. Hangisi büyük O notasyonu ile ölçülen bir kavramdır?

A) çalışma süresi
B) işlem hızı
C) algoritma türü
D) zaman karmaşıklığı
E) değişken sayısı

Cevap : D) zaman karmaşıklığı

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.

3. Aşağıdakilerden hangisi akış diyagramında veri tabanını ifade etmek için kullanılır?

A) (Paralelkenar – Girdi/Çıktı)
B) (Dalgalı Dikdörtgen – Çıktı)
C) (Dikdörtgen – İşlem)
D) (Elips – Başla/Bitir)
E) (Silindir – Veri Tabanı)

A) (Paralelkenar - Girdi:Çıktı)
B) (Dalgalı Dikdörtgen - Çıktı)
C) (Dikdörtgen - İşlem)
D) (Elips - Başla:Bitir)
E) (Silindir - Veri Tabanı)
Cevap (Silindir - Veri Tabanı)

 

Cevap : E) (Silindir – Veri Tabanı)

Açıklama : Akış diyagramı elemanlarını gösteren Tablo 1’e göre, silindir şekli “Veri Tabanı”nı temsil eder.

4. Bir algoritma nasıl tanımlanamaz?

A) Bir sorunu çözmek için kullanılan adımlar
B) Bir çözüme dair talimatlar bütünü
C) Bir programlama dili
D) Bir sorunu oluşturan tüm alt sorunlar
E) Bir programın işlem basamakları

Cevap : C) Bir programlama dili

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.

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?

A) O(n³)
B) O(n log n)
C) O(1)
D) O(log n)
E) O(n)

Cevap : C) O(1)

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.

6. Akış diyagramının hangi elemanından birden fazla yol çıkabilir?

A) Karar yapıları
B) Fonksiyonlar
C) Başlangıç
D) İşlem
E) Hiçbiri

Cevap : A) Karar yapıları

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.

7. Bir akış diyagramında birden fazla başlangıç ve bitiş elemanı kullanılabilir mi?

A) Her şartta kullanılabilir.
B) Hiçbir şartta kullanılamaz.
C) Döngü yapısı ile birlikte kullanılabilir.
D) Koşullu yapıda kullanılabilir.
E) Alt programlarda kullanılabilir.

Cevap : B) Hiçbir şartta kullanılamaz.

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.

8. Aşağıdaki özelliklerden hangisi bir algoritmada olmak zorunda değildir?

A) Sonlu olma
B) Etkinlik
C) Verimlilik
D) Kesinlik
E) Doğruluk

Cevap : C) Verimlilik

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.

9. Aşağıdakilerden hangisi bir algoritmada olabilecek kontrol yapılarından değildir?

A) Sıralı yapı
B) Seçimli yapı
C) Tekrarlı yapı
D) Koşullu yapı
E) Sonlu yapı

Cevap : E) Sonlu yapı

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.

10. Aşağıdakilerden hangisi ile ifade edilen bir algoritma performansı diğerlerine göre daha yüksektir?

A) O(n³)
B) O(n log n)
C) O(1)
D) O(log n)
E) O(n)

Cevap : C) O(1)

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.

@lolonolo_com
Auzef Bilgisayar Programcılığı-min Açık Lise Telegram Grubu

Auzef sınav soruları, çıkmış sorular, deneme sınavları hepsi lolonolo’da ücretsiz.

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

Auzef Bilgisayar Programcılığı Güz Dönemi sınav soruları

Editor

Editör