Sayfalara Git
Sayfa 127: Konuya Başlarken
Cezeri'nin Fil Saati ve Algoritmik Döngüler
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
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.
Cezeri'nin mekanik sistemleri, günümüzün mekanik teknolojileriyle karşılaştırıldığında hangi benzerlik ve farklılıklara sahiptir?
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.
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?
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.
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.
Fil saati sonsuz döngü şeklinde çalışır. Tekrarlanan adımlar:
- Su doldurma (başlangıç)
- Kabın kademeli batması (30 dakika bekleme)
- Tam batma (koşul kontrolü)
- Tetikleyici aktivasyonu
- Çekiç vuruşu → Sesli uyarı
- 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ı
Sayfa 128-129: 8. Uygulama
Akademik ve Sosyal Faaliyetlere Katılım Bursu Değerlendirme Algoritması
Tablo 1: Öğrenci Bilgileri
| İsim | Not Ortalaması | Gönüllü Etkinlik (yıl) | Bilimsel Proje | Burs Durumu |
|---|---|---|---|---|
| Ali | 88 | 3 | Evet | |
| Banu | 90 | 0 | Hayır | |
| Cem | 84 | 2 | Evet | |
| Derya | 92 | 1 | Evet | |
| Emre | 78 | 4 | Hayır | |
| Fatma | 85 | 1 | Evet | |
| Gökhan | 87 | 0 | Hayır | |
| Hülya | 83 | 5 | Evet | |
| İlker | 80 | 3 | Hayır | |
| Jale | 95 | 2 | Evet | |
| Kerem | 86 | 2 | Evet | |
| Leyla | 91 | 1 | Hayır | |
| Murat | 77 | 3 | Evet | |
| Elif | 89 | 0 | Evet | |
| Oğuz | 79 | 4 | Hayır | |
| Pelin | 88 | 2 | Hayır | |
| Rıza | 82 | 1 | Evet | |
| Seda | 93 | 5 | Evet | |
| Tarık | 90 | 0 | Hayır | |
| Umut | 84 | 3 | Evet |
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.
- Başla
- Öğrenci listesini (isim, not ortalaması, gönüllü etkinlik süresi, proje durumu) oku
- Boş bir "bursKazananlar" listesi oluştur
- Listedeki her bir öğrenci için:
- Eğer (Not ortalaması > 85) ve (Gönüllü etkinlik süresi ≥ 2) ve (Bilimsel proje = Evet) ise:
- Bu öğrenciyi "bursKazananlar" listesine ekle
- Eğer "bursKazananlar" listesi boş ise:
- "Hiçbir öğrenci koşulları sağlamıyor" mesajını göster
- Değilse:
- Burs kazanan öğrencilerin listesini ve sayısını göster
- Bitir
Not: Pelin projede yer almadığı için, Umut notu 84 olduğu için elenmiştir.
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 |
|---|---|---|---|---|
| Ali | 88 | 3 | Evet | Kazandı |
| Banu | 90 | 0 | Hayır | Kazanamadı |
| Cem | 84 | 2 | Evet | Kazanamadı (Not ≤ 85) |
| Derya | 92 | 1 | Evet | Kazanamadı (Süre < 2) |
| Emre | 78 | 4 | Hayır | Kazanamadı |
| Fatma | 85 | 1 | Evet | Kazanamadı (Süre < 2) |
| Gökhan | 87 | 0 | Hayır | Kazanamadı |
| Hülya | 83 | 5 | Evet | Kazanamadı (Not ≤ 85) |
| İlker | 80 | 3 | Hayır | Kazanamadı |
| Jale | 95 | 2 | Evet | Kazandı |
| Kerem | 86 | 2 | Evet | Kazandı |
| Leyla | 91 | 1 | Hayır | Kazanamadı |
| Murat | 77 | 3 | Evet | Kazanamadı (Not ≤ 85) |
| Elif | 89 | 0 | Evet | Kazanamadı (Süre < 2) |
| Oğuz | 79 | 4 | Hayır | Kazanamadı |
| Pelin | 88 | 2 | Hayır | Kazanamadı (Proje Yok) |
| Rıza | 82 | 1 | Evet | Kazanamadı (Not ≤ 85, Süre < 2) |
| Seda | 93 | 5 | Evet | Kazandı |
| Tarık | 90 | 0 | Hayır | Kazanamadı |
| Umut | 84 | 3 | Evet | Kazanamadı (Not ≤ 85) |
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)
Çü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.
Sayfa 131: 4. Sıra Sizde
Vavien (Vaviyen) Devre – Mantık Bağlaçları ve Sözde Kod
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.
Çü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.
| 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
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
Sayfa 132: 9. Uygulama
Tüketme Yaklaşımı – Maksimum Alt Dizi Toplamı
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 |
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 | - | - | - | - | - |
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.
- 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.
- 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.
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
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 |
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.
- İş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
- İşlem Sayısı: n = 6 işlem
- Zaman Karmaşıklığı: O(n)
- Sonuç: 11
- Büyük verilerde çok hızlıdır
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:
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.
| 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 |
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.
Sayfa 134: Alıştırmalar
FSRU Tesisleri ve Liman Bağlantıları – Çizge ve Algoritma
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.
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 |
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) |
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.
- Başla
- FSRU tesislerinin listesini (Ertuğrul Gazi, Dörtyol, Saros) ve liman bağlantılarını oku
- Her bir FSRU tesisi için:
- Bağlantı sayacını sıfırla
- Her bir liman (A, B, C, D) için:
- Eğer bu FSRU tesisi o limana bağlı ise (✓) bağlantı sayacını 1 artır
- Eğer bağlantı sayacı = 1 ise:
- Bu FSRU tesisi "yalnızca bir limana bağlı" olarak işaretle
- Değilse:
- Bu FSRU tesisi "birden fazla limana bağlı" olarak işaretle
- Her FSRU tesisi için sonucu (bağlı olduğu liman sayısı ve liman isimleri) göster
- Bitir
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.
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