İçeriğe geç

Kitaplar / Yöntem ile Programlamaya Giriş / Bölüm 2 — Değişkenler, tipler ve işleçler

Bölüm 2 — Değişkenler, tipler ve işleçler

Değişken, bir değeri saklayan adlandırılmış bir kutudur. Yöntem’de değişkenler kullanılmadan önce değişken bölümünde tipleriyle bildirilir, sonra := ile değer atanır.

Yöntem
program Değişkenler

sabit
  KDV_ORANI: ondalık = 0.20           // sabitler değiştirilemez

değişken
  ad: metin
  yaş: tamsayı
  boy: ondalık
  öğrenci: mantıksal
  fiyat: ondalık = 250.0     // ilk değerli bildirim

başla
  ad := 'Elif'
  yaş := 21
  boy := 1.68
  öğrenci := doğru

  yaz('Ad      : ' + ad, 1)
  yaz('Yaş     : ' + yaş, 1)
  yaz('Boy     : ' + boy + ' m', 1)
  yaz('Öğrenci : ' + öğrenci, 1)
  yaz('KDV''li fiyat: ' + fiyat * (1 + KDV_ORANI), 1)
  yaz('Tipler: ' + Tür(yaş) + ', ' + Tür(boy) + ', ' + Tür(ad), 1)
bitir.
Çıktı
Ad      : Elif
Yaş     : 21
Boy     : 1.68 m
Öğrenci : doğru
KDV'li fiyat: 300.0
Tipler: tamsayı, ondalık, metin

Dikkat edilecek noktalar şunlardır:

Temel tipler

Tip Örnek değer Varsayılan Açıklama
tamsayı 42, -7, $FF 0 Tam sayılar, sınırsız büyüklükte
ondalık 3.14, 1e-3 0.0 Kesirli sayılar
metin 'Merhaba' '' Yazılar; karakterler 1’den numaralanır
mantıksal doğru, yanlış yanlış Evet/hayır değerleri
liste [1, 2, 3] [] Bölüm 7’de anlatılır
sözlük ['a': 1] [:] Bölüm 7’de anlatılır
herhangi her şey boş Tip denetimi yapılmaz

Yöntem tipleri çalışma sırasında denetler. Yanlış tipte bir değer atarsanız program açık bir mesajla durur:

Yöntem
değişken n: tamsayı
başla
  n := 3.5
bitir.
Çıktı
Çalışma hatası [b3h.y, satır 3] 'n' için tip uyuşmazlığı: tamsayı bekleniyordu, ondalık verildi

Tipler arasında dönüşüm yapmak için tip adlarını fonksiyon gibi kullanabilirsiniz:

Yöntem
program Dönüşümler
değişken
  s: metin
  n: tamsayı
  x: ondalık
başla
  s := '42'
  n := tamsayı(s) + 8
  x := ondalık('3,75')          // virgül de kabul edilir
  yaz(n, 1)
  yaz(x * 2, 1)
  yaz(metin(n) + metin(n), 1)
  yaz(Yuvarla(3.6) + ' ' + Kes(3.6), 1)
bitir.
Çıktı
50
7.5
5050
4 3

İşleçler

Yöntem
program İşleçler
başla
  yaz('17 + 5   = ' + (17 + 5), 1)
  yaz('17 / 5   = ' + (17 / 5), 1)
  yaz('17 böl 5 = ' + (17 böl 5), 1)
  yaz('17 mod 5 = ' + (17 mod 5), 1)
  yaz('2 ** 10  = ' + (2 ** 10), 1)
  yaz('(3 > 2) ve (1 = 1) = ' + ((3 > 2) ve (1 = 1)), 1)
  yaz('değil doğru = ' + (değil doğru), 1)
  yaz('5 > 3 ve 2 > 8 = ' + (5 > 3 ve 2 > 8), 1)
bitir.
Çıktı
17 + 5   = 22
17 / 5   = 3.4
17 böl 5 = 3
17 mod 5 = 2
2 ** 10  = 1024
(3 > 2) ve (1 = 1) = doğru
değil doğru = yanlış
5 > 3 ve 2 > 8 = yanlış
İşleç Anlamı
+ - * toplama, çıkarma, çarpma
/ bölme; sonuç her zaman ondalık
böl, mod tam sayı bölmesi ve kalan
** üs alma
= <> < > <= >= eşit, eşit değil, küçük, büyük…
ve, veya, yada, değil mantıksal işleçler
+= -= *= /= kısa atama: x += 1 ≡ x := x + 1

İpucu: Bir ifadeyi metnin içine koyarken paranteze almanız iyi olur. 'Toplam: ' + 2 + 3 önce 'Toplam: 2' olur, sonuç da 'Toplam: 23' çıkar. Doğrusu 'Toplam: ' + (2 + 3) biçimidir.