Algo-I
7 Seçim ve Döngü

Döngüler II: İç İçe Döngü, break/continue, EBOB ve Monte Carlo

Döngünün içinde döngü: çarpım tablosu ve yıldız desenleri, döngüyü erken bitiren break ve turu atlayan continue; klasik algoritmalar EBOB ve asal sayı; rastgele sayılarla pi.

Teori
Cuma 6 Kasım · A 09.15 / B 13.15
Laboratuvar
A Çarşamba 11 Kasım 13.15 · B Perşembe 12 Kasım 15.15(teoriden bir hafta sonra) Lab içeriği ↓
Ders planı
İç içe döngüler ve desen yazdırma; break ve continue; Euclid EBOB algoritması, asal sayılar ve Monte Carlo ile pi tahmini

Teori

Öğrenme hedefleri

Bu haftanın sonunda:

  • 1 İç içe döngü ile tablo ve desen yazdırır; dış ve iç döngünün rolünü ayırt eder.
  • 2 break ve continue'yu yerinde kullanır, kötüye kullanımını tanır.
  • 3 Euclid EBOB algoritmasını elle izler ve Java'da yazar.
  • 4 Monte Carlo yöntemiyle pi tahmininin mantığını açıklar.

Haftanın Bulmacası

Elle Euclid: 252 ve 105’in EBOB’unu kağıtta bölme kalanıyla bulun (kaç adım?). Sonra aynı işi “1’den küçüğe kadar hepsini dene” yöntemiyle yapmayı düşünün: kaç adım? İki algoritma, aynı cevap, çok farklı emek.

Ders Notları

İşlenecek başlıklar:

  • İç içe döngü: dış döngü satır, iç döngü sütun; çarpım tablosu
  • Yıldız desenleri: üçgen, piramit; printf ile hizalama
  • break: döngüyü bitir; continue: bu turu atla; etiketli break’e kısa bakış
  • Sayı tahmin oyununu break ile yazmak
  • EBOB: kaba kuvvet (v1), geriye doğru (v2), Euclid (v3); adım sayısı karşılaştırması
  • Asal sayı bulma ve iyileştirme (kareköke kadar)
  • Monte Carlo ile pi: rastgele nokta, çeyrek daire
  • Gelecek değer / faiz tablosu örneği
  • Döngü tasarım stratejisi: önce bir tur elle, sonra genelle

Temel Kavramlar

  • İç içe döngü: Bir döngünün gövdesinde başka bir döngü; toplam tur = dış × iç.
  • break: İçinde bulunduğu döngüyü hemen bitirir.
  • continue: Kalan gövdeyi atlayıp sonraki tura geçer.
  • Euclid algoritması: EBOB(a, b) = EBOB(b, a mod b); 2300 yıllık, hâlâ en iyisi.
  • Monte Carlo: Rastgele deneylerle sayısal tahmin yapma yöntemi.

Sahadan Örnekler

  • Kriptografi: RSA’nın içinde Euclid’in genişletilmiş hali çalışır; her HTTPS bağlantısı bu döngüden geçer.
  • Görüntü işleme: bir fotoğrafın her pikseli satır-sütun iç içe döngüsüyle gezilir; 12 megapiksel = 12 milyon tur.

Laboratuvar

Bu haftanın laboratuvarı bir hafta sonra yapılır (A Çarşamba 13.15, B Perşembe 15.15): Lab 7. Tarihler için Ders Hakkında sayfasındaki takvime bakın.

Bu haftanın araçları

  • Java Playground
  • JDK 21
  • VS Code
  • Math.random

Etiketler:iç içe döngübreakcontinueEBOBEuclidasalMonte Carlo

Laboratuvar · Hafta 7

Lab 7 · İç İçe Döngüler ve Klasik Algoritmalar

Desen yazdırma, çarpım tablosu, EBOB'un üç sürümü ve adım sayısı ölçümü, Monte Carlo ile pi tahmini.

Yürüten
Arş. Gör. Ömer Miraç Kökçam
Laboratuvar sorumlu hocası
Tarihler (teoriden bir hafta sonra)
A Çarşamba 11 Kasım 13.15
B Perşembe 12 Kasım 15.15

Lab hedefleri

  • 1 İç içe döngüyle en az iki desen ve bir tablo yazdırır.
  • 2 EBOB'un kaba kuvvet ve Euclid sürümlerini yazıp adım sayılarını karşılaştırır.
  • 3 Math.random ile Monte Carlo pi tahmini yapar ve nokta sayısıyla doğruluğun ilişkisini gözlemler.

Bu lab neyi uyguluyor?

7. haftanın teorisini. Laboratuvar teoriden bir hafta sonra yapılır: A şubesi Çarşamba 13.15, B şubesi Perşembe 15.15; tarihler Ders Hakkında takviminde.

Görevler

Teslim

Görev dosyalarınızı Classroom 50 bağlantısıyla açılan Lab 7 deponuza push edin (bağlantı lab günü verilir; depo adı algo1-lab07-KULLANICIADI). Otomatik kontrol sonucunu deponun Releases sayfasında görür, düzeltip tekrar push edebilirsiniz. Son teslim: lab haftasının Cuma 23.59’u. Lab’da lab sorumlu hocanıza 30 saniyede bir görevi anlatın. Yapay zeka sarı bölge: soru sorabilirsiniz, kod kopyalayamazsınız.

Lab araçları

  • JDK 21
  • VS Code
  • Git

Lab sırasında kodu kendi bilgisayarınızda ya da Java Playground'da çalıştırabilirsiniz.