Commodore sayı 21, sayfa 58

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 58

Geçen sayımızda bahsettiğimiz, bir sakıncası bulunuyor. Eğer modülle ana programı arasında veri alışverişini PARA-

METRE 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 işin içinde genel değişkenler kullanırsak bir süre sonra programımıza baktığımızda hangi değişkenlerin modüllerle veri irtibatı sağladığını anlamakta güçlük çekeriz. Eğer PARAMETRE değişkenlerini 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 program arasında veri alışverişinde kullanmak düzensiz bir program hazırlamamıza neden olur. Bu yüzden veri alışverişlerinde PARAMETRE değişkenlerini kullanmamız iyi bir program hazırlamamız açısından doğru olacaktır. Buna rağmen karşılaşabileceğimiz iki durumda GENEL değişkenleri veri alışverişinde kullanmak daha faydalı olur: (1) Eğer bir modülü çağırdıktan sonra modüldeki bazı değerleri korumak istiyorsak, bölgesel değişkenlerle 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. Bu modül tekrar çağrıldığında yeni bir hafıza alanı ayrılır. Kalıcı olmasını istediğimiz bir değer varsa GENEL değişken kullanmamız gerekir. (2) Bazen birçok modül aynı veri yapısı üstünde çalışır. Mesela büyük bir tablo üstünde. Böyle bir durumda birçok modül tarafından kullanılan değişkeni GENEL değişken olarak tanımlamak daha uygun olacak- Bu yazımızda anlattıklarımızı pratik olarak da uygulayabilmek için PROGRAM Döküm Eki'ndeki iki programı inceleyebilirsiniz. Genel değişkenleri kullanmamız için iki duru-

BURAK KİPER mun mevcut olduğunu söylemiştik. İlk programımız böyle bir duruma örnek olabilir. Bu programımızda rastgele sayılar üreten bir fonksiyon tanımlanıyor. Bu fonksiyon kullanılarak bilgisayar 0 ile 100 arasında değişen sayılar tutarak bu sayıyı bulmanızı istiyor. Rastgele sayı üreten fonksiyonumuz pek profesyonel bir fonksiyon değil ama birçok oyun tipi uygulamada işinizi görür. Fonksiyonumuza çekirdek bir rakam gerekiyor. Fonksiyonumuz aldığı çekirdek sayıyı kullanarak yeni bir çekirdek sayı üretiyor. Yani üretilen çekirdek sayı bir sonraki hesaplamada 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 evvelki değeri kaybolmuyor. 1 ile 100 arasında bir sayı elde etmek istediğimiz için çekirdek sayımızı 100 ile çarpıp elde edilen sonucun tam sayı kısmına 1 eklemek yeterli oluyor.

İkinci programımız ise bir hesap makinesini taklit ediyor. Hesaplatmak istediğiniz işlemi belirli bir yapıya göre girmeniz gerekiyor. Aksi takdirde hata mesajı ile karşılaşabilirsiniz. Geçen sayılarda basit veri tiplerini incelemiştik. Bu yazımızda basit veri tiplerinde kullanacağımız standart fonksiyonlarla devam edeceğiz. İNTEGER, BOOLEAN ve CHAR veri tipleri basit veri tiplerindendir. Standart olan bu üç veri tipinin de, bizim tanımlayabildiğimiz basit veri tiplerinin de her değerinin bir evvel gelen ve bir sonra gelen değerleri vardır. Sadece ilk değerin kendinden evvel, son değerin de kendinden sonra bir değeri bulunmaz. Basit veri tipinde yer alan değerlerin sıraları tanımlanmıştır. Mesela İNTEGER veri tipinde 1'den sonra 2 gelir. Boolean veri tipinde FALSE değerinden sonra TRUE değeri gelir.

Klavyeyle gezinmek için ← ve → tuşları.