Commodore sayı 66, sayfa 23

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 23

Murat Gezer mutlu BASIC kullanıcıları için birçok olanaklar doğuruyor. Eğer bu komutu tam anlamıyla kullanmak isterseniz ilk önce rastlantısal sayının ne olduğunu bilmeniz gerekir. İşte bu yazımızda rastlantısal sayının ne olduğunu ve nasıl çalıştığını anlatma-

Bir bulunan RND ko-

.ya çalışacağız.

Rastlantısal sayıların en önemli özelliği olarak gelecek olan sayının önceden bilinmemesidir. Örneğin bir zarı ele alalım. Zarı her attığımızda 1 ila 6 arası sayı gelir. Ve zarı atmadan önce kaç geleceğini bilemeyiz. Ancak tahmin edebiliriz. İşte bilgisayarınızda aynen zar örneğindeki gibi RND komutundan sonra sizce bilinmeyen bir sayı verir. Acaba gerçekten bu sayı bir rastlantısal sayı mı? Hayır değil. Peki diyeceksiniz ki bu sayı devamlı farklı ve biz önceden ne geleceğini bilemiyoruz. Eğer bu yazıyı okumaya devam ederseniz, neden bilgisayarınızın gerçek rastlantısal sayı üretmediğini anlamaya başlayacaksınız. Zarda sayıların devamlı farklı gelmesinin sebebi zarın yapılmış olduğu malzeme, atılmış olduğu zemin, atılma hızı, atılış yönü gibi belli başlı koşullara bağlıdır. Eğer bu koşulları sabit tutmayı başarabilirsek attığımız zar devamlı olarak aynı gelirdi. İşte bilgisayarınızda bu koşullar yine belli bir ondalıklı sayı alıp bu sayıyı 5 parçaya bölüyor. Daha sonra bilgisayarınız içinde RND komutu için ayrılmış olan birbirine komşu 5 bellek bölgesine yazılıyor. Bu başlangıç sayısına biz çekirdek sayı diyeceğiz. Bu işlemler siz bilgisayarınızı açtıktan sonra otomatikman yapılıyor. Eğer siz RND komutunu vermişseniz bu çekirdek sayı bilgisayarınız tarafından alınıp 11879546,4 sayısı ile çarpılıyor. Bu çarpımdan çıkan sonuç 0.0000000392767778 sayısı toplanır. Ve bilgisayar bu hesabın sonucunu tekrar 5 parçaya bölüp bellek bölgelerine yazar. Bu bellek bölgeleri kendi aralarında belli bir kural ile karşılaştırılır ve tekrar bir ondalıklı sayıya çevrilerek ekranınıza yazar. Neyse bu kadar işlemden sonra eğer kafanız karışmadı ise incelememizi daha da derine indirerek deminden beri bahsetmiş olduğum 5 bellek bölgesinin neresi olduğunu birlikte inceleyelim. Bu bellek bölgeleri 64'ünüzde 139 ila 143 arasında bulunmaktadır. Şimdi aşağıda vermiş olduğum satırları bilgisayarınıza girin. 10 X=139:Y=143 20 FOR A=X TO Y 30 PRINT PEEK(A) 40 NEXT A 50 PRINT RND(1) Bu ufak program sayesinde 5 bellek bölgenin değerini ve bu değerlerden oluşan rastlantısal sayıyı görürsünüz. Eğer 60 GOTO 10 satırını eklerseniz devamlı olarak sayıların değiştiğini görürsünüz. Yukarıda anlatmış olduğum işlem ne kadar karmaşık görünse de bu işlem aslında rastlantısal sayının devamlı değişik olmasının sebebi değildir. Çünkü yapılan işlem aynı kalmıştır. Peki rastlantısal sayının devamlı değişik olmasının sebebi nedir? İşte sıra şimdi orayı açıklamaya geldi. Rastlantısal sayı aslında RND(X) komutunun X değerine bağlıdır. Eğer X değeri herhangi bir pozitif sayı ise o zaman bilgisayarınız çekirdek sayı olarak 0.811635157 sayısını alacak ve 139 ila 143 arasına 128,79,199,82,88 sayılarını yazacaktır. Tabi ki bu böyle olunca bilgisayarınız açıldıktan sonra devamlı olarak aynı sayıları size verecektir. İsterseniz daha ayrıntılı olarak inceleyelim.

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