Files
ornekler/dersler/05-veri-turleri.md
T
semih 494781e84f Dersler ve Temeller; web örnekleri PORT ortam değişkenini okur
- 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ı.
2026-10-17 22:07:47 +03:00

112 lines
2.7 KiB
Markdown

---
baslik: Veri türleri
bolum: Temeller
ozet: sayi, ondalik, metin, mantik ve tür belirtmek
---
Her değerin bir türü vardır. Tür, o değerle neler yapabileceğini belirler: sayılar toplanır, metinler birleştirilir, mantık değerleriyle karar verilir.
## Dört temel tür
| Tür | Ne tutar | Örnek |
|---|---|---|
| `sayi` | tam sayı | `42`, `-7`, `85_000_000` |
| `ondalik` | küsuratlı sayı | `3.14`, `-0.5`, `1.0` |
| `metin` | yazı | `"Kars"`, `""` |
| `mantik` | doğru ya da yanlış | `dogru`, `yanlis` |
```kbl
il = "Kars" # metin
rakim = 1768 # sayi
sicaklik = -4.5 # ondalik
kar_yagiyor = dogru # mantik
yazdir(il, rakim, sicaklik, kar_yagiyor)
```
```cikti
Kars 1768 -4.5 doğru
```
Mantık değerleri kodda `dogru`/`yanlis` diye yazılır ama ekranda Türkçe harflerle `doğru`/`yanlış` görünür.
## sayi ve ondalik farklı türlerdir
Ondalık sayılarda virgül değil **nokta** kullanılır. `3` bir `sayi`, `3.0` ise bir `ondalik`tır.
```kbl
a = 3
b = 3.0
yazdir(a)
yazdir(b)
```
```cikti
3
3.0
```
Uzun sayılarda basamakları `_` ile ayırabilirsin; değer değişmez, okumak kolaylaşır.
```kbl
nufus = 85_000_000
yazdir(nufus)
```
```cikti
85000000
```
## Metinler
Metin, tırnak içindeki yazıdır. Çift ya da tek tırnak kullanabilirsin. Hiç karakter içermeyen `""` boş metindir.
```kbl
selam = "Merhaba"
isim = 'Zeynep'
yazdir(selam + " " + isim)
```
```cikti
Merhaba Zeynep
```
> **Dikkat:** `"42"` bir sayı değil, iki karakterlik bir metindir. `"42" + 1` derlenmez. Metinle sayı arasında geçişi *Tür dönüşümleri* dersinde göreceksin.
## Türü açıkça yazmak
Türü yazmak zorunlu değil ama istersen `ad: tur = değer` biçiminde yazabilirsin. Derleyici o zaman değerin o türde olduğunu denetler.
```kbl
fiyat: ondalik = 49.90
stok: sayi = 12
urun: metin = "Defter"
yazdir(urun, stok, fiyat)
```
```cikti
Defter 12 49.9
```
`49.90` ekranda `49.9` olarak görünür; sondaki sıfır sayının değerini değiştirmez. Biçimini kendin belirlemeyi *Biçimlendirme* dersinde öğreneceksin.
## Türler karşılaştırılabilir mi?
Farklı türden iki değeri karşılaştırmak anlamsızdır ve derleyici buna izin vermez:
```kbl goster
yazdir("5" == 5) # hata: 'metin' ile 'sayi' karşılaştırılamaz
```
Bu bir kolaylıktır: yanlışlıkla metni sayıyla karşılaştırdığın bir hatayı program çalışmadan yakalarsın.
## Alıştırma
```alistirma
Bir kitap için dört değişken oluştur: `ad` (metin, "Çalıkuşu"), `sayfa` (sayi, 544), `puan` (ondalik, 4.8), `okundu` (mantik, dogru). Dördünü tek bir `yazdir` ile sırayla yazdır.
%%%
# buraya yaz
%%%
ad = "Çalıkuşu"
sayfa = 544
puan = 4.8
okundu = dogru
yazdir(ad, sayfa, puan, okundu)
%%%
Çalıkuşu 544 4.8 doğru
```