Amiga Dünyası sayı 18, sayfa 89

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 89

Tüm meraklılar hoş geldiniz. Umarım bu köşede yayınlanan örnekler ile programlarınıza yeni eklemeler yapma fırsatı bulmuş, yayınladıklarımızı çeşitli şekillerde geliştirerek kullanmaya başlamışsınızdır. Geçen örneklerimizde genellikle bir Library fonksiyonunun Basic'ten kullanımını örnekleyen ufak programcıklar yapıyorduk. Bu ay konuyu biraz değiştirmek istiyorum. Basic'in bize nasıl faydalar sağlayabileceğinden ve nasıl verimli programlanabileceğinden bahsedelim. Kısaca biraz sırlarımızı anlatalım.

Basic, genelde başlayanlar için temel ve basit bir dil olarak bilinir. Amatör işlerde kullanılabileceği, işe yarar programlar yapılamayacağı savunulur ve genelde C, Pascal veya doğrudan Assembly gibi dilleri övülür. Basic basit bir dildir, burası doğru. Basic'e güvenip büyük işler yapmak her zaman sonuç vermez. Teorik olarak Basic'le yapılamayacak iş neredeyse yoktur. (Demo mu? İyi güzel de Demo ne işe yarar Allah'ın aşkına?). Pratikte inceleyecek olursak, Basic her uygulama için ideal değildir. Sistemi kullanan herhangi bir programı kullanmak, Basic ile her dilden daha zordur. Buna ek olarak tüm dillerin yanında komik kalan bir işletim hızı vardır. Ancak öyle ufak işler vardır ki, Basic'le yaptığınızdan kolay bunları hiçbir dilde yapamazsınız. Buradan şu sonucu çıkarmalıyız. Her dilin kendine uygun bir kullanım alanı vardır. Önemli olan gerektiği yerde gereken dili kullanabilmek (Amerikalı bir pilot arkadaşım Basic'ten profesyonel uçak simülasyonu yazdı ve şirket kurup sattı.). Basic ile yazacağınız program kısa olmalı: Bugüne dek 30-35 Kilobyte'ı aşan programların hiçbir makinada problemsiz çalıştığını görmedim. Hıza dayanmamak: İç içe döngülerle dolu, ekranda çok hareket isteyen, fazla mantıksal karşılaştırmanın olduğu programlar olmamalı.

Sistem komutlarına dayanmamak: Library fonksiyonlarını programın dayanağı olarak değil de, programı görsel açıdan destekleyici şekilde kullanmak gerekir. Çünkü herhangi bir Library fonksiyonu diğer dillerin çoğunda daha zahmetsizce (Evet Assembly'de bile) kullanılabilir.

Tüm yukarıdakiler benim tavsiyelerim. Katılıp katılmamak size kalmış. Lafı fazla uzatmayalım, gelelim bu ayın programına: Bu program Basic'in etkili kullanım alanlarından biri; genişletilmiş bir hesap makinesi olarak kullanılabilmesi. Kolay kolay birisinin matematikten benim kadar nefret etmesi mümkün değil. (Kim diyor benim N.Ö.'den 2 defa kaldığımı !!!!). Yok sinüs'ün grafiği, yok Cosinüs hiperbolik 3 x'in grafiği daha neler neler. Oysa çok az zahmetle, Basic'ten hemen bir fonksiyon çizen program yapılabilir. Örnek programımız bu amaca hizmet ediyor. Ancak bu basit ve kısa program üzerinde size bazı programlama teknikleri göstermeyi amaçladım. Sabırsız arkadaşlar için önce program. Programı yazıp çalıştırdıktan ve biraz kullandıktan sonra devam edelim.

' Grafik Çizen basit örnek, 1991 F. Kağan gmax = 0 se% =1 DEF FN f(x)= SIN (x) bol = 20 çizim: wx% = WIND0W (2) wy% = WIND0W (3) wxo% = wx% 2

wyo% = wy% 2 IF wx% < 50 OR wy% <50 THEN GOTO son FOR g% = 20 TO wx% -20 x = (g%-wxo%)/bol y = FN f (x) IF ABS(y) > ABS (gmax) THEN gmax = ABS(y) NEXT g% ara = (wyo%-10)/ABS(gmax) FOR g% = 20+se% TO wx%-20 STEP se% LINE (g%-se%,wyo% - FN f((g%-wxo%-se%)/bol)*ara)-(g%,wyo% - FN f((g%-wxo%)/bol)*ara) NEXT g% LINE (20,wyo%Mwx%-20,wyo%),2 LINE (wxo%,10)-(wxo%,wy%-10),2 LINE (20,10)-(wx%-20,wy%-10),2,B WHILE INKEY$ = "" : WEND CLS PRINT "Lütfen istediğiniz Fonksiyonu girin, Parametre X olsun"

INPUT aS gmax = 0 n = INSTR (a$,"=") IF n = 0 THEN GOTO son B$ = MID$ (a$,n,LEN (a$)) Fon$ = "Def Fn f(x) "+B$ Label$ = "2000" son$ = "Goto çizim" fosin:

PRINT "Fonksiyon siniri X den" INPUT c$ d K VAL (c$) IF d = 0 THEN PRINT "Olmadi":GOTO fosin bol = wxo%/d CLS ÖPEN "Ram:Data" FOR OUTPUT AS #1 PRINT #1,Label$ PRINT #1,Fon$

PRINT #1,son$ CLÖSE #1 CHAIN MERGE "Ram:data",2000,ALL,DELETE 2000 - son: END 2000 Evet, aslında gözüktüğü kadar uzun değil. Programı önce bir çalıştırmanızı tavsiye ederim. Dikkat etmeniz gereken programı normal bir basic ile çalıştırmanız gerektiği. Yani Compile Basic'ler ile bu programı çalıştıramıyorsunuz. Prog-

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