Bu
yazımda Pascal Programlamada alt programlar konusunu inceleyeceğiz.
Alt
programlar, isimlerinden anlaşılacağı gibi programlar içinde yer alan ve belli bir
görevi bulunan kod bloklarıdır. Alt programları prosedürler ve fonksiyonlar
olmak üzere iki farklı şekilde göreceğiz. Bu kavramlara metot da denmektedir.
Alt
programlar kullanımı ile, karmaşık kodlamalar ve kod tekrarlamaları giderilir. Bu
sayede daha okunabilir programlar ortaya çıkar ve hata ayıklama kolaylaşır.
Prosedürler:
Program
içinde çok kez kullanılacak bir işlem için bir kez yazılıp, programın devamında
istenildiği kadar kullanılabilir.
Geriye
değer döndürmez ancak kendilerine gönderilen parametrelerin değerlerini
değiştirebilirler.
Prosedürlere
gönderdiğimiz parametrelerin ana programdaki değerlerinin değişmesini istemiyorsak
değer ile çağırma (call by value), değişmesini istiyorsak referans ile çağırma
(call by reference) yapılmalıdır.
Aşağıda
prosedür tanımlama örneği verilmiştir.
procedure isim(parametre:veritipi);
var ...;
begin
...
end;
Fonksiyonlar:
Fonksiyonlar
prosedürlerden farklı olarak çağrıldıkları programa bir değer döndürürler. Fonksiyon tanımlanırken geriye döndüreceği değerin tipi belirtilmelidir.
Aşağıda
fonksiyon tanımlama örneği verilmiştir.
function isim(Parametre:veritipi):veritipi;
var ...;
begin
...
isim:değer;
...
end;
Şimdi örneklerimizi inleyelim.
uses crt;
var
sayi,i,top:integer;
procedure fakto(sayi:integer);
begin
top:=1;
for i:=1 to sayi do
begin
top:=top*i;
end;
writeln(sayi,' sayisinin faktorüyeli:',top);
end;
begin
clrscr;
writeln('bir sayi girin');
readln(sayi);
fakto(sayi);
readln;
end.
Bu örnekte, prosedür kullanılarak girilen sayının faktöriyeli hesaplanmıştır.
uses crt;
function f(n:real):real;
begin
if n<2 then
f:=n
else
f:=f(n-2)+f(n-1);
end;
var
n:real;
begin
clrscr;
repeat
readln(n);
until (n=trunc(n)) and (n>=0);
writeln(n:0:0,'.fibonacci sayisi:',f(n):0:0);
readln;
end.
Bu örnekte de, fonksiyon kullanılarak istenilen sıradaki fibonacci sayısı bulunmaktadır.
Hiç yorum yok:
Yorum Gönder