Commodore sayı 76, sayfa 20

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 20

erkese merhaba. Hatırlayacağınız gibi geçen sayıda polinomların yardımıyla bazı yılarının nasıl hesaplanacağı konusuna ise yazımda değinmeyeceğim, çünkü türev almayı çok iyi bilmeden bu polinomların katsayılarını hesaplayamazsınız. Eğer bu konuyla ilgileniyorsanız Ve fonksiyonların türevlerini rahatça alabiliyorsunuz ya Taylor ve McLaurin serileri konusunda ufak bir araştırma yapın, ya da bana yazarak basit bir şekilde katsayıların nasıl hesaplanacağını öğrenin. Ama bilgisayarınıza yeni fonksiyonlar eklemek gibi bir niyetiniz yoksa (ARC-COS gibi) bu fazladan bilgiye ihtiyacınız olmayacaktır. Eğer bir fonksiyon eklemeyi kafanıza koyduysanız, fakat matematik kısmından sıkılıyorsanız, ekleyeceğiniz fonksiyonun katsayılarını tanıdığınız bir matemasiniz. Bana bu konuda da yazabilirsiniz, fakat size vereceğim cevap bir matematik öğretmenininki kadar garantili olmayacaktır. Zaten büyük bir çoğunluğunuz bu konuda Geçen sayıda sizlere sorduğum faktöriyel hesaplama rutini konusunda hiç mektup ulaşmadı elime. Ama gene de size söz verdiğim gibi gelecek sayıya kadar bekledikten sonra doğru (en doğrusu olmasa da) rutin ve (eğer yollarsanız) sizin çözümlerinizi yayınlayacağım. Kısacası beklemedeyim. Eğer belli bir yerinde takıldıysanız, takıldığınız yer konusunda da bana danışın. Bu kadar çok konuda “bana yazın', *bana sorun' gibi lafları söylememin sebebi, sizlerden gelen mektupların arkasının kesilmiş olması, Sizlerden gelen bir yönlendirme olmadan konu seçiminde körlemesine gitmekten başka çarem kalmadığını uzun zamandır söylüyorum. Yaklaşık iki aydır sizlerden mektup olmadığım için bu konuların büyük bir kitleye hitap edemediğini düşünmeye baş-

om

Vedat Hallaç ladım. Bu yüzden gelecek sayıdan itibaren bu yazıyı bitirmeyi ve yeni Commodore'cular için bir makine dili kursuna başlamayı düşünüyorum. Bu kurs, makine dilinden hiç anlamayanlara göre düzenlenecek. Makine dili öğrenmek için çırpınan arkadaşlarınızı da belli bir seviyeye getirdikten sonra ROM'- un kullanımı gibi konulara geri döneceğiz. Gelecek sayıda bu konuda daha ayrıntılı bilgi bulabilirsiniz. Bu sayıda basit bir polinom hesaplatma örneğini verdikten sonra makine dilinin gerçekten de işe yarar konularda kullanılabileceğini gösteren bir program inceleyeceğiz. Son olarak da ROM'da bulunan önemli rutinlerin adreslerini ve bazı sabitlerin bulunduğu yerleri içeren bazı tablolarımız olacak. Hepimize kolay gelsin. Biliyorum, hepiniz polinom hesaplamaktan bıktınız, çünkü görünürde pek bir işinize yaramıyor. Ben de polinom hesaplamaktan bıktım, çünkü kullanıcı aşamasında gerekten de işe yaramıyor. Ama başladığımız işi tam olarak bitirmek için son bir polinom örneği daha yapmamız gerekiyor. Ayrıca, bu son örnekteki tipte bulunan polinomlar, çoğu fonksiyonun hesaplanmasında kullanılırlar. Bazı polinomlar aşağıdaki formda bulunabilir:

İ 34a2xx 174... Bu polinomu yeniden düzenlersek:

ral 2 *a3x(X12)134...)

Bunu hesaplamak için X yerine X 2koyarak polinomun değerini hesapladıktan sonra sonucu Y ile çarpmanız gerekir. Daha doğrusu ROM'da bu işi yapacak rutin bulunmasaydı yukarıda saydıklarımı yapmanız gerekecekti. Çoğu fonksiyonun polinomu bu formda olduğu için ROM'unuzda bu tip polinomların değerini hesaplayacak program hazır olarak kullanılmayı bekliyor. Bu şekilde tanımlanan bir polinomun değerini hesaplamak için geçen sefer anlattığım türde bir yapı oluşturduktan sonra (Başta polinomun derecesi, sonra da katsayılarının bulunduğu yapı. Hatırladınız mı?) $E043 adresine sıçramanız gereklidir. Bu polinomların işe yarayabilmesi için giriş değerinin belli sınırlar içine getirilmesi gereklidir. Periyodik bir fonksiyon kullanıyorsanız bu işi yapmak siiçin problem olmayacaktır. Mesela SIN (3 Xpi)'yi hesaplamaya çalışmak yerine SIN (pi)'yi hesaplamak yerinde olacaktır. Tabii ki ROM'da bulunan SIN fonksiyonu bu ayarlamaları sizin için yapacaktır. İsterseniz örneği bir an önce vereyim de bu sıkıcı konudan kurtulalım. Polinomumuz şöyle bir şey olsun:

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