Bu sayfadaki yazılar
Sayfanın metni
Sayfa 43
Artık F1 tuşuna her basışınızda ekrana kendiliğinden LIST yazılacaktır. Hatta şöyle de yapabilirsiniz:
KEY 1,CHRS(147) 4 4 CHRS(13)
Şimdi ise F1'e bastığınızda, önce ekran silinecek, LIST yazılacak ve otomatik olarak RETURN tuşu işleme girip programın listesini verecektir. Hatta gerekirse, CHR$(34)'ü kullanarak konuşma tırnak işaretini bile ekleyebilirsiniz dizinizin içine. Fonksiyon tuşlarına toplam 16 değişik dizi yerleştirebilirsiniz. Bunlara ulaşmak için fonksiyon tuşuna, SHIFT ve fonksiyon tuşuna, C= ile fonksiyon tuşuna veya C= ve SHIFT ile birlikte fonksiyon tuşuna basmanız gerekir. Böylece F1-F8 arası tuşları iki türlü yüklemiş olursunuz; COMMODORE tuşu ile ve o olmadan. O anda tuşların her birinde ne olduğunu öğrenmek içinse DISPLAY komutu kullanılıyor. Her tuşta o anda olan dizi ekranda listelenecektir. DUMP komutu ise bilgisayarın o anda kullandığı değişkenlerin içeriğini listeleyecektir. Böylece, çalışan bir programı herhangi bir anda STOP ile durdurup DUMP ile o anki değişken değerlerini öğrenmeniz ve CONT ile programlamaya devam etmeniz mümkün olmakta. Hazır söz listelemekten açılmışken, LIST komutu ile de ilgili bir sürü yenilik var. Eskiden sadece CTRL tuşu listenin geçişini yavaşlatabiliyordu. Artık C= tuşunun da bir görevi var. Bu tuşa bastığınız sürece listenin geçişi duracaktır. SHIFT tuşuna basarsanız veya SHIFT/LOCK tuşunu basılı bırakırsanız, liste ekrana harf harf basılacaktır. Böylece listeyi kolayca okuma fırsatı doğmakta. Bu harf harf yazılmanın hızını da ayarlayabilirsiniz. DELAY hız komutu ile size özel bir hız sağlayabilirsiniz. “hız” 1-255 arasında olmalı ve 1 en hızlısı. Listelerken kullanacağınız bir de komut da PAGE komutu. Bildiğiniz gibi COMMODORE 64'ün bir ekranı 25 satırdan oluşuyor. İşte siz listenizin hangi satıra geldiğinde durmasını istiyorsanız, o satırın numarasını PAGE satır şeklinde belirtip LIST komutunu veriyorsunuz. Örneğin PAGE 20 demişseniz, liste her 20. satıra geldiğinde durup sizin RETURN tuşuna
PROGRAM ADI : S.DUMP
00010 A$z"TUNA":B$z"UYHH"
0539987.887:PI-9E-5
DUMP
PROGRAM ADI :
KEY 00815 KEY KEY 00025 KEY 002030 KEY 00035 KEY 00040 KEY 00045 KEY 3BA4)4*CHREC13)
PROGRAM ADI : S.TRACE
©0010 TRACE 10:GOSUB PRİNT "<CLR>" 00030 FOR Izi TO 100 20040 PRİNT 1; NEXT 289068 PRİNT ©8070 INPUT 00080 IF YI":GOTO 188 PRİNT
S.KEY
GET A$
00140
IF
"TEK SAYI" "TEKRAR İSTİYOR MUSUNUZ? <EZH
#CHRSC13)
20:60T0 Bü
"SAYI
THEN PRİNT "CİFT SA
IF AND THEN 118 THEN TRACE O:GOSUB 28
basanızı bekler. Bu arada STOP tuşu ile listeyi durdurabilirsiniz (Bu bazı SIMONS' BASIC'lerde olmaz). “satır” parametresine 1-25 arası bir değer verebilirsiniz, daha büyük değerler komutun etkisini ortadan kaldıracaktır. Eğer LIST demeden önce 10 verirseniz, programınızdaki SIMONS' BASIC komutları negatif yazılacaktır. Böylece bu komutları kolaylıkla ayırdedebilirsiniz. O ile bu sona erer. Bir başka güzel komut da, FIND komutu. Bununla programınızın içinde geçen belli bir komutu hemen bulabilirsiniz. Örneğin FIND GOTO 100 dediğinizde, programınızın içindeki tüm GOTO 100'lerin olduğu satırların numaraları ekrana yazılacaktır. Burada FIND ile GOTO arasında boşluk olmadığına dikkat edin. Eğer boşluk koyarsanız, bilgisayar, başında boşluk olan GOTO 100'leri arar. Ayrıca bu komutla, tırnak işaretleri arasında kalan karakter dizilerini bulamazsınız. Profesyonel bir programcı disk sürücüsü kullanır. Ve sık sık disk sürücüsünün directory'sine yani içindeki programların listesine bakmak ister. Normalde ile yapılan bu işlem, o anda bilgisayarda duran bir programı da siler götürür. Ancak SIMONS' BASIC'de bu işi DIR “$” komutu görür ve programa da bir şey olmaz. Ayrıca DIR “$0:*” ile sadece sequential dosyaların adları (aynı şekilde PRG, REL veya SEQ'de kullanabilirsiniz) veya DIR “$SIM*” ile de ilk üç harfi SIM olan tüm dosyaların listesi çağrılabilir. Ayrıca daha önceden yazıp kasete veya diskete kaydettiğiniz bir programı, o anda bilgisayardaki programın sonuna ekleyebilirsiniz. Bu tıpkı LOAD yapar gibi oluyor, ancak LOAD yerine MERGE yazıyorsunuz. MERGE “program” gibi.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 42
F harfleri ile gösterilir. Bu sisteme de onaltılık sistem denir. Böylece bir byte'ın içeriği 00-FF (0-255) arasında değişir. İşte bu sayıları da artık BASIC programlarınızın içinde kullanabilirsiniz. Bu sırada ikilik sayıların başına % işaretini, onaltılık sayıların başına da $ işaretini getirmeniz gerekli. Ayrıca, ikilik sayılar mutlaka 8 basamaklı, onaltılık sayılar da 4 basamaklı olmalı. Örneğin:
9001110001 $ABCD $12EB0 $000F 9000110011
Bu arada ufak bir istisna var. Eğer $9DEF gibi içinde DEF sözcüğü geçen bir sayı kullanıyorsanız, D ile E'nin ya da E ile F'nin arasına boşluk koymalısınız. Yoksa bilgisayar bu karakterleri BASIC komutu DEF olarak kabul edecek ve hata verecektir. Bir diğer komut ikilisi de bölme işlemi için kullanılıyor. A=DIV(sayı1,sayı2) ile sayı1'in sayı2'ye bölümünün tam sayı kısmını elde edersiniz. Eğer A=MOD(sayı1,sayı2) yaparsanız, bu sefer de aynı işlemin kalanının ne olduğunu öğrenirsiniz. A=FRAC(işlem) sonucunda, belirtilen işlemin virgülden sonra kalan kısmının ne olduğunu anlarsınız. Hatırlarsanız, normaldeki INT komutu da bir işlemin virgülden öncesini veriyordu. Ve son matematiksel komutumuz EXOR. Normalde varolan AND, OR ve NOT gibi EXOR da bit düzeyinde mantıksal işlem yapar. EXOR'un mantık tabelası şu şekildedir:
A B EXOR(A,B)
Az da, iki sayının ikilik sistemdeki gösterimindeki bitleri sırasıyla yukarıdaki tabelaya göre işleme sokulur ve sonuç A'ya veya belirtilen başka bir değişkene depolanır.
Yardımcı Komutlar
SIMONS' BASIC, programın yazma aşamasını daha kolay hale getirebilmek için bazı yeni emirler katmış BASIC'e. Örneğin COLD komutu ile, SIMONS' BASIC'i ilk açılış durumuna getirebilirsiniz. Bilgisayar her şeyi normale döndürecektir ve SIMONS' BASIC ile doldurulduğunda durum neyse o olacaktır. Peki bu sırada veya yanlışlıkla NEW ile silinen programa ne olacak?.. Hiç korkmayın. OLD komutu ne güne duruyor? Programcının baş belası satır numaralarına gelince. Bir kere AUTO komutu var. Örneğin AUTO 100,10 dediğinizde bilgisayar otomatik olarak size 100'den başlayıp satır numaralarını yazacaktır. Eğer RETURN tuşuna dokunduğunuzda bulunduğunuz satırda yeni bir şey yazmamışsanız, AUTO çalışmayı durduracaktır. Satır numaraları da RENUMBER komutu ile değiştirilebilmekte. Örneğin RENUMBER 10,2 dediğinizde, programınızın ilk satırı 10 numaralı olacak ve geriye kalanlar ikişer ikişer artacak. Ancak ufak bir sorun var. Bu komut, GOTO, GOSUB, THEN gibi komutlardan sonra gelen satır numaralarını yeni numaralara göre değiştirmiyor. Yani çalışan program, RENUMBER'dan sonra birazcık çalışmaz hale geliyor. Tabii buna karşı bir önlem var. Örneğin GOTO 100 yerine şunu kullanabiliriz:
10 CALL SATIR 100
10 PROC SATIR 100
Burada daha önce öğrendiğimiz PROC komutunu altprogram yazmak için değil de, bir satıra isim vermek için kullanıyoruz. Ancak dikkat edin de, bu satırdan sonra ENDPROC olmasın, yoksa biliyorsunuz hata çıkacaktır. GOSUB..RETURN çiftinin yerine de PROC...ENDPROC kullanabilirsiniz. Sonuçta RENUMBER'dan sonra satır numaraları değişecek, ancak PROC isimleri aynı kalacak ve program işlerliğini sürdürecek. Yepyeni bir olanak. Satırlarınızın bazılarını görünmez kılabilirsiniz. Örneğin şunları yazın:
100 INPUT“PAROLA”;A$ 200 DISAPA IF A$< )“NA'BER” THEN END: 300 PRINT “BILDINIZ, BRAVO !!”
Şimdi de SECURE 10 komutunu verip LIST yapın. 200 numaralı satırın görünmediğini göreceksiniz. Bunun gibi istediğiniz satırların başına DISAPA koyarak, sonra da SECURE 10 yaparak o satırları görünmez yapabilirsiniz. İşin en güzel tarafı, bu şekildeki programları SAVE edip tekrar doldurduğunuzda da bu önlem aktifliğini korur. Hatta normal BASIC programlarını bile SIMONS' BASIC'de korumaya alıp SAVE ettiğinizde, SIMONS' BASIC'i kullanmasanız bile LIST ettiğinizde saklanan satırları göremezsiniz. Bir başka olanağınız da, devamlı olarak kullandığınız bazı komutları, 15 karakteri geçmemek şartı ile, fonksiyon tuşlarına yerleştirebilmeniz. Örneğin aşağıdaki gibi:
KEY 1,“LIST”