Matematiksel Fonksiyonlar
(ABS, CINT, INT, FIX, SQR, COS, SIN, TAN, RND)

FONKSİYONLAR

Gwbasic programlama dilinde bazı işlemleri yaptırmak için çeşitli fonksiyon komutları kullanırız. Bu fonksiyon komutlarını kullanım alanlarına göre 3 bölüme ayıracağız.

1.Matematiksel Fonksiyon Komutları

2.Karakter Fonksiyonları

3.Kursör (İmleç) hareket fonksiyonları

MATEMATİKSEL FONKSİYONLAR

ABS(X)

Bu fonksiyon x değerinin mutlak değerini hesaplar.

Örnek: PRINT ABS(-45)

Enter'a bastığınızda ekranda eksi ( - ) değerinden kurtulmuş olarak 45 mutlak değerini, yani pozitif değeri görürsünüz.

CINT(X)

Ondalık haneli sayılar bu fonksiyon ile kullanıldığında, sayının ondalık hanesini atar ve en yakın tamsayıya eşler. Eğer ondalık hanesi .5 'den küçükse ondalık haneyi atar tamsayıyı aynen alır. Eğer ondalık hane .5 'den büyük veya 5 'e eşitse ondalık haneyi atar tamsayıya 1 sayı ilave eder.

Örnek 1: PRINT CINT(7.49)

Enter'a basıldığında ondalık hanesindeki .49 değerini atar ve ekrana sadece 7 yazar.

Örnek 2: PRINT CINT(7.5)

Enter'a basıldığında ondalık hanesindeki değer .5 'e eşit olduğundan tamsayı hanesindeki 7 sayısına 1 sayı ilave ederek ekrana 8 değerini yazar.

Örnek 3: PRINT CINT(9.90)

Enter'a basıldığında ondalık hanesindeki değer .5 'den büyük olduğundan .90 değerini atar ve 9 sayısına 1 sayı ilave ederek ekrana 10 değerini yazar.

INT(X)

Sayının değeri eksi değerliyse (sıfırdan küçükse) ve aynı zamanda ondalık hanesi de varsa sayının değeri bir sayı büyür. Fakat sayı pozitif değerli ise, ondalık hane atılır. Sayının tamsayı değeri aynen kalır.

Örnek 1: PRINT INT(-3.2)

Enter'a basıldığında ondalık değer atılır. -3 olan tamsayı değeri -4 olarak ekrana yazılır.

Örnek 2: PRINT INT (6.9)

Enter'a basıldığında ondalık değer hiç dikkate alınmadan 6 tamsayısı aynen ekrana yazılır.

FIX(X)

Sayının - ya da + değerli olmasına bakmadan ondalık hanesi atılır. Tamsayı kısmı aynen alınır.

Örnek: PRINT FIX(-4,8)

Enter'a basıldığında sayının ondalık değeri atılır, tamsayı kısmı aynen -4 olarak ekrana yazılır.

SQR(X)

Sayının karekökünü verir.

Örnek 1: PRINT SQR(16)

Enter'a basıldığında ekrana karekökü olan 4 rakamını yazar. (4*4=16)

Örnek 2: PRINT SQR(8)

Enter'a basıldığında ekrana karekökü olan 2.828427 değerini yazar. (2.828427*2.828427=8)

LOG(X)

Sayının doğal logaritmasını verir.

Örnek: PRINT LOG(30)

Enter'a basıldığında ekranda 3.401197 değerini yazar.

SIN(X)

Sayının radyan cinsinden sinüs değerini verir.

Örnek: PRINT SIN(90)

Enter'a basıldığında ekrana .8939966 değeri yazılır.

COS(X)

Sayının radyan cinsinden cosinüs değerini verir.

Örnek: PRINT COS(0)

Enter'a basıldığında 1 değerini ekrana yazdırır.

TAN(X)

Sayının radyan cinsinden tanjant değerini verir.

Örnek: PRINT TAN(45)

Enter'a basıldığında ekrana 1.619775 değerini yazar.

RND

0 ile 1 arasında rasgele bir sayı üretir. Bu her seferinde farklı bir sayı olur.

Örnek: PRINT RND

Enter!a bastığınızda ekranda bu işlemi her yaptığınızda değişen; .5349368 , .2202465 gibi bir sayı görünür. Bu sayı 0 ile 1 arasında bie sayıdır.

Aşağıda; RND komutu kullanılarak yapılmış basit bir zar atma programı görüyorsunuz:

10 CLS

20 RANDOMIZE TIMER

30 FOR Y=1 TO 2

40 ZAR=INT(6*RND+1)

50 PRINT ZAR

60 NEXT Y

70 END

Programın 20 numaralı satırındaki RANDOMIZE TIMER komutu programın her çalıştırılışında farklı değerler üretilmesini sağlıyor. Yani rasgele sayılar üretiliyor. Yalnız unutmayın, sayıyı üreten RND komutudur.

30 Numaralı satırda ise for çevrim komutunu kullanarak 2 kez zar atılmasını sağlıyoruz. 1 TO 2 nin anlamını biliyorsunuz. İşlemi, 1 den başla 2 olunca bitir. Yani 2 kez yap anlamına geliyor. Demek ki buna göre 2 kez zar atılacak. Buradaki Y harfi FOR çevrim komutunun değişkeni. Bu değişken ismi tamamen bize kalmıştır. Bu değişken ismi Y yerine F, U, P veya TG2, SAY gibi harf veya harflerden veya harfle başlayan harf veya sayı karışımlarından oluşabilir. Ancak mutlaka sayısal değişken olmalıdır. Yani Y$, I$ gibi karakter değişkenler burada geçersiz olur.

40 No'lu satırda ZAR ismini verdiğimiz değişkene RND komutuyla üretilen değer atanıyor. Ancak, bildiğiniz gibi RND ile üretilen sayılar 0 ile 1 arasında bir değer olduğundan bu değeri 6'ya kadar yükseltmek için 6 ile çarpıyoruz. Ayrıca Zarda 0 değeri olmadığından +1 ilave ediyoruz. Diğer yandan üretilen bu sayı ondalık haneli olacağından ondalık hanesini atmak için de INT komutunu kullanıyoruz.

50 No'lu satırda ise üretilen bu sayıyı ekrana yazdırıyoruz.

60 No'lu satırda 1. zar üretilip ekrana yazdırıldıktan sonra ikinci zarın üretilip ekrana yazdırılması için NEXT Y komutu ile çalışmayı FOR komutuna geri döndürüyoruz. Eğer ikinci işlem de yapılmışsa NEXT komutu Y değişkenindeki 2 değerini görüp işlemi sona erdirip bir alt satıra geçiyor. Burada NEXT komutunun sonundaki Y değişken ismini yazmamız şart değil. Aslında sadece NEXT yazıp bırakabilirdik. Ama eğer birden fazla iç içe FOR çevrimleri olsaydı. O zaman mutlaka NEXT satırının sonunda hangi FOR çevrimine ait ise o çevrimin değişken ismini yazınız. Bu hem olası bir hatayı engeller, hem de programcıya kolaylık sağlar.

70 No'lu satır ise END komutu gereği çalışmayı sona erdirir.

Bir sonraki dersimizde Karakter Fonksiyonları görelim.

18. Sayfa           20. Sayfa

INDEX