Commodore sayı 58, sayfa 20

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 20

Devamlı tekrar eden sıkıcı işlerimizi yapmaları için bilgisayarları ürettik. Bu ay tekrar eden fonksiyonların iki işlevini inceleyeceğiz: grafik iterasyonu ve matematik iterasyon. Tabii gene işin çoğunu bilgisayarınız yapacak. Öncelikle iteratif matematiğin temellerine şöyle bir bakacağız. Eğer sizin eğilimleriniz daha çok sanatsalsa bu bölümü atlayıp, fonksiyonların görsel olarak kullanıldığı diğer bölüme geçin. Şimdiden sayfaları çevirdiğinizi duyar gibiyim.

Matematiksel İterasyon

İterasyonun matematiksel tanımı şöyle yapılabilir: 1. X için bir değer alın,

2. Bu değeri yine X'e bağlı bir fonksiyonda yerine koyun,

3. Bir önceki adımda bulduğunuz değere dayanarak X için yeni bir değer alın,

4. Belirli bir kriter sağlanana kadar ikinci adıma dönüp durun. | Şimdi bu biraz soyut oldu. Bir örnekle konuyu daha iyi anlayacağınızdan eminim. Hesap makineleri bulunmadan önce sayıların kareköklerini hesaplamak için bir yöntem vardı. İşlemin defalarca yapılması ve sayıların iyice rafine edilmesi (iterasyon) sayesinde istenilen hassasiyette sonuçlar bulunabilirdi. İteratif yöntemlerle çözüm yapılmasını Sir Isaac Newton'a borçluyuz. Bu ne-

denle adı geçen sistem Newton Metodu olarak bilinir. Bir sayının (daha doğrusu herhangi bir ifadenin) karekökünü hesaplamak için Newton'un sekant sistemine dayanan bir metod kullanacağız. Bu metodu bilgisayarda uygulamak oldukça kolaydır. Başlangıç için 3'ün karekökünü bulalım. Matematiksel bilgilerinizden herhalde “3'ün karekökünü bulun” ifadesinin “Öyle bir X bulun ki, X'in karesi 3'e eşit olsun” ifadesine eşit olacağını biliyorsunuzdur. İşte bu ikinci ifadeyi cebrik olarak yazabiliriz: X*X=3. Bu ifadenin her iki tarafının da karekökünü alarak birinci ifadeyi elde edebilirsiniz: X = SQR(3). Buradaki SQR komutu BASIC'te karekök almak için verilen komuttur. Hesap makineniz veya bilgisayarınız hiç uğraşmadan bu ifadedeki X değerinin yaklaşık olarak 1.732'ye eşit olduğunu size bildirecektir. Biz birinci ifadenin karekökünü bulmak için biz iteratif metodu kullanacağız. X'in değeri ifadenin her iki tarafını da eşit yapmalıdır. İfadenin tüm terimlerini bir tarafa toplayarak sıfıra eşitliyoruz: X^2-3=0. Bu ifadeyi sıfıra eşitleyen X değerleri bizim fonksiyonumuzun kökleri olacaktır. Bu fonksiyon için aradığımız değerler 3'ün kareköküdür. Bu fonksiyonu BASIC'te şöyle tanımlayacağız: DEF FN A(X) = X^2-3. Eğer bilgisayara PRINT FN A(7) komutunu verirsek, ifadedeki X değerinin yerine 7 koyulur ve işlem gerçekleştirilip, sonuç ekrana yazılır. 7'nin karesi alınır ve bundan 3 çıkarılır. Çıkan sonuç 0 değil de 46'dır. Eğer PRINT FN A(1) komutunu verirsek (1'in karesi eksi 3)

—2 sonucunu alırız, ki bu sonuç da aradığımız değeri sağlamaz. Fonksiyonda 7 çok büyük, 1 de küçük bir değer vermektedir. Bizim aradığımız değer ise sıfırdır. Önce bu ifadeyi çözmek için kaba bir iterasyon yapalım: 10 DEF FN A(X) = X^2-3 20 FOR X = 1 TO 7 STEP 0.01 30 PRINT X, FN A(X) 40 NEXT X Sağ kolondaki sayıların akışını izleyin ve sayıların eksiden artıya geçtiği yeri bekleyin ve geçiş gerçekleşince

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