Kitaplar / Yöntem ile Programlamaya Giriş / Bölüm 11 — Birimler: programı parçalara bölmek
Bölüm 11 — Birimler: programı parçalara bölmek
Büyüyen bir programı tek dosyada tutmak zorlaşır. Birim, başka programların kullanabileceği bağımsız bir kod dosyasıdır. Bir birimin iki yüzü vardır: arayüz dışarıya ne sunduğunu, uygulama ise bunu nasıl yaptığını içerir.
Geometri.y dosyası şöyledir:
Yöntem
birim Geometri
{ Basit geometri hesapları }
arayüz // dışarıya açılan adlar
sabit BİRİM_ADI: metin = 'cm'
fonksiyon DaireAlanı(r: ondalık): ondalık
fonksiyon DikdörtgenAlanı(en, boy: ondalık): ondalık
uygulama // ayrıntılar burada gizli
kullan Matematik
değişken çağrıSayısı: tamsayı
fonksiyon DaireAlanı(r: ondalık): ondalık
başla
çağrıSayısı += 1
dön pi * Üs(r, 2)
bitir
fonksiyon DikdörtgenAlanı(en, boy: ondalık): ondalık
başla
çağrıSayısı += 1
dön en * boy
bitir
başla // birim ilk yüklendiğinde çalışır
çağrıSayısı := 0
yaz('[Geometri birimi yüklendi]', 1)
bitir.Aynı klasördeki ana.y dosyası ise şöyledir:
Yöntem
program AlanHesabı
kullan Geometri
başla
yaz(Biçimle('Daire (r=2) : {:.2} {}²', DaireAlanı(2), BİRİM_ADI), 1)
yaz(Biçimle('Dikdörtgen (3x4) : {:.2} {}²', Geometri.DikdörtgenAlanı(3, 4), BİRİM_ADI), 1)
yaz(Geometri.çağrıSayısı, 1)
bitir.Çıktı
[Geometri birimi yüklendi]
Daire (r=2) : 12.57 cm²
Dikdörtgen (3x4) : 12.00 cm²
Çalışma hatası [ana.y, satır 6] 'Geometri' biriminde 'cagrisayisi' dışa aktarılmamışSon satırdaki hata bilerek bırakıldı: çağrıSayısı yalnızca uygulama bölümünde tanımlıdır; bu yüzden dışarıdan görünmez. Birimler iç ayrıntıları böyle korur.
kullan Geometri;birimi yükler. Dışa açılan adlar doğrudan (DaireAlanı) ya da birim adıyla (Geometri.DikdörtgenAlanı) kullanılır.- Birimin
başla … bitir.bölümü, birim ilk kez yüklendiğinde bir kez çalışır. - Birim dosyaları şu sırayla aranır: programın klasörü, onun
kutuphanealt klasörü, Yöntem’in kendikutuphaneklasörü.
Yöntem’le birlikte gelen hazır birimler şunlardır:
| Birim | İçerik |
|---|---|
Matematik |
Sin, Cos, Ln, Üs, Taban, Tavan, Faktöriyel, pi, e… |
Sistem |
Zaman, Tarih, DosyaOku, DosyaYaz, Argümanlar… |
Veri |
CSVOku, CSVYaz, JSONÇöz, JSONYap, Standartlaştır… |
İstatistik |
Ortalama, Medyan, StandartSapma, Korelasyon… |
YZ |
Tensörler, otomatik türev, sinir ağları (Bölüm 12–13) |
Arama, Uzman, Dil, MakineÖğrenmesi |
Klasik yapay zekâ (Bölüm 14) |
Kuantum, KuantumAlgoritmaları |
Kuantum programlama (Bölüm 15) |
Alıştırmalar
Dikdörtgenadında bir sınıf yazınız:en,boyalanları,AlanveÇevremetodları olsun. Ondan türeyen ve kurucusu tek kenar alanKaresınıfınımirasile yazınız.Hesapsınıfına, her işlemi bir listeye kaydeden veGeçmişmetoduyla bu listeyi döndüren bir özellik ekleyiniz.- Alıştırma 1’deki sınıfları
Şekilleradında bir birime taşıyınız ve başka bir programdan kullanınız.