Sayfanın metni
Sayfa 23
NIZ SAYI KUCUK GELDİ ": GOTO 10 60 IF A>607 THEN PRİNT " VERDİĞİ- NİZ SAYI BUYUK GELDİ": GOTO 10 RUN SİFREYİ GİRİN ? 1234 VERDİĞİNİZ SAYI BUYUK GELDİ SİFREYİ GİRİN ? 345 VERDİĞİNİZ SAYI KUCUK GELDİ SİFREYİ GİRİN ? 607 SİFREYİ BİLDİNİZ. Yaptığımızbu örneği incelediğinizde hiç birinizin bu komut hakkında bir so- runu kalacağını zannetmiyorum. Şimdi aynı programı rakam olarak değilde isim olarak yapalım. ÖRNEK: 10 X$z " ISTANBUL" : REM BU SE- FERKİ SİFREMİZ 20 İNPUT "SİFRE İSMİ GİRİN "; A$ 30 IF A$- " ISTANBUL "THEN GOTO 50 40 1F A$<> " ISTANBUL" THEN PRİNT" OLMADI ": GOTO 20 50 PRİNT " BİLDİNİZ !!! " RUN SİFRE İSMİ GİRİN ? BARIS OLMADI SİFRE İSMİ GİRİN ? GİGFU OLMADI SİFRE İSMİ GİRİN ? İSTANBUL BILDINİZ !!! Ne kadar basit değil mi ? Basic'in ne kadar yüksek seviyeli bir dil olduğu iş- te bunun gibi kullanımı kolay ve çeşitli komutlarla belli oluyor. Bu komuttan da sonra başka bir Basic kahramanına geçelim. FOR ...TO...NEXT : Bu komut değişkenleri sayaç olarak kullanmanızı sağlayan kullanışlı bir ko- muttur. FOR'dan sonra herhangi bir değişken atanarak yapılması istenen işler sırayla satır satır girilir.Girdiğiniz emirlerin tekrar edilmesi gereken son satırından sonra NEXT yönergesi ko- nur. (Bu arada yapılması gereken işin sayısı ve TO konarak belirtilmelidir.)Biraz karışık gibi görülse- de aslında basit sayılır. En iyisi siz alt- taki örnekleri dikkatle inceleyin. ÖRNEK : 10 FOR A-0 TO 16 20 POKE 53281,A 30 NEXT Bu ufak programda A değişkeni sıra- sıyla O'dan 16'ya kadar değer alıyor.-
Her değer alışında hemen bir sonraki satıra atlıyor ve oradaki komutu yerine getiriyor. NEXT komutu ile karşılaştığında yeniden değer almak için ilk satıra dönüyor. İkinci satırdaki POKE komutunu henüz işlemedik ama eğer bir POKE komutu olsaydı ekrana verir. NEW: Yeni bir program yapmak istediğimizde bu komutu vererek hafızayı boşaltırız. CONT: RUN/STOP tuşu ile durdurduğumuz çalışmayı hemen bu komutu ve yanındaki rakamların ifadesini anlamışsınızdır. Bir başka örnek. ÖRNEK: 10 FOR X=1 TO 40 20 PRINT "64'LER DERGİSİ"; 30 NEXT Bu programı da yazıp RUN'ladığınızda ekrana yan yana 64'LER DERGİSİ yazılarının geldiğini göreceksiniz. Zannedersem bu komutu da anlamış bulunmaktasınız. Şimdi FOR komutunun bir başka yönerge ile kullanımı: TO... STEP...: Bu komutun da yukarıdakinden pek bir farkı yoktur. Yalnızca STEP yönergesinden sonra artma sayısını vereceksiniz. STEP 1, birer birer artırır, STEP 2 ikişer, STEP -1 ise başında eksi olduğundan birer birer azaltır. Hemen basit bir örnek: ÖRNEK: 2-1 10 FOR X=0 TO 100 STEP 2 20 PRINT X 30 NEXT ÖRNEK: 2-2 10 FOR X=99 TO 0 STEP -1 20 PRINT X 30 NEXT 40 PRINT "BOOMMM" İki örnekte de açık açık kullanımlar ortada... Hayal gücünüzü çalıştırın. PRINT komutunu ve renkleri kullanarak FOR NEXT yönergesi ile basit demolar yapın. Bu ay programsal komutları burada bırakalım. Daha fazla yüklenirsem kafanız karışabilir. Bir ay içinde burada anlattıklarımı anlayıp önceki bilgilerle pekiştirirseniz garanti veriyorum ki birçok faydalı programı yapar hale gelirsiniz. Yazıyı bitirmeden bilgisayara direkt verdiğimiz bazı komutları size aktarayım. RUN: Hafızada bulunan programı çalıştırmaya yarar. LIST: Yaptığımız BASIC programın listesini programı bu komutu vererek kaldığı yerden işlemesini sağlarız. Ama program kesildikten sonra hiçbir komut vermemeniz gerekir. LOAD: Dışarıdan numarası belli olan cihazdan bilgi yükler. LOAD "ISIM" <TEYP> LOAD "ISIM",1,1 <TEYP> LOAD "ISIM",8,1 <DISK> SAVE: Hafızada bulunan programı kasete veya diskete kaydeder. SAVE "ISIM" <TEYP> SAVE "ISIM",8 <DISK> Bu aylık da bu kadar. Tabii geçen ay olduğu gibi bu ay da bir problemimiz var. PROBLEM: 42 kişilik bir sınıfta 28 kişi matematikten direkt geçmiş, 26 kişi fen grubu derslerden takıntısız geçmiş, geri kalanlar ise bütünlemeye kalmıştır. Ben sizden bu sınıfın başarı grafiğini iki ayrı ders ve genel olmak üzere yatay barlar halinde istiyorum. Kolay çözmeniz için iki ufak ipucu. Birincisi bar dediğim grafik karakteri Negative Space'den oluşacak. İkincisi belki bilmiyorsunuzdur. Bir satırda 80 kolon var, bu yüzden satırı yüze bölemezsiniz. Düşünün ve formülünü bulun. (Unutmayın her grafik tek satırdan oluşacak.) Hey sen niye babana soruyorsun onun zamanında bilgisayar mı vardı? Her türlü sorunlarınız için adres aşağıda serbestçe yazın... Ve derslerinizi çalışmadan gelmeyin karşıma. Ben şimdi AMOS BASIC öğrenmeye gidiyorum... Bir dahaki aya kadar BYE!!! BARIŞ YALÇINKAYA PK 205 BEŞİKTAŞ / İSTANBUL
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 22
Evet arkadaşlar yeni bir Basic yazısı ile yine karşınızdayım. Geçen ay verdiğim problemi herhalde hepiniz kolaylıkla çözdü. Yalnız problemin sonunda aylık %5 faiz yazısını yıllık %6 faiz olarak değiştirmeliydik. Bilmem farkında mısınız ama eğer ayda %9 faiz koyarak hesapladığımızda yalnız geçen ay ki komutları kullanarak program gereğinden fazla uzar. Siz en iyisi onu yıllık %9.10 faiz ile hesaplayın. Yapamayanlar bir daha denesin. Geçen ay ki yazımın sonunda da belirttiğim gibi Arit-
matik işlem operatörlerini bilmeyen yeni kullanıcılar haklı olarak problemi zor buldu. Yeni Commodorcular için Aritmatik işlem operatörlerini bu yazımda anlattım. Geçen sayı yazıyı kapatırken size öyle bir program yapın ki kullanıcıya maaşını sorsun, yiyecek, yol ve diğer masraf-
ları ayrı ayrı sorarak kalan parayı yılda 9.10 faizden bankaya yatırıp bir yıl sonra biriken parayı ekrana yansıtma- nızı istemiştim. Şimdi programın yapı- mına geçelim : 10 INPUT " MAASINIZ "; M 20 INPUT " YOL MASRAFLARINIZ ";
A 30 INPUT "YİYECEK MASRAFLARI- 40 INPUT " DİGER MASRAFLAR "; C 50 KzM-(A*B4C) : PARAYI HESAPLAMA 60 T-K*12 : REM ARTAN PARANIN BİR YIL SONRAKI TUTARI 70 F-T/10 :REM FAİZ TUTARI 80 T-T4F : REM ARTACAK PARA- NİN FAİZ İLE TOPLANMASI 90 PRİNT " BİR YİL SONRA BİRİKEN
gibi aslında hiç de karışık değil. Kim bilir belki de hepiniz bu kadar basit sorular sorulur mu diye, bana, kızıyorsunuzdur. Programda hemen dikkatinizi çeken yeni bir komut var ve siz ne işe yaradığını bile anlamadınız belki de. Bu yönergemizin ismi REM. Rem'in kullanılışı çok basit. Bir komut olarak işlevi yok. Yalnızca program içine koymak istediğiniz mesajları buradan bu mesajları yalnızca programın listesini alan bir kişi okuyabilir. Rem komutundan sonra yazılanlar hiç bir şekilde ekrana yansımazlar. Şimdi gelelim bu ay ki dersimize.. İlk önce makinemize işlem yaptırmayı sağlayan aritmetik operatörler. Bizim şu aşamada kullanacaklarımız : + : Toplama işlemi - : Çıkarma işlemi / : Bölme işlemi * : Çarpma işlemi Bu semboller rakamlar arasında ve matematiksel değişkenler arasında kullanılır. İşlem demişken hemen konuyla bağlantılı olarak bir çok bilgisayarda temel komut görevi gören LET komutuna bir göz atalım.
Görevi komuttan sonra gelen işlemi hesaplamaktır. LET C=A*B gibi. Commodore 64 matematiksel işlemleri LET komutu kullanmadan da uygulayabildiğinden gereksiz gibi görülmektedir. Yukarıdaki ifadeyi C= şeklinde yazmamız 64'ün aynı işlemi yapmasına yol açar. Bu yüzden yapacağımız programlarda pek kullanmayacağız. GOTO: İşte BASIC'te çok sık kullandığımız bir komut daha. Bu komut aracılığıyla programın istediğimiz bölümünde istediğimiz satıra atlamasını sağlarız. Kullanımı GOTO 10, GOTO 1200 şeklindedir. Komuttan sonra gitmek istediğimiz satır numarasını yazarız. Örnekleri verelim. ÖRNEK 1-1: 10 PRINT "COMMODORE 64" 20 GOTO 10 ÖRNEK 1-2: 10 PRINT "COMMODORE 64"; 20 GOTO 10 Yukarıdaki iki örneği ayrı ayrı yazıp çalıştırın. Fark ekrana hemen yansıdı. Programlar arası bu farkı örnek 1-2'nin birinci satırının sonuna koyduğumuz ; işareti sağlıyor. Noktalı virgül işareti hemen sonra boşluk bırakmadan anlamı taşıyor. Yalnız PRINT komutu ile kullanılır diye bir şart yok. (INPUT'u hatırlayın.) Vakit kaybetmeden hemen bir sonraki komut. IF... THEN...: BASIC'te karşılaştırma olayını yapan komut. Karşılaştırılacak değer IF kelimesinden sonra, koşul sağlanmışsa yapılacak işlem THEN kelimesinden sonra yazılır. Bu komutta örnekler çok çeşitli olabilir. Sayılar, değişkenler, diziler ve karakterler karşılaştırılabilir. Komuta örnekler vermeden önce karşılaştırma ifadesinde kullanacağımız operatörler.
<<: Küçük veya Eşit Büyük veya Eşit <>: Eşit Değil Yukarıdaki işaretleri zaten matematik- ten biliyoruz. Şimdi bir sayısal örnek yapalım. ÖRNEK: 10 S-607 :REM SİFREMİZ 20 İNPUT" SİFREYİ GİRİN "; A 30 IF A<> 607 THEN GOTO 50 35 İF Az607 THEN 40 40 PRİNT "SİFREYİ BİLDİNİZ."