FETİH KODLARI

STRATEJİ VE ALGORİTMA SEÇİMİ

34. HAFTA: EN UYGUN KARAR YAPISINI SEÇMEK

DİVAN-I HÜMAYUN (İÇERİK)

  • Karar Yapılarını Hatırlayalım
  • Hangi Durumda Hangisi? (Seçim)
  • Basit Eğer vs Çoklu Eğer
  • İstanbul'un Fethi (29 Mayıs)
  • Fatih'in Stratejik Algoritması
  • Gemileri Karadan Yürütmek (Çözüm)
  • Senaryo: Fetih Oyunu Kodlama
Old Book and Map

ELİMİZDEKİ SİLAHLAR (YAPILAR)

Bir problemi çözerken elimizde 3 farklı karar "silahı" vardır.

1. TEK YÖN

EĞER (IF)

Sadece şart doğruysa çalışır.

2. ÇİFT YÖN

EĞER - DEĞİLSE

Doğruysa bunu, yanlışsa şunu yap.

3. ÇOK YÖN

İÇ İÇE EĞER

Birçok seçenek varsa kullanılır.

STRATEJİ: HANGİSİNİ SEÇMELİ?

Bir komutan savaş alanına bakıp strateji belirler. Biz de probleme bakıp karar yapısını seçmeliyiz.


  • Tek bir tehlike var mı? -> EĞER
  • Ya kazanacağız ya kaybedeceğiz? -> EĞER-DEĞİLSE
  • Önümüzde 3 farklı yol mu var? -> İÇ İÇE EĞER

SENARYO 1: KALE KAPISI

Castle Gate

Durum: Nöbetçisin. Sadece "Parola" doğruysa kapıyı açacaksın. Yanlışsa hiçbir şey yapmayacaksın (sessiz kalacaksın).


SEÇİM: BASİT EĞER

KODLAMA: NÖBETÇİ

EĞER (Parola == "Fetih1453") İSE:
  Kapıyı_Aç()

(Değilse kısmı yok, çünkü başka bir işlem gerekmiyor)

SENARYO 2: DENİZ SAVAŞI

Durum: Gemimiz düşman gemisiyle karşılaştı. İki ihtimal var:

  1. Top güllesi isabet ederse -> "Vuruldu" de.
  2. İsabet etmezse -> "Iskaladın" de.

SEÇİM: EĞER - DEĞİLSE

KODLAMA: TOP ATIŞI

EĞER (Gülle_Değdi_Mi?) İSE:
  Ses_Çal("Patlama")
  Puan_Ver(10)
DEĞİLSE:
  Ses_Çal("Su_Sesi")
  Yaz("Iskaladın!")

SENARYO 3: OKÇU BİRLİĞİ

Durum: Okçular mesafeye göre atış yapacak.

ÇOK YAKIN

Mesafe < 10m -> Kılıç Çek

ORTA

Mesafe < 50m -> Normal Ok At

UZAK

Mesafe > 50m -> Alevli Ok At

SEÇİM: İÇ İÇE EĞER (ÇOKLU KARAR)

KODLAMA: MENZİL HESABI

EĞER (Mesafe < 10) İSE:
  Kılıç_Kullan()
DEĞİLSE:
  EĞER (Mesafe < 50) İSE:
    Normal_Ok_At()
  DEĞİLSE:
    Alevli_Ok_At()

29 MAYIS 1453

İSTANBUL'UN FETHİ

Bir çağın kapanıp yeni bir çağın açıldığı büyük olay.

FATİH: BÜYÜK STRATEJİST

Fatih Sultan Mehmet (II. Mehmet), sadece bir padişah değil, aynı zamanda büyük bir mühendis ve strateji uzmanıydı.

Fetih için planladığı her şey, mükemmel bir Algoritma örneğidir.

  • Şahi Topları (Teknoloji)
  • Rumeli Hisarı (Hazırlık)
  • Gemilerin Yürütülmesi (Yaratıcı Çözüm)

BÜYÜK PROBLEM VE ÇÖZÜM

PROBLEM: Haliç'in girişinde devasa bir zincir var. Gemiler geçemiyor.

GELENEKSEL ÇÖZÜM: Zinciri kırmaya çalış (Başarısız).

FATİH'İN ALGORİTMASI (Yaratıcı Düşünme):

EĞER denizden geçiş yoksa -> DEĞİLSE karadan yürüt!

FETİH STRATEJİSİ (AKIŞ)

BAŞLA
Rumeli Hisarı'nı Yap
Şahi Toplarını Dök
KARAR: Haliç Zinciri Kapalı mı?
  -> EVET: Gemileri Karadan Yürüt (Galata'dan)
  -> HAYIR: Denizden Saldır
Surlarda Gedik Aç
Şehre Gir
BİTİR (FETİH MÜBİN)

TARİHİ OYUNLAŞTIRMA

Scratch ile kendi "Fetih 1453" oyunumuzu yapabiliriz.

GEMİ KUKLASI

Yön tuşlarıyla hareket eder.

ZİNCİR ENGELİ

Eğer zincire değerse geri seker.

KARA YOLU

Eğer "Yağlı Kızaklar"a değerse karadan ilerler.

STRATEJİ TESTİ 1

Bir durumda yapılması gereken sadece TEK BİR işlem varsa hangi yapıyı seçersin?

A) Eğer - Değilse
B) Basit Eğer (If)
C) İç İçe Eğer
D) Döngü

STRATEJİ TESTİ 2

Bir durumda "Ya o, Ya bu" şeklinde iki seçenek varsa hangisi seçilir?

A) Basit Eğer
B) Sonsuz Döngü
C) Eğer - Değilse (If-Else)
D) Değişken

STRATEJİ TESTİ 3

Fatih Sultan Mehmet, Haliç'teki zincir engelini nasıl aşmıştır?

A) Zinciri keserek
B) Pes ederek
C) Denizaltı kullanarak
D) Gemileri karadan yürüterek

STRATEJİ TESTİ 4

İstanbul'un Fethi hangi tarihte gerçekleşmiştir?

A) 19 Mayıs 1919
B) 29 Mayıs 1453
C) 23 Nisan 1920
D) 30 Ağustos 1922

SIRA SİZDE: OYUN TASARIMI

Senaryo: Bir labirent oyunu yapıyorsun.

  • Duvara çarparsa -> Başa dön.
  • Anahtarı alırsa -> Kapı açılsın.
  • Kapıya değerse -> Sonraki seviyeye geç.

Hangi karar yapılarını kullanırsın?

ZAFER RAPORU (ÖZET)

BASİT

Eğer (Tek yol).

İKİLİ

Eğer-Değilse (İki yol).

ÇOKLU

İç İçe Eğer (Çok yol).

GELECEK SEFER

KARMAŞIK PROBLEMLER

Farklı programlama yapılarını birleştirerek büyük projeler yapacağız.

OTURUM SONLANDI

Stratejik düşünme becerilerin gelişti.