- dersler/: 29 kısa ders (açıklama, çalıştırılabilir örnek, alıştırma). Her örneğin ve alıştırma çözümünün çıktısı Online IDE'nin hazırlık adımında gerçekten koşulup dosyadakiyle karşılaştırılır; biçim dersler/BICIM.md. - temeller/: tek konulu 12 başlangıç programı. - web/anket, web/kisalt, web/pano: port PORT ortam değişkeninden okunur (Online IDE önizlemesi 8080 verir), yoksa eski sabit port. - README: öğrenme bölümü, Online IDE bağlantısı.
4.9 KiB
baslik, bolum, ozet
| baslik | bolum | ozet |
|---|---|---|
| Modüller | Hatalar ve dosyalar | kullan ile hazır kütüphaneleri programına katmak |
Karekök almak, bir listeyi toplamak, metnin özetini çıkarmak gibi işleri her seferinde sıfırdan yazmazsın. KabaLang'in standart kütüphanesi bu işleri modüller halinde hazır sunar. kullan ile bir modülü programına katarsın.
kullan
kullan kaba.sistem yazınca matematik, dosya, konsol, json, kripto, zaman, rastgele gibi modüller birlikte gelir. Bir modülün fonksiyonu modul.fonksiyon() diye çağrılır.
kullan kaba.sistem
yazdir(matematik.karekok(144.0))
yazdir(matematik.mutlak(-17))
yazdir(f"{matematik.pi:.4f}")
12.0
17
3.1416
İpucu:
kullansatırlarını dosyanın en başına yaz. Hangi yetenekleri kullandığını okuyana hemen gösterir.
matematik
| Fonksiyon | Ne yapar | Örnek | Sonuç |
|---|---|---|---|
matematik.karekok(x) |
karekök | karekok(9.0) |
3.0 |
matematik.mutlak(x) |
mutlak değer | mutlak(-3) |
3 |
matematik.yuvarla(x) |
en yakın tam değere yuvarla | yuvarla(2.5) |
3.0 |
matematik.taban(x) |
aşağı yuvarla | taban(3.7) |
3.0 |
matematik.tavan(x) |
yukarı yuvarla | tavan(3.2) |
4.0 |
matematik.us(a, b) |
a üzeri b | us(2.0, 10.0) |
1024.0 |
matematik.pi |
π sayısı | 3.14159… |
kullan kaba.sistem
yazdir(matematik.yuvarla(2.5))
yazdir(matematik.taban(3.7))
yazdir(matematik.tavan(3.2))
yazdir(matematik.us(2.0, 10.0))
3.0
3.0
4.0
1024.0
yuvarla, taban ve tavan sonucu ondalik olarak verir. Tam sayı gerekiyorsa sayi(matematik.tavan(x)) yazarsın.
Gerçek bir örnek: dairenin alanı ve bir dik üçgenin hipotenüsü.
kullan kaba.sistem
yaricap = 2.5
yazdir(f"Alan: {matematik.pi * yaricap * yaricap:.2f}")
a = 3.0
b = 4.0
yazdir(f"Hipotenüs: {matematik.karekok(a * a + b * b)}")
Alan: 19.63
Hipotenüs: 5.0
koleksiyon
kullan kaba.koleksiyon listelerle çalışan hazır fonksiyonları getirir. Bunları Liste işlemleri dersinde görmüştün.
kullan kaba.koleksiyon
satislar = [120, 340, 90, 410, 250]
yazdir(koleksiyon.topla(satislar))
yazdir(koleksiyon.en_buyuk(satislar))
yazdir(koleksiyon.sirali(satislar))
1210
410
[90, 120, 250, 340, 410]
kripto
kripto metinlerin özetini (hash) çıkarır ve base64 kodlaması yapar. Özet, bir metnin parmak izidir: metin bir harf bile değişse özet tümden değişir.
kullan kaba.sistem
yazdir(kripto.sha256("merhaba").bastan(16))
yazdir(kripto.sha256("Merhaba").bastan(16))
kod = kripto.base64_kodla("KabaLang")
yazdir(kod)
yazdir(kripto.base64_coz(kod))
4c6bcdd55f3153e1
7fdc9f4717c5fe66
S2FiYUxhbmc=
KabaLang
Diğer modüller
| Modül | Ne için |
|---|---|
dosya |
dosya okuma/yazma (Dosyalar dersi) |
konsol |
klavyeden okuma (Kullanıcıdan girdi dersi) |
json |
JSON üretme ve çözme |
zaman |
saat, tarih, süre ölçümü |
rastgele |
rastgele sayı ve seçim |
zaman ve rastgele her çalıştırmada farklı sonuç verir. Örneğin rastgele.sayi(1, 6) bir zar atar, zaman.saat() şu anki saati verir. Kendi bilgisayarında Dene ile çalıştırıp her seferinde değiştiğini gör:
kullan kaba.sistem
yazdir("Saat: " + zaman.saat())
yazdir(f"Zar: {rastgele.sayi(1, 6)}")
Dikkat: Modül adlarını değişken adı olarak kullanma.
dosya = "notlar.txt"gibi bir atama,dosyamodülünü gölgeleyip kafa karıştırıcı hatalara yol açar;dosya_adigibi bir ad seç.
Tebrikler!
Temel dersleri bitirdin: değişkenler, koşullar, döngüler, listeler, sözlükler, fonksiyonlar, kendi türlerin, hata yönetimi ve dosyalar. Artık Örnekler bölümündeki daha büyük programları okuyabilir, kendi küçük projelerine başlayabilirsin.
Alıştırma
`alanlar` listesindeki her sayı bir karenin alanı. `matematik.karekok` ile her karenin kenar uzunluğunu bulup `Alan 49.0 → kenar 7.0` biçiminde yazdır.
%%%
kullan kaba.sistem
alanlar = [49.0, 2.25, 100.0]
# buraya yaz
%%%
kullan kaba.sistem
alanlar = [49.0, 2.25, 100.0]
dongu a icinde alanlar:
yazdir(f"Alan {a} → kenar {matematik.karekok(a)}")
%%%
Alan 49.0 → kenar 7.0
Alan 2.25 → kenar 1.5
Alan 100.0 → kenar 10.0
`fiyatlar` listesindeki her fiyatı `matematik.tavan` ile yukarı yuvarla, `sayi()` ile tam sayıya çevirip listeye ekle ve `koleksiyon.topla` ile yuvarlanmış fiyatların toplamını bul. Önce yuvarlanmış listeyi, sonra toplamı yazdır.
%%%
kullan kaba.sistem
kullan kaba.koleksiyon
fiyatlar = [12.3, 7.8, 19.01]
yuvarlanmis = []
# buraya yaz
%%%
kullan kaba.sistem
kullan kaba.koleksiyon
fiyatlar = [12.3, 7.8, 19.01]
yuvarlanmis = []
dongu f icinde fiyatlar:
yuvarlanmis.ekle(sayi(matematik.tavan(f)))
yazdir(yuvarlanmis)
yazdir(koleksiyon.topla(yuvarlanmis))
%%%
[13, 8, 20]
41