Bu sayfadaki yazılar
Sayfanın metni
Sayfa 57
(30*RND) 0 ile 30 arasında bir sayı verir. Bu komutla zar atma işlemi, fikstür çekimi gibi tuhaflıklar yapabilirsiniz. SAY AMIGA'yı konuşturmakta kullanılır. Kullanımı : SAY söz, data data 7 parçadan oluşur. 1. parça : Aksan belirtir. 65-320 arasında olmalıdır. 2. parça : 0 yada 1 olur. 0 olursa vurgu açık olur. 1 olursa robot ses olur. 3. parça : Hız. 40-400 arasında olur. 4. parça : Cinsiyet. 0-Erkek, 1-Kadın. 5. parça : Hertz cinsinden frekans. 5000-28000 arasında olmalıdır. 6. parça : Volüm. 0-64 arasında olmalıdır. 7. parça : Sesin hangi kanallara gideceğini belirler. Siz sesi çift kanala yollayın bunun için de bu değer 10 olmalıdır. SGN Verilen sayının pozitif / negatif olup olmadığını belirtir. PRINT SGN(1), SGN(0), SGN(-1)
Matematiksel SGN fonksiyonu : - Bir sayı 0'a eşitse 0 olur. - Bir sayı pozitifse 1 olur. - Bir sayı negatifse -1 olur. SIN(X) X'in radyan cinsi olması şartıyla sinüsünü verir. AMIGABASIC kullanarak matematik ödevlerinizi de böylece yapabilirsiniz. Örneğin bir fonksiyonun grafiğini çizdirip kağıda dökebilirsiniz. SQR(X) X'in kare kökünü verir. X 0 yada pozitif olmalıdır. TAN(x) X'in radyan olması şartıyla tanjantını verir. Matematik fonksiyonların AMIGABASIC'e çevrilmesi. Sinüsoid ve Cosinüsoid fonksiyonlardan bazıları AMIGABASIC'te şöyle elde edilebilirler : Hiperbolik tanjant : TANH (x) = (EXP (-X) / EXP (X) * EXP (-X))*24-1 Hiperbolik kosinüs : COSH (X) = (EXP (X) + EXP (-X))/2 Hiperbolik sinüs : SINH (X) = (EXP (X) - EXP (-
Ters kotanjant :
ARCCOT (x) = ATN (X) * 1.5708 Ters kosekant : ARCCSC (X) = ATN (X/ SQR (X*X-1)) + SGN (X) -1) * 1.5708 Ters sekant : ARCSEC (X) = ATN (X/ SQR
(X*X-1)) + SGN (SGN(X)-1) * 1.5708 Ters cosinüs : ARCCOS (X) = -ATN (X/ SQR (-X*X+1)) + 1.5708 Ters sinüs : ARCSIN (X) = ATN (X/ SQR (-X*X+1)) Cotanjant : COT (x) = 1/ TAN(x) Cosecant : CSC (x) = 1 / SIN(x) Secant : SEC (x) = 1/COS(x) Bu formüller her halde işinize yararlar. Gelecek ay diskete veri kaydetmeye olanak sağlayan işlemlere başlıyoruz. Formatlı bir disketinizi hazırlayın. Bu arada eğer örnek BASIC programlara ihtiyacınız varsa bana disket gönderebilirsiniz. Bir dahaki aya kadar hoşçakalın. BAHADIR AKCAN
ATN (X/ SQR (-
SAL Ham
TENLİST 8 TOR
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 56
Yum! Yeni bir sayı ve yeni bir bölümle karşınızdayız. Bu ayki komutlarımız biraz değişikçe olacaktır. Veri kontrol komutları READ - DATA Read - Data ikilisi ile programın veri kontrolü yapmasını kolaylaştırabilirsiniz. Read komutu Data satırlarından itibaren verileri okur. Örnek : For i=1 to 10 Read a$ Next i Data Orhan, kerim, şahin, vs. Bu programcık 10 kez read komutuyla data okur. Eğer data sayısı 10'dan azsa Out of Data ( Yetersiz veri ) mesajı alırsınız. Örnek # 2: 10 CLS 20 READ A$, A 30 PRINT A$, A 40 GOTO 20 50 DATA AHMET, 5 60 DATA MEHMET, 15 Bu programı çalıştırdığınızda Out of Data mesajı alırsınız. Peki Data'yı AMIGA'ya anlatmak için bir yol yok mu? Tabii ki var. Örnek # 3: 10 CLS 20 READ A$, A 30 IF A=0 THEN END 40 PRINT A$, A 50 GOTO 20 60 DATA Ahmet, 5 70 DATA Mehmet, 15 80 DATA Orhan, 0 90 — Böylece A değişkeni 0 olduğu
zaman programdan çıkarak out of Data mesajını önlemiş oluruz. Örnek #4: Bu örnekte satır numarası kullanmıyoruz. Başlangıç: CLS LOCATE 5, 5 INPUT " Aradığınızkişinin adı nedir"; AŞ ara: READ C$, B$, TL$ IF C$ - "Piggy” THEN GOTO nowayout IF A$ - C$ THEN GOTO ok GOTO ARA ok: CLS LOCATE 5, 5 PRINT"ADİ : ";C$ PRINT" SOYADI: ";B$ " TELEFONU : "; TL$ bekle: A$ - İNKEY$:İF A$ — "" THEN GOTO bekle GOTO başlangıç nowayout: CLS LOCATE 5, 5 PRİNT " Aradığınızkişi mevcut değil " GOTO bekle DATA Orhan,Cevher,1597062 Data Şahin,Derya,1597063 Data Murat,Adanç,1608211 Data Piggy, Unknown,3322454 Programın açıklaması : 1.satır : Başlangıç adlı label ile programa başlıyoruz. 2.satır : Ekranı siliyoruz. 3.satır : Cursoru 5, 5 pozisyonu- na getiriyoruz. 4.satır : KullanıcınınA$ değişkenine bir veri vermesini
sağlıyoruz. 5. satır : Ara adlı label verilen ismi arayan bölümün başlangıcını oluşturuyor. 6. satır : READ komutunu kullanarak Data satırlarını okuyoruz. 7. satır : Eğer data satırlarının sonuna gelinmişse Nowayout adlı label'a atlanıyor. 8. satır : Aranılan isim bulunduysa ok adlı label'a atlıyoruz. 9. satır : Eğer bu şartlar doğru değilse aramaya devam ediliyor. 10. satır : Ok adlı label verinin ekrana basıldığı bölümün başlangıcıdır. 11. satır : Ekran siliniyor. 12. satır : Cursor 5,5 pozisyonuna getiriliyor. 13-14 ve 15. satırlar : Bilgiler ekrana basılıyor. 16. satır : Burası bir bekleme rutininin başlangıcı. 17. satır : Bir tuşa basmanız bekleniyor. Basılınca başa dönüyoruz. 18. satır : Nowayout adlı label ismin bulunmadığını gösteren bölümün başlangıcı. 19. satır : Mesaj veriliyor. 20. satır : Bir tuşa basılması bekleniyor. Read - Data komutunun pratik olmayan yönü dataların her seferinde programın sonuna yazılmasıdır. Yani programı sadece BASIC bilenler kullanabilir. Bilgisayar operatörlerinin de rahatça veri işlem yapabilmeleri için bu verileri diskete kaydedebiliriz. Bu konuda gelecek sayıda bilgi vereceğim. Matematiksel fonksiyonlar LOG Verilen X değerinin Logaritmasını e tabanına göre verir. X sıfırdan büyük olmalıdır. Örnek : Print Log(1), log(10), OCT$ Verilen ondalık sayıyı octal (sekizli) sisteme çevirir. Örnek : PRINT OCT$ (30) RND 0 ile 1 arasında bir rastgele sayı yaratır.
â