Algo-I
10 Diziler

Tek Boyutlu Diziler I: Oluşturma, Gezinme ve Referans

Yüz sayıyı yüz değişkende tutmak yerine tek dizide: oluşturma, indeksle erişim, gezinme, en büyüğü bulma (1. haftanın insan bilgisayarı geri dönüyor) ve dizinin bir referans olduğu gerçeği.

Teori
Cuma 27 Kasım · A 09.15 / B 13.15
Laboratuvar
A Çarşamba 2 Aralık 13.15 · B Perşembe 3 Aralık 15.15(teoriden bir hafta sonra) Lab içeriği ↓
Ders planı
Dizi tanımlama ve oluşturma, indeks ve length, dizide gezinme (for ve for-each), rastgele değerlerle doldurma, dizi referansı ve bellek gösterimi

Teori

Öğrenme hedefleri

Bu haftanın sonunda:

  • 1 Dizi tanımlar, oluşturur ve başlangıç değeri verir; length'i kullanır.
  • 2 for ve for-each ile diziyi gezer; toplam, ortalama, en büyük/en küçük bulur.
  • 3 ArrayIndexOutOfBoundsException'ı tanır ve sebebini söyler.
  • 4 Dizinin bir referans olduğunu bellek çizimiyle açıklar; iki değişkenin aynı diziyi paylaşmasını fark eder.

Haftanın Bulmacası

Posta kutuları: tahtada 0’dan 7’ye numaralı sekiz kutu, içlerinde sayılar. “İnsan bilgisayar” 1. haftadaki tarifle en büyüğü bulur; bu kez kutu numarası (indeks) ve “kutu kalmadı mı?” (length) kelimeleriyle. Sonra aynı tarif for döngüsüyle koda döner.

Ders Notları

İşlenecek başlıklar:

  • Neden dizi: 100 sayının ortalaması ve ortalamanın üstündekiler
  • Dizi tanımlama, new ile oluşturma, başlangıç değeri listesi
  • İndeks 0’dan başlar; length; sınır dışı erişim hatası
  • Gezinme: for ile; for-each ile; ne zaman hangisi
  • Toplam, ortalama, min/max, belirli değeri sayma
  • Rastgele dizi ve histogram (Think Java 7.7)
  • Dizi bir referanstır: bellek çizimi; a = b iki isim tek dizi
  • Kart destesi çekme, sayı analizi örnekleri (geçen yıl)

Temel Kavramlar

  • Dizi (array): Aynı tipte sabit sayıda değeri yan yana tutan yapı.
  • İndeks: Elemanın sıra numarası; 0’dan length-1’e.
  • length: Dizinin eleman sayısı; alan, metot değil (parantez yok).
  • for-each: Elemanları indekse dokunmadan gezen döngü.
  • Referans: Dizi değişkeni diziyi değil, dizinin bellekteki yerini tutar.

Sahadan Örnekler

  • Ses dosyası: bir şarkı saniyede 44.100 sayıdan oluşan devasa bir dizidir; ses seviyesi, her elemanı bir katsayıyla çarpan döngüdür.
  • Sensör verisi: bir aracın son 1000 hız ölçümü dairesel bir dizide tutulur; ortalama ve en yüksek değer sürekli hesaplanır.

Laboratuvar

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

Bu haftanın araçları

  • Java Playground
  • JDK 21
  • VS Code
  • GitHub Codespaces

Etiketler:diziarrayindekslengthfor-eachreferans

Laboratuvar · Hafta 10

Lab 10 · Dizilerle İlk Adımlar

Dizi oluşturma, doldurma, gezinme; toplam, ortalama, en büyük; rastgele dizi ve histogram; sınır dışı hata deneyimi.

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

Lab hedefleri

  • 1 Dizi oluşturur, for ve for-each ile gezer; istatistik hesaplar.
  • 2 ArrayIndexOutOfBoundsException'ı bilerek üretip mesajını yorumlar.
  • 3 Dizinin referans olduğunu iki değişkenle gösterir.

Bu lab neyi uyguluyor?

10. 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 10 deponuza push edin (bağlantı lab günü verilir; depo adı algo1-lab10-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
  • GitHub Codespaces
  • Git

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