Matematikte Başarının Adresi

9, 10 ve 11. sınıf MEB Matematik ders kitabı sorularının adım adım çözümleri. Türkiye Yüzyılı Maarif Modeli müfredatına %100 uyumlu, güncel ve anlaşılır içerikler. Türkiye Yüzyılı Maarif Modeli

Sayfalara Git

Tema İçeriğine Dön
5.2. ALGORİTMİK YAPILAR İÇERİSİNDEKİ MANTIK BAĞLAÇLARI VE NİCELEYİCİLER
Sayfa 127: Konuya Başlarken

Cezeri'nin Fil Saati ve Algoritmik Döngüler

Sayfa 127
Cezeri ve Fil Saati

Ünlü İslam âlimi ve mühendis Cezeri'nin 1206 yılında tamamladığı "Hünerli Mekanik Cihazların Bilgi Kitabı"; otomatlar, su saatleri, makineler ve diğer mekanik cihazlarla ilgili tasarımları içerir. Modern teknolojiden yüzyıllar önce kaleme alınan bu kitap; Cezeri'nin icadı olan makinelerin tasarımına, üretimine, montajına ilişkin bilgi ve talimatların, ayrıca günümüzdeki robotik uygulamalarını çağrıştıran yönergelerin yer aldığı eşsiz bir kaynaktır.

Fil saati, Mardin'in Artuklu ilçesindeki Kasımiye Medresesi'nde sergilenmektedir. Cezeri'nin icat ettiği bu saat, 30 dakikada bir sesli uyarı veren otomatik bir sistemdir. Bu sistemde su gücüyle çalışan robotik prensipler geçerlidir.

Fil Saatinin Çalışma Sistemi
1 Su doldurma: Fil figürünün dâhilî haznesi, yeterli miktarda su ile doldurulur. Hazne içerisine önceden gözenek genişliği ayarlanmış, yüzer bir kap yerleştirilir. Bu kap, tasarlanmış gözenek boyutu sayesinde tam olarak 30 dakika boyunca yüzeyde kalmak üzere dengelenmiştir.
2 Kademeli batma: Kabın altındaki gözenek, suyun yavaşça içeri girmesine izin verir. Bu işlem, kabın kademeli olarak ağırlaşmasına ve su seviyesiyle birlikte alçalmasına yol açar. Kabın batma süreci, zamanlama mekanizmasının temelini oluşturur.
3 Tam batma: Kap, 30 dakika sonunda tamamen batar. Bu koşul sağlandığında fil figürünün baş kısmında bulunan ve kabın batmasıyla etkinleşen mekanik bir tetikleyici harekete geçer.
4 Çekiç aktivasyonu: Tetikleyici, bir çekiç mekanizmasını aktive eder. Bu çekiç, fil figürünün baş kısmında bulunan ve ses üretmek için tasarlanmış metal bir çana vurur.
5 Sesli uyarı: Çekiçten gelen darbe belirgin bir ses üretir ve bu ses yarım saatlik periyodun tamamlandığını gösterir. Ses hem uyarı hem de zamanı işaret etme işlevi görür.
6 Sistem yenilenmesi: Sesli uyarıdan sonra sistem yenilenir. Kap, elle işletilen veya otomatik bir mekanizma ile su yüzeyine yeniden yerleştirilir ve 30 dakikalık yeni bir süreç başlar.
Cezeri ve Sibernetik

Cezeri; insan müdahalesine gerek kalmadan dış dünyanın gereksinimlerine uyum sağlayarak kendini yenileyebilen, verilen görevleri yerine getirebilen, yapay veya biyolojik sistemlerin kontrolü ve iletişimi üzerine odaklanan, günümüzde sibernetik olarak adlandırılan bilim dalının temellerini atmıştır.

Sorular

Verilen bilgileri inceleyerek aşağıdaki soruları cevaplayınız ve fikirlerinizi arkadaşlarınızla paylaşınız.

1. Soru

Cezeri'nin mekanik sistemleri, günümüzün mekanik teknolojileriyle karşılaştırıldığında hangi benzerlik ve farklılıklara sahiptir?

Cevap:

Benzerlik: Her iki sistem de mekanik prensiplerle çalışır, hareket ve kuvvet aktarımı sağlar, otomasyon ve zamanlama içerir.
Farklılık: Günümüz teknolojileri elektronik kontrol, sensörler, mikroişlemciler ve yazılım kullanırken; Cezeri'nin sistemleri tamamen mekanik ve hidroliktir. Modern sistemler daha hassas, programlanabilir ve çok işlevlidir.

2. Soru

Cezeri'nin mekanik sistemlerle ilgili çalışmalarının sibernetik biliminin günümüzdeki gelişimine, yapay zekâ ve otomasyon teknolojilerine etkileri neler olabilir?

Cevap:

Cezeri'nin çalışmaları, geri bildirim döngüleri ve otomatik kontrol sistemlerinin ilk örneklerini sunar. Bu fikirler, günümüzde sibernetik, yapay zekâ ve otomasyonun temelini oluşturur. Fil saatinin kendi kendini yenileme mekanizması, modern otonom sistemlerin ilkel bir örneğidir. Ayrıca, koşullu çalışma prensibi (su seviyesi belirli bir noktaya geldiğinde tetikleme) günümüzdeki if-else mantık yapılarının habercisidir.

3. Soru

Cezeri'nin tasarladığı fil saati otomatında sesli uyarıyı tetikleyen mekanik süreci bir döngü yapısı içinde (hangi adımların tekrarlanabilir olduğunu) açıklayınız.

Cevap:

Fil saati sonsuz döngü şeklinde çalışır. Tekrarlanan adımlar:

  1. Su doldurma (başlangıç)
  2. Kabın kademeli batması (30 dakika bekleme)
  3. Tam batma (koşul kontrolü)
  4. Tetikleyici aktivasyonu
  5. Çekiç vuruşu → Sesli uyarı
  6. Sistemin yenilenmesi (1. adıma dön)

Bu döngü, while (true) veya repeat until yapısına benzer. Koşul (kabın batması) sağlandığında uyarı verilir ve sistem yeniden başlar.

Fil Saati Döngü Diyagramı
Başla Su Doldur Bekle (30 dk) Kap Batar Tetikle Ses Ver Yenile ↺ Döngü
Bu döngü, koşul kontrollü bir yapıdır (kap batana kadar bekle, sonra uyarı ver ve yeniden başla).
5.2. ALGORİTMİK YAPILAR İÇERİSİNDEKİ MANTIK BAĞLAÇLARI VE NİCELEYİCİLER
Sayfa 128-129: 8. Uygulama

Akademik ve Sosyal Faaliyetlere Katılım Bursu Değerlendirme Algoritması

Sayfa 128-129
Tablo 1: Öğrenci Bilgileri
İsim Not Ortalaması Gönüllü Etkinlik (yıl) Bilimsel Proje Burs Durumu
Ali883Evet
Banu900Hayır
Cem842Evet
Derya921Evet
Emre784Hayır
Fatma851Evet
Gökhan870Hayır
Hülya835Evet
İlker803Hayır
Jale952Evet
Kerem862Evet
Leyla911Hayır
Murat773Evet
Elif890Evet
Oğuz794Hayır
Pelin882Hayır
Rıza821Evet
Seda935Evet
Tarık900Hayır
Umut843Evet
1. Soru: Tablo 2 – Mantık Bağlaçları ile İfade Etme

Koşul içeren sözel ifadeleri mantık bağlaçları ve niceleyicilerle ifade ediniz. Koşulu sağlayan öğrencileri bularak tabloyu doldurunuz.

Koşulun Sözel İfadesi Koşulun Mantık Bağlayıcı İfadesi Koşulu Sağlayan Öğrenciler
Not ortalaması 85'ten fazla olanlar ve en az 2 yıl gönüllü etkinliklerde bulunanlar (Not > 85) ∧ (Süre ≥ 2) Ali, Jale, Kerem, Pelin, Seda
Not ortalaması en az 85 olanlar veya bilimsel projede yer alanlar (Not ≥ 85) ∨ (Proje = Evet) Ali, Banu, Cem, Derya, Fatma, Gökhan, Hülya, Jale, Kerem, Leyla, Elif, Pelin, Rıza, Seda, Tarık, Umut
Gönüllü çalışma süresi 3 yıl veya daha fazla olanlar ve bilimsel projede yer almayanlar (Süre ≥ 3) ∧ (Proje = Hayır) Emre, İlker, Oğuz
Not ortalaması 90'dan fazla ve gönüllü çalışma süresi 1 yıldan fazla olanlar (Not > 90) ∧ (Süre > 1) Derya, Jale, Seda
Not ortalaması 80'den az olanlar ya da bilimsel projede yer almayanlar (Not < 80) ∨ (Proje = Hayır) Banu, Emre, Gökhan, İlker, Leyla, Murat, Oğuz, Pelin, Tarık
Gönüllü etkinliklere hiç katılmayanlar ya da bilimsel projede yer alanlar (Süre = 0) ∨ (Proje = Evet) Ali, Banu, Cem, Derya, Fatma, Gökhan, Hülya, Jale, Kerem, Murat, Elif, Rıza, Seda, Tarık, Umut
Gönüllü çalışma süresi 3 yıldan fazla olanlar ve bilimsel projede yer almayanlar (Süre > 3) ∧ (Proje = Hayır) Emre, Oğuz
2. Soru: Tablo Temsilinin Yeterliliği

Burs başvurusu yapan öğrenci sayısının 20 000 olması durumunda not ortalaması 90'dan fazla olan öğrencilerin bulunması için tablo temsili yeterli olur mu? Alternatif yöntemler nelerdir?

Tablo temsili yeterli değildir. 20 000 öğrenci için manuel tablo okuma ve filtreleme:

  • Zaman alıcı ve hataya açıktır
  • Veri güncellendiğinde tablonun yeniden oluşturulması gerekir
  • Büyük veri kümelerinde ölçeklenebilir değildir

Alternatif yöntemler:

  • Veritabanı sorgusu (SQL): SELECT * FROM ogrenciler WHERE not_ortalamasi > 90
  • Elektronik tablo (Excel) filtreleme: Otomatik filtre veya koşullu biçimlendirme
  • Programlama dili (Python, Java): Veri yapıları ve döngülerle filtreleme
  • Algoritmik arama: Sıralı verilerde ikili arama (Binary Search) kullanma
3. Soru: Algoritmik Doğal Dil

Not ortalaması 85'ten büyük, en az 2 yıl gönüllü etkinliklere katılım ve bilimsel projede yer almış olma koşullarının tamamını sağlayan öğrencileri bulan algoritmanın işleyişini algoritmik doğal dille ifade ediniz.

Algoritmik Doğal Dil
  1. Başla
  2. Öğrenci listesini (isim, not ortalaması, gönüllü etkinlik süresi, proje durumu) oku
  3. Boş bir "bursKazananlar" listesi oluştur
  4. Listedeki her bir öğrenci için:
  5.    Eğer (Not ortalaması > 85) ve (Gönüllü etkinlik süresi ≥ 2) ve (Bilimsel proje = Evet) ise:
  6.       Bu öğrenciyi "bursKazananlar" listesine ekle
  7. Eğer "bursKazananlar" listesi boş ise:
  8.    "Hiçbir öğrenci koşulları sağlamıyor" mesajını göster
  9. Değilse:
  10.    Burs kazanan öğrencilerin listesini ve sayısını göster
  11. Bitir
Sonuç: Koşulları sağlayan öğrenciler: Ali (88, 3 yıl, Evet), Jale (95, 2 yıl, Evet), Kerem (86, 2 yıl, Evet), Seda (93, 5 yıl, Evet)
Not: Pelin projede yer almadığı için, Umut notu 84 olduğu için elenmiştir.
Sözde Kod (Ek)
1:  BAŞLA
				2:  kazananlar = []
				3:  HER öğrenci İÇİN:
				4:      EĞER (not > 85) VE (sure >= 2) VE (proje = "Evet") İSE
				5:          kazananlar.ekle(ogrenci)
				6:  EĞER kazananlar.bos() İSE
				7:      YAZ "Hiçbir öğrenci koşulları sağlamıyor"
				8:  DEĞİLSE
				9:      YAZ "Burs kazananlar:", kazananlar
				10:     YAZ "Toplam:", kazananlar.uzunluk()
				11: BİTİR
4. Soru: Burs Durumu Sütununu Tamamlama

Yazdığınız algoritmik doğal dil yardımıyla Tablo 1'de öğrencilerin burs almaya hak kazanıp kazanamadığını belirten sütunu tamamlayınız ve algoritmanızı test ediniz.

İsim Not Ort. Gönüllü (yıl) Proje Burs Durumu
Ali883EvetKazandı
Banu900HayırKazanamadı
Cem842EvetKazanamadı (Not ≤ 85)
Derya921EvetKazanamadı (Süre < 2)
Emre784HayırKazanamadı
Fatma851EvetKazanamadı (Süre < 2)
Gökhan870HayırKazanamadı
Hülya835EvetKazanamadı (Not ≤ 85)
İlker803HayırKazanamadı
Jale952EvetKazandı
Kerem862EvetKazandı
Leyla911HayırKazanamadı
Murat773EvetKazanamadı (Not ≤ 85)
Elif890EvetKazanamadı (Süre < 2)
Oğuz794HayırKazanamadı
Pelin882HayırKazanamadı (Proje Yok)
Rıza821EvetKazanamadı (Not ≤ 85, Süre < 2)
Seda935EvetKazandı
Tarık900HayırKazanamadı
Umut843EvetKazanamadı (Not ≤ 85)
Test Sonucu: Koşulları sağlayan öğrenciler: Ali, Jale, Kerem, Seda (Toplam: 4 öğrenci)
5. Soru: Tablo 3 – Algoritmayı Test Etme

Tablo 3'te verilen iki koşul için 3. soruda elde ettiğiniz algoritmayı test ediniz ve tabloyu doldurunuz.

Koşullar Koşulu Sağlayan Öğrenciler
(Not < 83) ∨ (Proje = Hayır)
Not ortalaması 83'ten az olanlar veya bilimsel projede yer almayanlar
Banu, Emre, Gökhan, İlker, Leyla, Murat, Oğuz, Pelin, Tarık
(9 öğrenci)
(Not ≥ 83) ∧ (Proje = Evet)
Not ortalaması en az 83 olanlar ve bilimsel projede yer alanlar
Ali, Cem, Derya, Fatma, Hülya, Jale, Kerem, Murat, Elif, Rıza, Seda, Umut
(12 öğrenci)
6. Soru: Kesişim ve Avantajlar

Tablo 3'te verilen her iki koşulu da sağlayan öğrenci olup olmadığını belirleyiniz. Bu durumun avantajlarını açıklayınız.

Her iki koşulu da sağlayan öğrenciler:

  • 1. koşul: (Not < 83) ∨ (Proje = Hayır)
  • 2. koşul: (Not ≥ 83) ∧ (Proje = Evet)
Kesişim (İki koşulu da sağlayan öğrenci): YOKTUR
Çünkü iki koşul birbirini tamamen dışlayan (ayrık) koşullardır.

Bu durumun sağladığı avantajlar:

  • Kapsamlı değerlendirme: Tüm öğrenciler iki gruptan birine dahil olur, hiçbir öğrenci dışarıda kalmaz.
  • Kesin sınıflandırma: Öğrenciler ya birinci gruba ya ikinci gruba aittir, kararsızlık yoktur.
  • Algoritma basitliği: İki ayrık koşul, algoritmanın iki ayrı dalda çalışmasını sağlar.
  • Hata ayıklama kolaylığı: Koşullar birbirini dışladığı için test senaryoları daha basittir.
  • Verimli filtreleme: Büyük veri kümelerinde iki ayrık küme üzerinde işlem yapmak daha hızlıdır.
Özet: İki koşulun kesişiminin boş küme olması, öğrencilerin ya birinci koşula ya da ikinci koşula ait olduğu anlamına gelir. Bu durum, ayrık (disjoint) kümeler oluşturur ve algoritmanın her öğrenciyi net bir şekilde sınıflandırmasını sağlar.
5.2. ALGORİTMİK YAPILAR İÇERİSİNDEKİ MANTIK BAĞLAÇLARI VE NİCELEYİCİLER
Sayfa 131: 4. Sıra Sizde

Vavien (Vaviyen) Devre – Mantık Bağlaçları ve Sözde Kod

Sayfa 131
Vavien (Vaviyen) Devre

Vavien devre, bir aydınlatma sistemini veya herhangi bir elektrikli cihazı iki farklı yerden kontrol etmeye yarayan bir elektrik devresidir. Bu devre, genellikle evlerde merdiven ışıklarının kontrolü için kullanılır. Böylece bir katın başında ve sonunda bulunan iki farklı anahtarla ışık açılıp kapatılabilir.

Merdiveni aydınlatması için merdivenin başına ve sonuna birer tane anahtar yerleştirilip vavien devre bağlantısı yapılmıştır. Bir üst kata çıkmak isteyen kişi, A anahtarını kullanarak lambayı açar. Üst kata vardığında ise B anahtarını kullanarak lambayı kapatır.

a) Mantık Bağlacını Belirleme

Aşağıda vavien devrenin temel çalışma ilkesini anlatan bir algoritmanın işleyişi algoritmik doğal dille verilmektedir. Boş bırakılan yere uygun mantık bağlacını yazınız.

Algoritmik Doğal Dil
1 Başla.
2 Girdilerin alınması: Kullanıcıdan bir anahtarın durumu (açık veya kapalı) hakkında giriş al. Lamba başlangıçta kapalıdır.
3 Anahtar durumunun kontrol edilmesi: A ve B anahtarının durumunu kontrol et.
4 Kontrol mekanizması: A anahtarı ...... B anahtarı açık ise lambayı yak. Değilse lambayı söndür.
5 Sonucun bulunması: Lambanın durumunu güncelle (açık veya kapalı).
6 Bitir.
Doğru mantık bağlacı: VE (∧)
Çünkü vavien devrede lambanın yanması için her iki anahtarın da aynı durumda (açık) olması gerekir.
Açıklama: A anahtarı açık ve B anahtarı açık ise lamba yanar. Aksi durumda lamba söner.
Doğruluk Tablosu
A Anahtarı B Anahtarı Lamba Durumu
Kapalı (0) Kapalı (0) Sönük
Kapalı (0) Açık (1) Sönük
Açık (1) Kapalı (0) Sönük
Açık (1) Açık (1) Yanık
b) Sözde Kod

Verilen algoritmanın işleyişini sözde kod ile ifade ediniz.

1:  BAŞLA
				2:  // Lamba başlangıçta kapalı
				3:  lamba = KAPALI
				4:  
				5:  // Kullanıcıdan anahtar durumlarını al
				6:  OKU A_anahtari
				7:  OKU B_anahtari
				8:  
				9:  // Kontrol mekanizması: A VE B açık ise lamba yanar
				10: EĞER (A_anahtari = AÇIK) VE (B_anahtari = AÇIK) İSE
				11:     lamba = AÇIK
				12:     YAZ "Lamba yandı"
				13: DEĞİLSE
				14:     lamba = KAPALI
				15:     YAZ "Lamba söndü"
				16: 
				17: // Lamba durumunu göster
				18: YAZ "Lamba durumu: ", lamba
				19: BİTİR
Alternatif Sözde Kod (Kısa)
1:  BAŞLA
				2:  OKU A, B
				3:  EĞER (A = 1) VE (B = 1) İSE
				4:      YAZ "Lamba AÇIK"
				5:  DEĞİLSE
				6:      YAZ "Lamba KAPALI"
				7:  BİTİR
Akış Şeması
Başla
A, B
(A = 1) ∧ (B = 1) ?
Evet
Lamba AÇIK
Hayır
Lamba KAPALI
Dur
5.2. ALGORİTMİK YAPILAR İÇERİSİNDEKİ MANTIK BAĞLAÇLARI VE NİCELEYİCİLER
Sayfa 132: 9. Uygulama

Tüketme Yaklaşımı – Maksimum Alt Dizi Toplamı

Sayfa 132
Maksimum Alt Dizi Toplamı Problemi

A = {5, -3, 2, 7, -4, 1} kümesinde herhangi bir elemandan başlayarak birbiri ardına gelen elemanların toplamlarını hesaplayınız. Bu toplamların en büyük olanını bulunuz.

Örnek: {5, -3} için 5 + (-3) = 2  |  {5, -3, 2} için 5 + (-3) + 2 = 4

1. Soru: Tüm Alt Dizi Toplamları

A kümesinde herhangi bir elemandan başlayarak birbiri ardına gelen elemanların toplamlarını hesaplayınız. En büyük toplamı bulunuz.

Başlangıç Toplamlar Maksimum
5'ten başlayan 5, 5+(-3)=2, 2+2=4, 4+7=11, 11+(-4)=7, 7+1=8 11
-3'ten başlayan -3, -3+2=-1, -1+7=6, 6+(-4)=2, 2+1=3 6
2'den başlayan 2, 2+7=9, 9+(-4)=5, 5+1=6 9
7'den başlayan 7, 7+(-4)=3, 3+1=4 7
-4'ten başlayan -4, -4+1=-3 -3
1'den başlayan 1 1
Tümü Tüm alt dizi toplamları 11
En Büyük Toplam: 11 (5 + (-3) + 2 + 7 = 11)
2. Soru: Tablo 1 – Tüketme Yaklaşımı ile Doldurma

Verilen sayı kümesinden alınan ardışık elemanların toplamını bularak tabloyu örnekteki gibi doldurunuz.

Başlangıç 1. Eleman 2. Eleman 3. Eleman 4. Eleman 5. Eleman 6. Eleman
5 5 5+(-3)=2 5+(-3)+2=4 5+(-3)+2+7=11 11+(-4)=7 7+1=8
-3 -3 -3+2=-1 -1+7=6 6+(-4)=2 2+1=3 -
2 2 2+7=9 9+(-4)=5 5+1=6 - -
7 7 7+(-4)=3 3+1=4 - - -
-4 -4 -4+1=-3 - - - -
1 1 - - - - -
Tüketme Yaklaşımı: Her satırda, o satırın başlangıç elemanından itibaren tüm ardışık toplamlar hesaplanır. Tüm satırlar tarandığında en büyük değer 11 olarak bulunur.
3. Soru: Karşılaştırma ve Değerlendirme

Tablo 1'de elde ettiğiniz değerler ile 1. soruda elde ettiğiniz değeri karşılaştırınız. Eleman sayısının artmasının hesaplama zamanına etkisini değerlendiriniz.

Karşılaştırma
  • 1. Soru (Manuel): Tüm alt diziler manuel olarak hesaplandı, en büyük değer 11 bulundu.
  • Tablo 1 (Tüketme): Sistematik olarak tüm alt diziler hesaplandı, en büyük değer 11 bulundu.
  • Sonuç: Her iki yöntem de aynı sonucu verdi. Tablo yöntemi daha sistematik ve hatasız.
Eleman Sayısı ve Hesaplama Zamanı
  • n = 6 eleman: Toplam alt dizi sayısı = n(n+1)/2 = 21 işlem
  • n = 10 eleman: 55 işlem
  • n = 100 eleman: 5050 işlem
  • n = 1000 eleman: 500500 işlem
  • Zaman Karmaşıklığı: O(n²) – Eleman sayısı arttıkça hesaplama süresi üstel olarak artar.
Sonuç: Tüketme yaklaşımı (O(n²)) küçük veri kümeleri için uygundur. Büyük veri kümeleri için Kadane Algoritması (O(n)) daha verimli bir alternatiftir.
Kadane Algoritması (O(n) – Daha Verimli)
1:  BAŞLA
		2:  max_toplam = 0
		3:  mevcut_toplam = 0
		4:  HER eleman i İÇİN:
		5:      mevcut_toplam = mevcut_toplam + dizi[i]
		6:      EĞER mevcut_toplam < 0 İSE
		7:          mevcut_toplam = 0
		8:      EĞER mevcut_toplam > max_toplam İSE
		9:          max_toplam = mevcut_toplam
		10: YAZ max_toplam
		11: BİTİR
Kadane Algoritması ile A = {5, -3, 2, 7, -4, 1} için sonuç: 11
4. Soru: Tablo 2 – Kadane Algoritması Adımları

Tablo 2'de algoritmanın ilk dört adımında elde edilen toplamlardan değeri en büyük olanlar kırmızı renkle gösterilmiştir. 5 ve 6. adımdaki en büyük toplamları önceki adımlara benzer şekilde bularak tabloyu doldurunuz.

Adım İşlem Mevcut Toplam En Büyük Toplam
1 5 5 5
2 5 + (-3) = 2 2 5
3 5 + (-3) + 2 = 4 4 5
4 5 + (-3) + 2 + 7 = 11 11 11
5 11 + (-4) = 7 7 11
6 7 + 1 = 8 8 11
Kadane Algoritması Sonucu: En büyük alt dizi toplamı = 11 (5 + (-3) + 2 + 7 = 11)
5. Soru: Kadane vs Tüketme Yaklaşımı

Kadane algoritması adımlarının yer aldığı tablodan elde ettiğiniz en büyük toplam değeri tüketme yaklaşımıyla bulduğunuz en büyük toplam değerle karşılaştırınız. Hangisinin daha kısa sürede cevabı verdiğini değerlendiriniz.

Tüketme Yaklaşımı
  • İşlem Sayısı: n(n+1)/2 = 6×7/2 = 21 işlem
  • Zaman Karmaşıklığı: O(n²)
  • Sonuç: 11
  • Büyük verilerde yavaşlar
Kadane Algoritması
  • İşlem Sayısı: n = 6 işlem
  • Zaman Karmaşıklığı: O(n)
  • Sonuç: 11
  • Büyük verilerde çok hızlıdır
Değerlendirme: Her iki algoritma da aynı sonucu (11) vermektedir. Ancak Kadane algoritması (O(n)), tüketme yaklaşımına (O(n²)) göre çok daha kısa sürede sonuca ulaşır. Özellikle büyük veri kümelerinde bu fark belirginleşir.
6. Soru: Kadane Algoritması Mantığı

Kadane algoritmasında dizideki her ardışık elemanın toplamı incelendiğinde hangi koşullarda yeni bir toplama işlemi başlatılır? Bu süreçte neden bazı ardışık elemanların oluşturduğu negatif toplamların dikkate alınmadığını açıklayınız.

Yeni toplama işlemi başlatma koşulu:

Mevcut toplam negatif olduğunda yeni bir toplama işlemi başlatılır.
Yani: Eğer mevcut_toplam < 0 ise mevcut_toplam = 0 yapılır.

Neden negatif toplamlar dikkate alınmaz?

  • Negatif toplam, gelecekteki toplamı azaltır: Bir negatif değeri toplama eklemek, ileride elde edilebilecek maksimum toplamı düşürür.
  • Yeni başlangıç daha iyidir: Negatif bir toplam yerine sıfırdan (veya bir sonraki elemandan) başlamak, daha büyük bir toplam elde etme şansını artırır.
  • Örnek: Dizi = {5, -3, 2, 7, -4, 1}
    • 5 + (-3) = 2 (pozitif, devam edilir)
    • Eğer 5 + (-3) + (-10) gibi bir durum olsaydı, toplam negatif olur ve sıfırlanırdı.
  • Kadane'nin mantığı: Negatif toplamlar, maksimum alt dizi toplamına katkı sağlamaz. Bu nedenle "en iyi alt dizi, negatif bir toplamla başlamaz" prensibiyle çalışır.
Kadane Algoritması Adım Adım
Adım Eleman Mevcut Toplam Maksimum Toplam Aksiyon
1 5 5 5 Devam
2 -3 2 5 Devam (pozitif)
3 2 4 5 Devam
4 7 11 11 Devam
5 -4 7 11 Devam (pozitif)
6 1 8 11 Devam
Hiçbir adımda mevcut toplam negatif olmadığı için sıfırlama işlemi gerçekleşmemiştir.
Negatif Toplam Örneği

Dizi: {-2, -3, 4, -1, -2, 1, 5, -3}

Eleman -2 -3 4 -1 -2 1 5 -3
Mevcut Toplam -2 0 (sıfırla) 4 3 1 2 7 4
Maksimum -2 -2 4 4 4 4 7 7

2. adımda mevcut toplam (-2 + -3 = -5) negatif olduğu için sıfırlanır ve 3. adımda 4 ile başlanır. Bu sayede maksimum toplam 7 olarak bulunur.

5.2. ALGORİTMİK YAPILAR İÇERİSİNDEKİ MANTIK BAĞLAÇLARI VE NİCELEYİCİLER
Sayfa 134: Alıştırmalar

FSRU Tesisleri ve Liman Bağlantıları – Çizge ve Algoritma

Sayfa 134
FSRU (Yüzer Depolama ve Yeniden Gazlaştırma Ünitesi)

Deniz üzerine konumlandırılan bu tesislerde sıvılaştırılmış doğal gaz depolanır ve gerektiğinde gaz hâline dönüştürülür. Böylelikle karasal altyapıya ihtiyaç duyulmadan esnek ve hızlı bir şekilde enerji tedarik edilebilir.

Türkiye sahip olduğu üç FSRU ünitesiyle dünyanın sayılı ülkeleri arasında yer almaktadır. Aşağıdaki tablo A, B, C ve D limanlarının farklı FSRU tesisleriyle olan bağlantı durumunu göstermektedir. Bağlı olma durumu "✓" sembolü, bağlı olmama durumu "✗" sembolü ile ifade edilmiştir.

Liman Adı Ertuğrul Gazi Dörtyol Saros
A ✓ ✓ ✓
B ✗ ✓ ✓
C ✓ ✗ ✓
D ✓ ✓ ✗
a) Çizge Oluşturma

Limanlardan FSRU tesislerine bağlantıları temsil edecek şekilde bir çizge oluşturunuz.

Çizge Çizim Alanı
Camera Obscura Şekli

FSRU tesisleri ve liman bağlantıları

b) Tüm FSRU Tesisleri ile Bağlantılı Limanlar

Elde ettiğiniz çizge diyagramında tüm FSRU tesisleri ile bağlantılı olan limanları bulunuz.

Koşul: Liman, Ertuğrul Gazi VE Dörtyol VE Saros tesislerine bağlı olmalıdır.

Liman Ertuğrul Gazi Dörtyol Saros Durum
A ✓ ✓ ✓ Tümüne bağlı
B ✗ ✓ ✓ Ertuğrul Gazi'ye bağlı değil
C ✓ ✗ ✓ Dörtyol'a bağlı değil
D ✓ ✓ ✗ Saros'a bağlı değil
Sonuç: Tüm FSRU tesisleriyle bağlantılı olan liman: A
c) En Az İki FSRU Tesisi ile Bağlantılı Limanlar

Elde ettiğiniz çizge diyagramında en az iki farklı FSRU tesisi ile bağlantılı olan limanları belirleyiniz.

Koşul: Liman, üç FSRU tesisinden en az ikisine bağlı olmalıdır.

Liman Bağlantı Sayısı Bağlı Olduğu Tesisler Durum
A 3 Ertuğrul Gazi, Dörtyol, Saros ✓ (3 tesis)
B 2 Dörtyol, Saros ✓ (2 tesis)
C 2 Ertuğrul Gazi, Saros ✓ (2 tesis)
D 2 Ertuğrul Gazi, Dörtyol ✓ (2 tesis)
Sonuç: En az iki FSRU tesisiyle bağlantılı olan limanlar: A, B, C, D (Tüm limanlar)
d) Algoritmik Doğal Dil

FSRU tesislerinin yalnızca bir limana bağlantılı olup olmadığını belirleyen algoritmanın işleyişini algoritmik doğal dille ifade ediniz.

Algoritmik Doğal Dil
  1. Başla
  2. FSRU tesislerinin listesini (Ertuğrul Gazi, Dörtyol, Saros) ve liman bağlantılarını oku
  3. Her bir FSRU tesisi için:
  4.    Bağlantı sayacını sıfırla
  5.    Her bir liman (A, B, C, D) için:
  6.       Eğer bu FSRU tesisi o limana bağlı ise (✓) bağlantı sayacını 1 artır
  7.    Eğer bağlantı sayacı = 1 ise:
  8.       Bu FSRU tesisi "yalnızca bir limana bağlı" olarak işaretle
  9.    Değilse:
  10.       Bu FSRU tesisi "birden fazla limana bağlı" olarak işaretle
  11. Her FSRU tesisi için sonucu (bağlı olduğu liman sayısı ve liman isimleri) göster
  12. Bitir
Algoritma Sonucu:
Ertuğrul Gazi: A, C, D limanlarına bağlı (3 liman) → Birden fazla
Dörtyol: A, B, D limanlarına bağlı (3 liman) → Birden fazla
Saros: A, B, C limanlarına bağlı (3 liman) → Birden fazla
Hiçbir FSRU tesisi yalnızca bir limana bağlı değildir.
Sözde Kod
1:  BAŞLA
	2:  FSRU_listesi = ["Ertuğrul Gazi", "Dörtyol", "Saros"]
	3:  liman_listesi = ["A", "B", "C", "D"]
	4:  // Bağlantı tablosu (✓/✗)
	5:  baglanti = [[1,1,1], [0,1,1], [1,0,1], [1,1,0]]
	6:  
	7:  HER fsru İÇİN (j = 0'dan 2'ye):
	8:      bagli_liman_sayisi = 0
	9:      bagli_limanlar = []
	10:     HER liman İÇİN (i = 0'dan 3'e):
	11:         EĞER baglanti[i][j] == 1 İSE:
	12:             bagli_liman_sayisi = bagli_liman_sayisi + 1
	13:             bagli_limanlar.ekle(liman_listesi[i])
	14:     
	15:     EĞER bagli_liman_sayisi == 1 İSE:
	16:         YAZ fsru_listesi[j], "yalnızca", bagli_limanlar[0], "limanına bağlı"
	17:     DEĞİLSE:
	18:         YAZ fsru_listesi[j], bagli_liman_sayisi, "limana bağlı:", bagli_limanlar
	19: BİTİR

Neden Matemantik?

Matematikte başarıyı hedefleyenler için tasarlandı

MEB Uyumlu

Türkiye Yüzyılı Maarif Modeli müfredatına tam uyumlu, güncel ders kitabı sorularının çözümleri.

Adım Adım Çözüm

Her soru, anlaşılır ve detaylı adımlarla çözülerek konunun pekiştirilmesi sağlanır.

Her Yerde Erişim

Bilgisayar, tablet veya telefonunuzdan dilediğiniz zaman çözümlere ulaşabilirsiniz.

Sorularınız mı var?

Çözümlerle ilgili geri bildirimde bulunmak veya yeni soru talebinde bulunmak için bize ulaşın.

info@matemantik.com