Commodore sayı 40, sayfa 11

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 11

250X — X4 1: FORO — 1TO100: PRINTO: NEXT: GOÖSUB600: B-24

Bu satırı takip eden bir sonraki satır numarasını 260 kabul edersek arada 9 satırlık bir boşluğumuz var demektir. Şimdi satır 250'nin başına gidip 252 yazıp return'e basın. Yine kursoru yukarı götürüp 254 ve sonra da 256 yazıp return'e basarak aynı satırın farklı numaralı üç adet benzerini elde edin. Eğer LIST 250 - 260 derseniz bunları görürsünüz. Bundan sonra kursor ve boşluk tuşunu kullanarak fazla olan ifadeleri silerek return'e basın. Şimdi programınız aşağıdaki gibi görünecektir:

—- X41 252 FORO — 1 TO 100: PRİNT: NEXT 254 GOSUB600 256 B — 24

Programınızı bu hale getirirken, hiç yoktan, başka hatalar yaratmamaya dikkat edin. Programınızın başka yerlerinde, yaptığınız bu değişikliği dikkate almayacak satırlar bulunabilir. Eğer bu tür birkaç hata düzeltme denemesine rağmen program çalışmamakta direniyorsa sıra programınızın bir printer dökümünü almaya gelmiş demektir. Printer çıktısını programınızın bir haritası olarak düşünebilirsiniz. Bunu elde etmek için printer'ınıza kâğıt yerleştirdikten sonra;

OPEN 4,4: CMD 4: LIST: CLOSE 4 (RETURN)

yazmak yeterli olacaktır. Hataları düzeltmede bir printer dökümünü kullanmanın da bir sanatı vardır. Değişik sayı ve renkte fosforlu kalemlerle programın çeşitli kısımlarını işaretlemek iyi bir yoldur. Bu kalemlerle, değişkenlerin ve değerlerini değiştirdikleri yerlerin, fonksiyon tanımlamalarının ve çağrılarının veya program akışını değiştiren her şeyin üzerini çizin. Sarı ile GOTO, GOSUB ve IF-THEN analizlerini belirtebilirsiniz. Sonra GOSUB'ları başladıkları yerden itibaren izleyerek altrutinin sonunda bulunması gereken RETURN ifadesine kadar olan satır numaralarını işaretleyin. Daha sonra kırmızı bir markör ile dallanan altrutinleri birbirine bağlayın (böylece programda neyin neyi çağırdığı daha açık olacaktır). Bütün bunlardan sonra programın nasıl yapılandığı hakkında bir fikriniz olacaktır. Sonradan bu fosforlu kalemlere hiç ihtiyacınız kalmayacak program dökümünü sezgi ve bilgilerinizle bir bakışta yorumlayabileceksiniz. Şimdi biraz daha ileri birkaç teknikten bahsedelim. Programınıza yerleştirdiğiniz bir STOP komutu, çalışan programı, değişkenlerini kaybetmeden belli bir noktada durdurur ve daha sonra programınızı CONT yazarak yeniden çalıştırabilirsiniz. Eğer işler gerçekten karmaşık hale gelirse STOP ile programı durdurup hangi değişkenlerin aktif olduklarını inceleyebilme imkanı aslında büyük bir kolaylıktır. Örnek olarak STOP komutunu IF-THEN yorumlayıcıların başına ve FOR-NEXT döngülerinin sonuna yerleştirmeniz mümkündür. Belli bir satırdan itibaren programı çalıştırdığınızda satır numarası ile STOP komutu arasında kalan kısım çalışır ve program STOP'la durduğunda direk modda bu değişkenleri PRINT komutunu kullanarak inceleyebilirsiniz. Burada nümerik ve yazı karakteri değişkenleri çok rahat izlenebilir. Yine direk moddan CONT yazarak programı bir sonraki STOP'a kadar değişkenleri inceleyebilirsiniz. Bazı durumlarda bütün program tek bir satır yüzünden çalışmaz hale gelebilir. Böyle belalı satırların başına REM komutunu ekleyerek etkisiz kılmak bazen size ipuçları verebilir veya ilgili problemleri açığa çıkarmada yararlı olabilir. Hatta o satırın hiç gerekli olmadığını bile keşfedebilirsiniz. C-128 ve C-64'te Simon's BASIC sahipleri için bilgisayarın program içinde belli bir anda çalıştırmakta olduğu satırı gösteren bir TRACE komutu bulunuyor. Bu komutla programın çalışırken nerelere atladığını ve problemlerin nerelerde oluştuğunu görebilmeniz mümkün oluyor. Şüphesiz programcıların hata düzeltmekte kullandıkları daha pek çok karmaşık teknikler var. Burada bahsedilenler programlamaya yeni adım atmış olanların karşılaşabilecekleri birçok (hepsi değil) hatanın üstesinden gelmede yardımcı olacaktır.

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