Pascal (7) BURAK KİPER PROCEDURE (Alt programlar) Yazdığımız bir fonksiyon kendisi- ne veri olarak bir veya birkaç para- metre alıp sadece bir tek değer elde eder. Bu yüzden bir kaç veri karşılı- Bi sadece bir değer elde edeceğimiz durumlarda fonksiyon yazmak yarar- h olabilir. Peki yazacağımız modülün birden fazla sonuç vermesi gerekiyor- sa ne yapabiliriz? Bu noktada bize yardımcı olarak PROCEDURE'lar yani alt programlar devreye giriyor. Alt programlar sayesinde yazımızın başında da söylediğimiz gibi progra- mımızı, ufak bir çok modül yazıp bunları birleştirerek oluşturabiliyo- ruz. Modüllerimiz bir çok paramet- re alıp bir çok sonuç elde ederek so- nuçları kendisini çağıran ifadeye ile- tebiliyoruz, bu sırada parametreleri lanımlama şeklinize göre veri para- metrelerinin de değerleri değişikliğe uğrayabiliyor. İlk olarak PROCEDURE 'ların ya- pısını görelim: PROCEDURE procedure-ismi; Bölgesel-bildirim-bölümü komutlar PROCEDURE kelimesinden son- ra sizin vermiş olduğunuz isme göre modülümüz tanımlarnmış olur. Bölgesel-bildirim-bölümü'nde yer alan tüm değişkenler sadece modülü- müz çalıştırıldığında tanımlıdırlar ve sadece modülün içinde kullanılabilir- ler. Yazdığımız modülü çalıştırmak is- tediğimizde adını yazmamız yeterli olur. Eğer modülümüz parametrelere sa- hip olacaksa yapısı aşağıdaki gibi ol- balıdır. PROCEDURE proc-ismi (parametreler); Bildir_îm-bölgesî GİN komutlar Aynı şekilde isteğimize göre modü- lümüze isim vererek modülümüzü ta- nımlamış oluyoruz. Bundan sonra parantez içinde parametreler yer alı- yor. Bildirim bölgesinde yer alan de- gişkenler sadece modül çalıştırıldığın- da tanımlı oluyorlar. BEGĞIİN...END arasında modülü- müzü oluşturan komutlar yer alıyor. Modülümüzü çalıştırmak için mo- dülün adını ve parantez içinde para- metrelerini vermek yeterli olur. Parametrelere göre hacim hesaplaya- cak bir modül hazırlıyalım: PROCEDURE HACİM (UZUN- LUK, GENİŞLİK, YÜKSEKLİK: REAL); VAR H:REAL; BEGÜN B H: - UZUNLUK*GENİŞLİK* YÜKSEKLİK; WRITELN (HACİM:0, H:9:1); END; Bir PROCEDURE'ün yapısı prog- ram veya fonksiyon yapısına benzer. Sadece ayrılmış kelime olarak PROGRAM veya FUNCTION yeri- ne PROCEDURE kullanıyoruz. An- cak PROCEDURE başlığı FUNCTI- ON başlığından bir noktada ayrılı- yor: Procedure ismi bir değer yükleme- de kullanılmadığından sonuç veri ti- pine ihtiyaç duymuyoruz. Yukarıda yazmış olduğumuz mo- dülü çalıştıralım: 52 Commodore