--- baslik: Değişkenler bolum: Temeller ozet: Değerlere ad vermek, yeniden atamak ve değişmezler --- Program çalışırken bilgileri bir yerde tutman gerekir: bir öğrencinin adı, sepetteki ürün sayısı, bugünkü sıcaklık. Değişken, bir değere verdiğin addır. ## Değişken oluşturmak `ad = değer` yazınca değer o ada bağlanır. Sonra o adı her kullandığında değeri gelir. ```kbl ogrenci = "Elif" yas = 15 yazdir(ogrenci) yazdir(yas) ``` ```cikti Elif 15 ``` Türü yazmana gerek yoktur; KabaLang değere bakıp anlar. `"Elif"` bir metin, `15` bir tam sayıdır. ## Değeri değiştirmek Bir değişkene yeni değer atayınca eskisi unutulur. ```kbl sicaklik = 18 yazdir(sicaklik) sicaklik = 24 yazdir(sicaklik) ``` ```cikti 18 24 ``` Değişkenin yeni değerini eskisinden de hesaplayabilirsin. ```kbl bakiye = 500 bakiye = bakiye - 120 bakiye = bakiye + 75 yazdir(bakiye) ``` ```cikti 455 ``` ## Kısaltmalar: += ve -= `bakiye = bakiye + 75` yerine `bakiye += 75` yazabilirsin. `-=` ve `*=` de aynı mantıkla çalışır. ```kbl puan = 10 puan += 5 # puan = puan + 5 puan *= 2 # puan = puan * 2 puan -= 4 # puan = puan - 4 yazdir(puan) ``` ```cikti 26 ``` ## Değişken adları - Harfle ya da `_` ile başlar; içinde harf, rakam ve `_` olabilir. - Boşluk içeremez: `dogum yili` olmaz, `dogum_yili` olur. - Anahtar sözcükler ad olamaz: `eger`, `dongu`, `sinif` gibi. - Anlamlı ad seç: `x` yerine `fiyat`, `n` yerine `ogrenci_sayisi`. ```kbl dogum_yili = 2010 bu_yil = 2026 yazdir(bu_yil - dogum_yili) ``` ```cikti 16 ``` ## Bir değişkenin türü sabittir Bir değişkene ilk verdiğin değerin türü onun türü olur. Sonra başka türde bir değer atayamazsın. ```kbl goster adet = 5 adet = "beş" # derleme hatası: metin, sayı türündeki değişkene atanamaz ``` > **Dikkat:** Program derlenmeden önce bu hata yakalanır. Farklı türde bir değer saklamak istiyorsan yeni bir ad kullan: `adet_yazi = "beş"`. ## Aynı anda birden çok değişken Virgülle ayırarak birkaç değişkeni tek satırda oluşturabilirsin. ```kbl ad, sehir = "Mert", "Trabzon" yazdir(ad, sehir) ``` ```cikti Mert Trabzon ``` ## Değişmezler Programda hiç değişmemesi gereken değerler için `degismez` kullan. Böyle bir değere yeniden atama yaparsan program derlenmez. ```kbl degismez KDV_ORANI = 20 fiyat = 150 yazdir(fiyat + fiyat * KDV_ORANI / 100) ``` ```cikti 180.0 ``` ```kbl goster degismez KDV_ORANI = 20 KDV_ORANI = 18 # hata: 'KDV_ORANI' değişmez — değeri değiştirilemez ``` > **İpucu:** Değişmezleri BÜYÜK_HARFLE yazmak yaygın bir alışkanlıktır; kodu okuyan biri onun değişmeyeceğini hemen anlar. ## Alıştırma ```alistirma `cuzdan` 200 TL ile başlıyor. Önce 45 TL'lik bir kitap al (`-=`), sonra 30 TL harçlık ekle (`+=`). Son durumu yazdır. %%% cuzdan = 200 # buraya yaz yazdir(cuzdan) %%% cuzdan = 200 cuzdan -= 45 cuzdan += 30 yazdir(cuzdan) %%% 185 ``` ```alistirma `kenar` değişkeni bir karenin kenar uzunluğunu tutuyor. `alan` ve `cevre` adında iki değişken oluşturup karenin alanını ve çevresini hesapla, ikisini aynı satırda yazdır. %%% kenar = 7 # buraya yaz %%% kenar = 7 alan = kenar * kenar cevre = 4 * kenar yazdir(alan, cevre) %%% 49 28 ```