Commodore sayı 66, sayfa 24

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 24

Şimdi bilgisayarı kapayıp açın ve aşağıdaki sayıları girin. 10 FOR A=1 TO 5 20 PRINT RND(1) 30 NEXT Evet bu satırları girdikten sonra elinize bir kağıt, kalem alın ve RUN yazın. Şimdi ekranda gördüğünüz sayıları sırasıyla kağıda yazın ve bilgisayarınızı tekrar kapayıp açın. Yukarıdaki programı tekrar yazın ve çalıştırın ve ekrandaki sayılar ile kağıdınızda bulunan sayıları kontrol edin hepsi aynı ve sırasıyla değil mi? Evet sizin de gördüğünüz gibi pozitif değerli bir RND komutu size tam anlamıyla bir rastlantısal sayı vermiyor. Çünkü bilgisayarınız ilk açıldığı anda aynı başlangıç sayısını aldığından dolayı aynı sayılar tekrarlanıyor ve burada sayısal değerin hiç bir önemi yok. Ancak bu başlangıç sayısını devamlı olarak değiştirmeyi başarabilirsek o zaman rastlantısal sayılara ulaşabiliriz. Peki bunu nasıl başaracağız? Bunun çözümünü hep birlikte birazdan göreceğiz. Neyse şimdi gelelim negatif değerli RND komutuna. Negatif değerli RND komutunda ise sonuç devamlı olarak aynı kalır. Bu sonuç ancak sayısal değer değiştirildiği zaman değişir. Örneğin PRINT RND(-55) komutunu bilgisayara direkt olarak girin ekranınızda belirecek sayı devamlı olarak 5.13446139E-08 olacaktır ve PRINT RND (-33) dersek o zaman sonuç 3.08555173E-08 olacaktır. Böylelikle yine gerçek bir rastlantısal sayı bulamadık. Ancak negatif değerli RND komutunda bizim önceden bilmediğimiz bir değer alırsak o zaman rastlantısal sayıya çok yaklaşırız. Bunu ise RND(-TI) komutlarını vererek yapabiliriz. Burada TI bilgisayarın içinde bulunan sistem saatinin değerini okuduğundan devamlı olarak değişmektedir ve bunun sonucu olarak bizi rastlantısal sayıya yaklaştırır. En son olarak da gelelim 0 değerli RND komutuna. Bu komuta ise bilgisayarınız RND(-TI)'a benzer şekilde sistemin saatinden yararlanır ancak belli bir süreden sonra sayı dizisi kendini tekrarlamaya başlar. Bu da herhalde hiç bir programcının istediği bir durum değildir. Bu kadar anlatımdan sonra size son bir tavsiye vermek istiyorum. RND komutu kullanan bir program yazmak isterseniz programınızın ilk başına RND(-TI) komutunu verdikten sonra RND(1) komutunu kullanmanız size en gerçekçi rastlantısal sayıyı verir. Burada RND(-TI) ile başlangıç sayısını değiştirdikten sonra RND(1) ile rastlantısal sayıyı çağırıyorsunuz. Bir de her INPUT, WAIT komutlarından sonra bu sistemi kullanırsanız rastlantısal sayılarınız daha gerçekçi olur.

Bir daha ki yazılarımda görüşmek üzere hepinize bol RND'li günler diliyorum.

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