Files

157 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

---
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
```