1 Ekim 1987 Tarihli Commodore Gazetesi Sayfa 58

1 Ekim 1987 tarihli Commodore Gazetesi Sayfa 58
Metin içeriği (otomatik olarak oluşturulmuştur)

BURAK KİPER G_eçen yazımızda modüllerle ana program arasında veri alış-verişi için ikinci yol olarak genel değişkenleri kullanabileceğimizi söyledik. Bu uy- gulamanın bir sakıncası bulunuyor. Eğer moödülle ana program arasında veri alış-verişini PARAMETRE de- ğişkenleri sağlarsa bir bakışta hangi değişkenlerin veri taşıdığını, hangi değişkenlerin etkilendiğini görebiliriz. Ancak veri alış-verişinde genel değiş- kenler kullanırsak, programımızı yaptıktan bir süre sonra programımı- za baktığımızda hangi değişkenlerin modüllerle veri irtibatı sağladığını an- lamakta güçlük çekebiliriz. Eğer PARAMETRE değişkenleri- ni veri alış-verişinde ön kapı olarak düşünürsek genel değişkenlere de veri alış-verişinin arka kapısı diyebiliriz. Genel değişkenleri modülle ana prog- ram arasında veri alış-verişinde kul- lanmak düzensiz bir program hazır- lamamıza neden olur. Bu yüzden ve- ri alış-verişlerinde PARAMETRE de- ğişkenlerini kullanmamız iyi bir prog- ram hazırlamamız açısından doğru olur. Buna rağmen karşılaşabileceği- miz iki durumda GENEL değişken- leri veri alış-verişinde kullanmak da- ha faydalı olur: (| Eğer bir modülü çağırdıktan sonra modüldeki bazı değerleri koru- mak istiyorsak bölgesel değişkenler- le amacımıza ulaşamayız. Modüller her çağrıldıklarında bölgesel değiş- kenler için özel bir hafıza alanı ayrı- lır. Modülden çıkıldığında modüle ait bölgesel değişkenlere yüklenmiş de- ğerler de kaybedilir. Modül tekrar çağrıldığında yeni bir hafıza alanı ay- rılır. Kalıcı olmasını istediğimiz bir de- ğer varsa GENEL değişken kullan- mamız gerekir. (21 Bazan birçok modül aynı veri yapısı üstünde çalışır, mesela büyük bir tablo üstünde. Böyle bir durum- da birçok modül tarafından kullanı- lan değişkeni GENEL değişken ola- rak tanımlamak daha uygun olacak- ır. Bu yazımızda anlattıklarımızı pra- tik olarak uygulayabilmek için geçen sayıda yayınlanan Program Döküm Eki'ndeki iki programı inceleyebilir- siniz. Genel değişkenleri kullanma- mız için iki durumun mevcut olduğu- nu söylemiştik. İlk programımız böy- le bir duruma örnek olabilir. Bu programımızda rastgele sayılar üre- ten bir fonksiyon tanımlanıyor. Ta- nımladığımız fonksiyon kullanılarak bilgisayar O ile 100 arasında değişen sayılar tutarak bu sayıyı bulmanızı is- tiyor. Rastgele sayı üreten fonksiyo- numuz pek profesyonel bir fonksiyon değil ama birçok oyun tipi uygulama- da işinizi görür. Fonksiyonumuza çekirdek bir ra- kam gerekiyor. Fonksiyonumuz aldı- ği çekirdek sayıyı kullanarak yeni bir çekirdek sayı üretiyor. Yeni üretilen çekirdek sayı bir sonraki hesaplama- da kullanılıyor. Çekirdek sayıyı taşı- yan değer GENEL değişken olarak tanımlandığından fonksiyon her çağ- rıldığında çekirdek sayının bir evvel- ki değeri kaybolmuyor. | ile 100 ara- sında bir sayı elde etmek istediğimiz elde edilen sonucun tam sayı kısmı- na 1 eklemek yeterli oluyor. İkinci programımız ise bir hesap makinesini taklit ediyor. Hesaplat- mak istediğiniz işlemi belirli bir ya- pıya göre girmeniz grekiyor. Aksi takdirde hata mesajı ile karşılaşabi- lirsiniz. RECURSİON (kendi kendini çağır- ma) Bir alt program veya fonksiyon başka bir alt program veya fonksiyo- nu çağırabilir. Eğer bir alt program veya fonksiyon kendisini çağırırsa buna RECURSİIVE (kendisini çağı- ran) alt program veya fonksiyon adı- nı veririz. Recursive şekilde program- lamayı, döngü tipi programlama ye- rine kullanabiliriz. Gerçi döngü tipi programlama ile karşılaştırıldığında daha fazla zaman ve hafıza harcan- masına neden olan bu uygulama ba- zen döngü tipi ile çok zor yapılacak programların çok kolay bir şekilde gerçekleştirilmesini sağlar. Commodore FF — 59

Bu sayıdan diğer sayfalar: