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ı.
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
---
|
||||
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
|
||||
```
|
||||
Reference in New Issue
Block a user