Alt Programlar
Procedure: Procedure Turbo Pascal dilinde en çok kullanıla alt program tipidir. Procedure ile tanımlanan alt programlar ana programda bir komut gibi kullanılabilirler. Alt programları tanımlarken yapılmasını istediğimiz komutları begin...end kalıbının içerisne yazmamız gerekmektedir.
Örnek:
procedure yaz;
begin
write('www.bilimveteknoloji.com');
End;
begin
yaz;
end.
Bu örnekte öncelikle yaz isminde bir alt program tanımlıyoruz. Daha sonra ana programda "yaz" procedure'sini bir komut gibi kullanarak ekrana "www.bilimveteknloji.com" yazdırıyoruz.
Procedure'ye Parametre Girme: Proceduremizi tanımlarken beraber tanımlayacağımız değişkenler sayesinde proceduremizi parametreli bir komut olarak kullana biliriz.
Örnek:
procedure isim(a:integer);
Begin
if a:=1 then writeln('Ahmet');
if a:=0 then writeln('Mehmet');
end;
begin
isim (0);
isim (1);
isim (0);
end;
Bu örnekte ana programda ilk olaram isim altrrogramını 0 parametresiyle çağırdığımız için ekrana Mehmet yazacak. Daha sonra ise 1 ve takrar sıfır parametrelerini kullandığımız için Ahmet, Mehmet yazacak. Yani program ekrana alt alta Mehmet, Ahmet, Mehemet yazacak.
Procedure'de Forward: Procedure ler ana programdan önce tanımlanmalıdır. Eğer görünüm güzelliği ve anlaşırlık açısından alt program ana programdan sonra yazılmak istenirse. Ana programdan önce procedure'nin adı ve değişkenleri tanımlanıp sonuna Forward eklenir. Bu durumda alt program ana programdan sonra yazıla bilir. Fakat ana programdan önce tannımlanmış olur.
Örnek:
procedure isim(a:integer); Forward;
begin
isim (0);
isim (1);
isim (0);
end;
procedure isim
Begin
if a:=1 then writeln('Ahmet');
if a:=0 then writeln('Mehmet');
end;
Bu örnek ikinci örnekle aynı işlemi yapmaktadır. Tek farkı alt programın ana programdan sonra yazılmış olmasıdır.
Function: Functionlar da procedureler gibi komut olarak kullanılabilen alt programlardır. Function, Procedureden farklı olarak geriye bir değer döndürür. Döndüreceği değer tibi function tanımlanırken belirtilir. Function içerisinde kullanılacak olan değişkenlerin önceden tanıtılmasına grek yoktur. Değişken isimleri ve tipleri function ile birlikte tanımlanır.
var
x,y:integer;
function ucgenalan (a,h:integer):integer;
begin
ucgenalan := (a*h) div 2;
end;
begin
write('Üçgenin taban uzunluğunu giriniz');readln(x);
write('Üçgenin yüksekliğini giriniz');readln(y);
writeln(ucgnalan(x,y))
end.
Yukarıdaki örnek üçgenin alanını hesaplamak için kullanılan bir function örneğidir. Ana programda girilen taban uzunluğu ve yükseklik değerleri "ucgenlan" alan isimli functiona gönderilerek ücgenin alanı hesaplanıyor.