Fonksiyon 64

Program dökümü: MPS801HRDCPY, MPS802HRDCPY, LOADER FONKSIYON, FONKSIYON 64

İşte öğrenci arkadaşlarımız için harika bir program. Aman hocalar duymasın, artık matematik ödevlerinizin bir kısmını bilgisayarınıza yaptırabileceksiniz.

Bu programla, matematiksel olarak gösterebileceğiniz herhangi bir fonksiyonu grafik olarak görebilecek, fonksiyon eğrisinin incelenmesini bilgisayardan isteyebileceksiniz. Ve tüm bu işlemleri ister ekranda, ister printer'de (MPS801, MPS802 veya MPS803), isterseniz de VC-1520 plotter'de yapabileceksiniz.

Önce tüm programları yazıp diskete saklayın. Kullandığınız printer'e göre (eğer varsa) MPS801HRDCPY veya MPS802HRDCPY programlarından birini yazın. MPS803 için de, MPS801HRDCPY geçerlidir. Eğer kullandığınız kayıt aracı kaset ise, bu durumda da şu isimleri yapın:

Önce LOADER FONKSIYON programını yazın. Ancak, 60 numaralı satırın son kısmını ".1 5 DOWN " olarak değiştirin. Bu halini kasete kaydedin. Sonra FONKSIYON 64 programını yazın ve 22 numaralı satırdaki LOAD komutunun sonundaki 8 rakamını 1 yapın. Bu halini demin kaydettiğiniz programın hemen arkasına kaydedin. Arkasından, size uygun gelen bir printer programını da MDE ile yazın.

FONKSIYON 64'ün arkasına SAVE edin. Artık kaseti başa sarıp, SHIFT/RUN-STOP ile programı doldurmaya başlayabilirsiniz. Üç programın hepsi arka arkaya otomatik olarak dolacak ve çalışmaya başlayacaktır.

Printer konusuna gelince... Eğer printer kullanmayacaksanız, 22 numaralı satır ile 291-302 arası satırları silebilirsiniz. Ayrıca 121 numaralı satırdaki PRINT komutuna da gerek kalmamakta. Bu durumda tabii ki herhangi bir printer programı yazmanıza da gerek yok.

Program, dökümü verildiği şekilde MPS802 ile çalışacak şekilde ayarlanmıştır. Eğer MPS801 veya MPS803 kullanacaksanız, öncelikle 22 numaralı satırdaki program adını değiştirmelisiniz. Ayrıca 292 numaralı satırın içeriği de şöyle olmalı:

OPEN 4,4:SYS 49525,4:PRINT#4, CHR$(15):CLOSE4

Bir başka nokta da, programın satır numaraları ile ilgili. Bu numaraların kesinlikle değiştirilmemesi gerekiyor, çünkü kimi satırlar program çalışırken kendiliğinden değişiyor.

Programımızın en önemli özelliği, hiçbir zaman matematiksel hata vermemesi. Örneğin fonksiyonun herhangi bir yerinde sıfıra bölmek ya da aksi bir sayının logaritmasını almak gibi bir durum ortaya çıkarsa, program hata verip durmamakta, bir sonraki nokta ile işlemlerine devam etmektedir.

İncelemek istediğiniz fonksiyonu program çalışırken değiştirebilirsiniz. Ayrıca fonksiyonun incelenceği aralığı da her zaman için değiştirmeniz mümkündür. Herhangi bir grafiği, isterseniz doğrudan plotter'e, isterseniz de ekrana çıkarabilirsiniz. Ama menüde 'D' tuşu ile bu iki araç arasında gidip gelebilirsiniz. Bir grafiği printer'e bastırmak için, önce ekranda çizdirmek, sonra da ana menüde 'B' tuşuna basarak printer'e göndermek gerekir.

Bir diğer özellik de, fonksiyonun matematiksel incelenmesi. Bu işlemle

fonksiyonun verilen aralıktaki sıfır noktaları, bu noktalardaki birinci türevlerinin değeri, minimum ve maksimum tepe noktaları ile tanımlanmamış noktalardaki atlamaları artık kolayca elinizin altında.

Şimdi de dilerseniz biraz satırlara bakalım...

1-11: Ekran rengi ayarlanıyor, gerekli değişkenler hazırlanıp fonksiyonlar tanımlanıyor.

13-22: İlk başlık ekranı basılıp o anda geçerli olan fonksiyon gösteriliyor. Eğer o sırada program ilk kez çalıştırılıyorsa, printer altprogramı dolduruluyor.

23-39: Fonksiyonun değişip değişmeyeceği soruluyor ve eğer kullanıcı yeni bir fonksiyon denemek istiyorsa, yeni fonksiyon okunuyor.

41-51: Okunan fonksiyon ve ona bağlı olan bazı değişkenler programın satırlarına aktarılıyor.

53-65: O anda fonksiyon çizimi için geçerli olan X ve Y-koordinat sınırları gösteriliyor. Kullanıcıya, yeni sınır değerleri verip vermeyeceği soruluyor.

67-89: Yeni sınır değerleri okunuyor ve birbirleriyle çelişip çelişmedikleri kontrol ediliyor.

91-147: O anki fonksiyonu inceleme aralığını, geçerli gösterim aracını, koordinat eksenin durumunu ve kullanılabilecek komutları gösteren menü ekrana basılıyor ve kullanıcının bir komut vermesi bekleniyor.

149-167: Koordinat ekseni plotter'de basılıyor.

169-185: Fonksiyon grafiği plotter'de basılıyor.

187-255: Fonksiyonun sıfır noktaları, bu noktalardaki birinci türev değerleri, atlama noktaları, minimum ve maksimum tepe noktaları burada bulunup basılıyor.

257-283: Koordinat ekseninin ve fonksiyon grafiğinin ekrana çizimesi bu altprogramda gerçekleşiyor.

285-287: Bilgisayarın ortaya çıkacak hesap hatalarından etkilenmemesi, COMMODORE 64'ün bazı hafıza birimlerini değiştirerek sağlanıyor.

289: Cursor'un gönderilen X ve Y koordinatlarına getirilmesi sağlanıyor. Böylece ekranın istenilen noktasına yazı yazmak mümkün oluyor.

291-307: Daha önce ekrana çizimi yapılmış grafik printer'e geçiliyor ve eğer isteniyorsa fonksiyon incelemesi de hemen altına basılıyor.

309-339: Programın kullanıldığı çeşitli makina dili programlar hafızaya yükleniyor.

İnşallah ödevleriniz bundan sonra daha kolay ve doğru olur...

Bu yazıdaki programlar

Dergideki dökümlerden çıkarıldı; satırlar derginin kontrol toplamlarıyla doğrulandı ve programlar VICE emülatöründe denendi. Tarayıcıdaki C64'te çalıştırabilir, indirip bir emülatöre sürükleyip bırakabilir ya da gerçek bir C64'te LOAD "AD",8,1 ile yükleyebilirsiniz. "Sorun bulundu" yazanlarda bazı satırlar okunamadı ya da tutmadı; düzeltilmiş bir sürümünüz varsa contact@coze.org adresine gönderin.