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