Commodore sayı 4, sayfa 17
Sayfanın metni

Sayfa 17

MAKİNE DİLİ ile:

POİNTER CFFSET'i LOY #E "CONT"LOA EÜR #£FF EOR XKBUFFER),Y INY CPY

#LEN "CONT"

Nat

OFFSET sözcük

Sıfırıncı ve LEN'i aktar. ekle.

uzunluğu dizin sözcüğün adresi

Girişin Planlanması

Tartışılan bir başka teknik, kayıt biçimine göre bir dizin dosyası yaratmaktır. Örneğin:

Yazar Konu Başlık

Yıl Yazar Dizin

(KAYIT 2)

İlk kaydınızı girdikten sonra-yazar, konu, başlık, yıl- o kaydın sonunda dizin dosyası yaratmak için birkaç byte ayrılabilir. Burada bitmap kullanmak aramayı kolaylaştırmak bakımından yararlı olur. Her alan için dizinde bir byte kullanırsanız her alan için 256 olasılığınız olur. Bu da genellikle yeter de artar. Daha evvel incelediğimiz örneği ele alırsak 1000 0000 biçiminde bir bit yerleşimi, konunun bilgisayar üzerinde olduğunu gösterir. İkili tabandaki 1000 0000 sayısının tam sayıdaki karşılığı 128 olduğundan bunu karşılaştırmak için AND işlemini kullanabilirsiniz. Örneğin konu alanı için KO değişkenini seçtiğinizi düşünelim. Uygun bir satır şu şekilde olur:

IF KO AND 128 THEN GOTO N

N ekrana ya da printer'a yazdırmak için bir komutun bulunduğu satır olarak düşünebilir. AND işlemini kullanırken, bilgisayar her biti kontrol eder. KO içindeki değer, 1000 0000, 128 ile karşılaştırı-

1000 0000 (KO) 1000 0000 (128)

1000 0000 (sonuç)

Boolean doğruluk tablosu bu karşılaştırma işleminin sonucunu “doğru”

olarak saptar ve aramanız amacına ulaşır. Bazı durumlarda dizinlerken (indeks), istediğiniz konuların toplam sayısına bağlı olarak ikili sistemdeki eşdeğerlere değişik adlar vermek daha pratik olabilir.

E- 18 B-2 Cz4 Gz64

O zaman satırımız şu biçimi alır: IF KO AND H THEN N

Daha özel bir konuyu ele alalım, eğitimde bilgisayarın rolü gibi. Eğitim konusunu ikili sistemde bir sayı verelim: 0100 0000 (tam sayı olarak 64). Bilgisayar konusu da 1000 0000 (128) idi. Bilgisayar ve eğitimle ilgili bir kitap da o zaman 1100 0000 (192) olurdu. Bu durumda araştırma satırımızı şöyle oluşturmamız gerekli:

IF KO AND 192 THEN N

Bu yöntemi kullanırken, dizinlemeyi oluşturmada çok dikkatli olmanız gerektiği açıktır. Hangi dizinleme yöntemini kullanırsanız kullanın dikkatli olmalısınız, araştırma hızınız ve doğruluk buna bağlıdır. Bitmapping metodunu kullanmamayı tercih ederseniz, bir şeye dikkat etmeniz gereklidir: Dizinleme dosya-

Sistemin Girdi (Input) Problemleri

Şimdi biraz da girdi ile ilgili sorunlara bakalım. Kullanılması kolay bir sistem istiyorsunuz. Bu, kullanıcıya neler olup bittiği hakkında ipucu vermekle olur. Bunun bir yolu ekranda en üst satırın, programın ne yaptığını ya da ne beklediğini belirtmek üzere ayrılmasıdır. Programın kullanımının kolaylaştırılmasında diğer bir önemli husus da ekran formatını mantıklı ve anlaşılması kolay yapmaktır. Yeni kayıtları girerken, programı bozmadan düzenleme, silme, değiştirme olanakları sağlanmalıdır. C64 gibi bazı bilgisayarlar virgül içeren bir dizi girdisiyle baş edemezler. Bu tür bilgisayarların işletim sistemi sınırlandırıcıları bir girdi olarak yorumlar. Ancak yayın adlarını girerken de virgüller önemlidir. Bu da sözü geçen bilgisayarlarda virgülde kesmek zorunda kalmadan dizileri yerleştirmenin bir yolunu bulmamız gerektiği anlamına gelir. Bunu yapmanın çeşitli yolları vardır. GET komutunu kullanarak diziyi byte byte oluşturmak mümkündür. Bu çeşit problemler başlangıçta çözümlenmelidir. Veriler girilirken küçük olan sorunlar daha sonra büyüyebilir. Virgül yerine başka bir şey koymak zorunda kalmak insanı çok uğraştırabilir. Girdilere ilişkin bilinmesi gereken bir şey de programın, her girdinin disketteki kayıt sayısını ve dizindeki dosyasını bilmesi gerektiğidir. Yeni bir kayıt girildiğinde disketteki sonraki boş yere gitmelidir. Yeni kaydın dizinleme sözcükleri uygun dizinleme dosyalarının sonuna konmalıdır. Bu bilgilenmeyi korumanın yolu gelecek kayıt numarasını işaret eden bir sicil (register) koymaktır. Yeni bir kaydın girilmesiyle sicil bir kez artar. Dizinleme dosyalarını saklarken (SAVE), bu sicili de SAVE etmeniz gerekir. Eğer sicil dizin dosyalarınıza bitişikse hepsini birden kurtarabilirsiniz.

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