İçeriğe geç

Kitaplar / Yöntem Dil Başvurusu / 5. Deyimler

5. Deyimler

Çıktı
deyimler: (deyim (';' | satır sonu))*
govde:    deyim | boş

Döngü ve koşul yapılarının gövdesi tek bir deyimdir. Birden çok deyim çalıştırmak için gövde başla … bitir arasına alınır. tekrarla … olana dek, değerine göre … bitir ve dene … bitir kendi sınırlarını taşır.

Atama

Çıktı
atama: hedef (':=' | '+=' | '-=' | '*=' | '/=') ifade

Hedef bir değişken, alan (n.x) ya da dizin (L[i]) olabilir. a += b, a := a + b ile aynıdır. Atama bir ifade değildir; karşılaştırma =, atama := ile yazılır.

Çağrı deyimi

Tek başına yazılan bir çağrı, ad ya da üye erişimi alt programı çağırır ve varsa sonucunu atar: Selamla, yaz('a', 1), liste.Temizle.

Blok içi değişken

Yöntem
değişken toplam := 0

Deyimlerin arasında yazılan değişken bildirimi, içinde bulunduğu alt programın kapsamında yeni bir değişken tanımlar.

Koşul

Çıktı
eger_deyimi: 'eğer' ifade 'ise' govde ['değilse' govde]

Koşul mantıksal olmalıdır. değilse en yakın eğer’e bağlanır.

Yöntem
eğer x > 0 ise yaz('pozitif', 1)
değilse eğer x < 0 ise yaz('negatif', 1)
değilse yaz('sıfır', 1)

Çok seçenekli karar

Çıktı
degerine_gore: ifade 'değerine' 'göre' kol* ['değilse' [':'] deyimler] 'bitir'
kol:           ','.etiket+ ':' govde
etiket:        ifade ['..' ifade]

İfade bir kez hesaplanır ve kollar yukarıdan aşağıya denenir; uyan ilk kolun gövdesi çalışır, diğerleri atlanır. Etiket tek bir değer ya da alt..üst aralığı olabilir. Hiçbir kol uymazsa değilse bölümü çalışır.

Yöntem
puan değerine göre
  90..100: harf := 'A'
  80..89:  harf := 'B'
  0, 1, 2: harf := 'X'
  değilse harf := 'F'
bitir

Sayan döngü

Çıktı
sayan_dongu:
    ifade AYRILMA ifade YONELME 'kadar' 'her' AD 'için' govde
  | ifade AYRILMA ifade YONELME 'adımda' ifade ('artan' | 'azalan')
    'her' AD 'için' govde
Yazım Sayaç
1'den 10'a kadar her i için 1, 2, … 10
10'dan 0'a kadar her j için 10, 9, … 0
a'dan b'ye adımda c artan her d için a, a+c, … (b’yi geçmeden)
z'den y'ye adımda v azalan her u için z, z−v, … (y’nin altına inmeden)

Kurallar:

Koleksiyon döngüsü

Çıktı
her_dongusu: ifade 'içindeki' 'her' AD [',' AD] 'için' govde

Liste, sözlük, metin ve aralık üzerinde dolaşır. Tek adla listede elemanlar, sözlükte anahtarlar, metinde karakterler gelir. İki adla listede numara, eleman, sözlükte anahtar, değer çiftleri gelir.

Yöntem
adlar içindeki her ad için yaz(ad, 1)
yaşlar içindeki her ad, yaş için yaz(ad + ': ' + yaş, 1)

Koşullu döngüler

Çıktı
iken_dongusu:    ifade 'iken' govde
tekrarla_deyimi: 'tekrarla' deyimler ifade 'olana' 'dek'
kez_dongusu:     ifade 'kez' 'tekrarla' govde

koşul iken gövde, koşul doğru olduğu sürece gövdeyi çalıştırır; koşul her turdan önce sınanır. tekrarla … koşul olana dek gövdeyi en az bir kez çalıştırır ve koşul doğru olunca durur. n kez tekrarla gövde gövdeyi n kez çalıştırır.

Döngü denetimi

kır en içteki döngüden çıkar. devam en içteki döngünün sıradaki turuna geçer.

Eleman silme cümlesi

Çıktı
eleman_silme: ifade ('listesindeki' | 'dizisindeki') konum '.' 'elemanı' 'Sil'

L listesindeki 2. elemanı Sil, Sil(L, 2) ile aynıdır. Konum bir sayı, bir ad ya da ayraç içinde bir ifade olabilir: L listesindeki (i + 1). elemanı Sil.

Dönüş

dön ifade fonksiyonun sonucunu belirler ve fonksiyondan çıkar. dön tek başına ya da çık deyimi, sonucu değiştirmeden alt programdan çıkar. Ana gövdede çık programı bitirir.