İçeriğe geç

Kitaplar / Yöntem Dil Başvurusu / 2. Program yapısı

2. Program yapısı

Çıktı
dosya:   birim | program
program: ['program' AD] kullan* bildirim* blok '.'
kullan:  'kullan' ','.AD+
blok:    'başla' deyimler 'bitir'

Bir dosya ya bir program ya da bir birimdir. Program başlığı isteğe bağlıdır; ardından kullanılan birimler, bildirimler ve başla … bitir. ile yazılan ana gövde gelir.

Yöntem
program Selam
kullan Matematik

sabit
  KEZ = 3
değişken
  i: tamsayı

prosedür Selamla(kime: metin = 'dünya')
başla
  yaz('Merhaba, ' + kime, 1)
bitir

başla
  1'den KEZ'e kadar her i için Selamla
  Selamla('Yöntem')
bitir.

Bildirim bölümleri

Çıktı
bildirim: 'sabit' (AD [':' tip] '=' ifade)*
        | 'değişken' (','.AD+ [':' tip] ['=' ifade])*
        | 'tip' (AD '=' tip_tanimi)*
        | altprogram

Bölümler istenen sırada ve istenen sayıda yazılabilir. Değişken bildiriminde tip ya da ilk değerden en az biri bulunmalıdır; = yerine := de yazılabilir.

Bildirim Anlamı
sayaç: tamsayı Tipli değişken; tipin başlangıç değerini alır
ad: metin = 'Yöntem' Tipli ve ilk değerli
oran := 0.5 Tipsiz; her tipte değer alabilir
a, b: ondalık Aynı tipte birden çok değişken

Başlangıç değerleri: tamsayı için 0, ondalık için 0.0, metin için boş metin, mantıksal için yanlış, liste için [], sözlük için [:], kayıt tipleri için alanları başlangıç değerinde bir kayıt, sınıf tipleri ve herhangi için boş.

Sabite atama yapılamaz; denenirse program “Sabite atama yapılamaz” hatasıyla durur.

Kapsam

Bir ad, bildirildiği yerden itibaren o kapsamda ve içteki kapsamlarda görünür. Kapsamlar şunlardır: program (ya da birim), her alt program, her sınıf (alanlar ve metodlar, metod gövdelerinde doğrudan görünür). Bir blok içinde değişken ile bildirilen ad, içinde bulunduğu alt programın (ya da ana gövdenin) kapsamına girer.

İçteki bir bildirim dıştaki aynı adı gölgeler. Birimlerden gelen adlar da program içinde yeniden bildirilerek gölgelenebilir.