İçeriğe geç

Kitaplar / Yöntem ile Programlamaya Giriş / Bölüm 6 — Prosedürler ve fonksiyonlar

Bölüm 6 — Prosedürler ve fonksiyonlar

Büyük bir işi küçük, adlandırılmış parçalara bölmek programı okunur ve yeniden kullanılabilir yapar. Prosedür bir iş yapar; fonksiyon ise bir değer döndürür.

Yöntem
program AltProgramlar

prosedür Çizgi(uzunluk: tamsayı = 20; karakter: metin = '-')
değişken
  i: tamsayı
başla
  1'den uzunluk'a kadar her i için yaz(karakter)
  yaz('', 1)
bitir

fonksiyon Kare(x: ondalık): ondalık
başla
  sonuç := x * x
bitir

fonksiyon Faktöriyel(n: tamsayı): tamsayı
başla
  eğer n <= 1 ise dön 1                   // dön: değeri ver ve hemen çık
  dön n * Faktöriyel(n - 1)              // özyineleme
bitir

prosedür Takas(değişken a, b: tamsayı)   // referansla parametre
değişken
  geçici: tamsayı
başla
  geçici := a
  a := b
  b := geçici
bitir

değişken
  x, y: tamsayı

başla
  Çizgi
  yaz('Kare(1.5)    = ' + Kare(1.5), 1)
  yaz('Faktöriyel(20) = ' + Faktöriyel(20), 1)
  x := 1;  y := 2
  Takas(x, y)
  yaz('Takas sonrası: x = ' + x + ', y = ' + y, 1)
  Çizgi(10, '=')
bitir.
Çıktı
--------------------
Kare(1.5)    = 2.25
Faktöriyel(20) = 2432902008176640000
Takas sonrası: x = 2, y = 1
==========
Kavram Örnekte Açıklama
Varsayılan parametre uzunluk: tamsayı = 20 Verilmezse bu değer kullanılır. Çizgi; boş çağrılabildi.
Yerel değişken değişken i Yalnızca o alt programın içinde yaşar
sonuç sonuç := x * x Fonksiyonun döndüreceği değer
dön dön 1 Değeri belirler ve fonksiyondan hemen çıkar
Özyineleme Faktöriyel(n - 1) Fonksiyon kendini çağırır; bir durma koşulu şarttır
Referans parametre değişken a, b Değişikliği çağıranın değişkenine yansıtır

Normal parametreler değer olarak aktarılır: fonksiyon kendi kopyasını değiştirir, asıl değişken etkilenmez. Başına değişken yazılan parametre ise çağıranın değişkenine bağlanır; Takas bu yüzden çalıştı. Parametresiz alt programlar parantezsiz çağrılır: Çizgi;