Files
ornekler/dersler/02-sozdizimi-girinti.md
T

3.0 KiB

baslik, bolum, ozet
baslik bolum ozet
Sözdizimi ve girinti Giriş Satırlar, iki nokta, girintili bloklar ve büyük/küçük harf

Her dilin bir yazım kuralı vardır. KabaLang'de kurallar az ve sade: her komut kendi satırında durur, bloklar süslü parantezle değil girintiyle belirtilir.

Her satır bir komut

Satır sonuna noktalı virgül koymazsın. Satır bitince komut da biter.

yazdir("Ankara")
yazdir("İzmir")
Ankara
İzmir

Bloklar: iki nokta ve girinti

Bazı satırlar bir blok açar: eger, dongu, fonksiyon gibi. Bu satırlar : ile biter. Altındaki satırlar 4 boşluk içeriden başlar; o satırlar bloğa aittir.

sicaklik = 32
eger sicaklik > 30:
    yazdir("Hava çok sıcak.")
    yazdir("Bol su iç.")
yazdir("Bu satır her zaman çalışır.")
Hava çok sıcak.
Bol su iç.
Bu satır her zaman çalışır.

Girintisi biten satır, bloğun dışına çıkmış olur. Yukarıdaki son satır eger'e bağlı değildir.

Sıcaklığı 20 yapıp Dene ile çalıştır: ilk iki satır kaybolur, son satır yine görünür.

İç içe bloklar

Bir bloğun içinde başka bir blok açabilirsin. Her düzey 4 boşluk daha içeride başlar.

sicaklik = 32
yagmur = yanlis
eger sicaklik > 25:
    yazdir("Hava sıcak.")
    eger degil yagmur:
        yazdir("Pikniğe gidebilirsin.")
Hava sıcak.
Pikniğe gidebilirsin.

Dikkat: :'dan sonraki satırı girintisiz yazmak hatadır. Aşağıdaki kod derlenmez; derleyici "blok gövdesi boş — ':' sonrasındaki satırlar girintili olmalı" der.

eger dogru:
yazdir("girinti unutuldu")

Sebepsiz girinti de hatadır: blok açmayan bir satırın altını içeriden başlatamazsın. Bir de :'yı unutursan derleyici "blok açan satırın sonunda ':' eksik" der ve :'nın gideceği yeri gösterir.

Büyük ve küçük harf

KabaLang büyük/küçük harfi ayırır. sehir, Sehir ve SEHIR üç ayrı addır. Anahtar sözcükler (eger, dongu, dogru) ve hazır fonksiyonlar (yazdir) hep küçük harfle yazılır.

sehir = "Bursa"
Sehir = "Konya"
yazdir(sehir)
yazdir(Sehir)
Bursa
Konya

İpucu: Kodda Türkçe karakterli ad kullanmak yerine ASCII harfler yeğle: sehir, ogrenci, dogru. Anahtar sözcükler de böyle yazılır (degilse, iken). Metinlerin içinde ise ç, ğ, ı, ö, ş, ü'yü serbestçe kullan.

Uzun satırı bölmek

Parantez açıkken satırı bölebilirsin; parantez kapanana kadar tek satır sayılır.

toplam = (120 +
    75 +
    300)
yazdir(toplam)
495

Alıştırma

`puan` 50'den büyükse önce `Geçtin.` sonra `Tebrikler!` yazdır. Bu iki satır bloğun içinde olsun. En sonda, bloğun dışında `Sınav bitti.` yazdır.
%%%
puan = 72
eger puan > 50:
    # buraya yaz
%%%
puan = 72
eger puan > 50:
    yazdir("Geçtin.")
    yazdir("Tebrikler!")
yazdir("Sınav bitti.")
%%%
Geçtin.
Tebrikler!
Sınav bitti.