MATEMATĠKSEL ĠġLEMLER 2. HAFTA MATEMATĠKSEL ĠġLEM KOMUTLARI (FONKSĠYONLARI) Matematiksel (aritmetik) işlemlerin gerçekleştirilmesini sağlayan komutlar (fonksiyonlar) dır. C deki matematiksel fonksiyonlar başlıca Üstel Logaritmik Trigonometrik Hiperbolik Sayı biçimlendirme Rasgele sayı Diğer şeklinde gruplara ayrılarak incelenebilir. 1
ÜSTEL FONKSĠYONLAR Fonksiyon Açıklaması exp ( x ); e x ldexp ( x, n ); x.2 n pow ( x, y ); x y sqrt ( x ); x (1/2) ÜSTEL FONKSĠYONLAR 2
LOGARĠTMĠK FONKSĠYONLAR Fonksiyon Açıklaması log ( x ); Ln(x) log10 ( x ); Log(x) x tabanında y nin logaritması için fonksiyon tanımlama #define logxy (log(y)/log(x)) TRĠGONOMETRĠK FONKSĠYONLAR Fonksiyon Açıklaması sin ( x ); Sin(x) cos ( x ); Cos(x) tan ( x ); Tan(x) asin ( x ); Arcsin(x) acos ( x ); Arccos(x) atan ( x ); Arctan(x) atan2 ( y, x ); Arctan(y/x) #define cotan(x) (1/tan(x)) #define sec(x) (1/cos(x)) #define cosec(x) (1/sin(x)) 3
TRĠGONOMETRĠK FONKSĠYONLAR HĠPERBOLĠK FONKSĠYONLAR Fonksiyon Açıklaması sinh ( x ); Sinh(x) cosh ( x ); Cosh(x) tanh ( x ); Tanh(x) 4
SAYI BĠÇĠMLENDĠRME FONKSĠYONLARI Fonksiyon Açıklaması ceil ( x ); x ten küçük olmayan en yakın tamsayıyı verir (yukarı doğru yuvarlama). ceill ( x ); x ten küçük olmayan en yakın tamsayıyı verir (yukarı doğru yuvarlama). floor ( x ); x ten büyük olmayan en yakın tamsayıyı verir (aşağıya doğru yuvarlama). floorl ( x ); x ten büyük olmayan en yakın tamsayıyı verir (aşağıya doğru yuvarlama). SAYI BĠÇĠMLENDĠRME FONKSĠYONLARI 5
RASGELE SAYI FONKSĠYONLARI Fonksiyon Açıklaması random ( x ); 0 ile (x-1) arasında bir rasgele tamsayı üretir. randomize( ); Rasgele sayı üreticisini rasgele bir başlangıç değerine kurar. RASTGELE SAYI FONKSĠYONLARI Bilgisayarın ürettiği 0-99 arasındaki rastgele bir tamsayının tahmin edilme oyunu programı. 6
DĠĞER MATEMATĠKSEL FONKSĠYONLAR Fonksiyon Açıklaması abs ( x ); int tipindeki x in mutlak değerini verir. labs ( x ); long tipindeki x in mutlak değerini verir. fabs ( x ); double tipindeki x in mutlak değerini verir. modf ( x, y ); double tipindeki bir ondalıklı sayıyı tam ve ondalıklı kısımlarına ayrıştırır. modfl ( x, y ); long double tipindeki bir ondalıklı sayıyı tam ve ondalıklı kısımlarına ayrıştırır. fmod ( x, y ); x/y işlemi sonucu (x mod y) kalanı double tipinde verir. fmodl ( x, y ); x/y işlemi sonucu (x mod y) kalanı long double tipinde verir. DĠĞER MATEMATĠKSEL FONKSĠYONLAR 7
math.h TANIMLI BAZI SABĠTLER Sabit Sembol π M_PI π/2 M_PI_2 π/4 M_PI_4 1/π M_1_PI 2/π M_2_PI e M_E Ln(2) M_LN2 Ln(10) M_LN10 Log(e) M_LOG10E MATEMATĠKSEL FONKSĠYONLAR Herbir hanenin, basamak sayısı kadar üslerinin toplamı yine aynı sayıya eşit olan tamsayılara, Armstrong sayıları denir. Örneğin 153=1.1.1+5.5.5+3.3.3 (veya 153=1^3+5^3+3^3) olduğu için Armstrong sayısı olarak adlandırılır. Buna göre 100-999 arasındaki Armstrong sayılarını üreten program. 8
MATEMATĠKSEL FONKSĠYONLAR ALTIN ORAN YĠNELEME (RECURSION) Kendi kendini çağıran fonksiyonlar, yinelemeli fonksiyon lar olarak adlandırılmaktadır. Yinelemeli fonksiyonda Temel durum: Problemin basit çözümü Genel (yineleme) durum: Basit çözüme yaklaştıran yineleme çözümü şeklinde iki durum (kısım) vardır. 9
YĠNELEME (RECURSION) örneği-1 Matematiksel olarak 0!=1 ve 1!=1 dir. Daha büyük tamsayıların faktöriyelleri, ardışık çarpımlarla elde edilmektedir. Örneğin 5!=5*4*3*2*1 dir. Aynı zamanda 5!=5*4! dir. Benzer adımlarla 5!=5*4*3! 5!=5.4.3.2! 5!=5.4.3.2.1! olduğu açıktır. 5!=5*4! 4!=4*3! 3!=3*2! 2!=2*1! faktoriyel (sayi) Eğer sayi 1 sonuç = 1 değilse sonuç = sayi * faktoriyel (sayi-1) Yinelemeli fonksiyonun adı ve parametreleri Temel durum Genel durum YĠNELEME (RECURSION) örneği-1 10
YĠNELEME (RECURSION) örneği-2 Fibonacci serisi nin elemanları 1, 1, 2, 3, 5, 8, 13, 21, 34 şeklindedir. Yani serinin her terimi, kendinden önceki iki terimin toplamına eşittir. fibonacci (sayi) Eğer sayi = 0 veya sayi = 1 ise sonuç = 1 değilse sonuç = fibonacci(sayi-1) + fibonacci(sayi-2) Yinelemeli fonksiyonun adı ve parametreleri Temel durum Genel durum YĠNELEME (RECURSION) örneği-2 11
YĠNELEME (RECURSION) örneği-3 Matematikte Delannoy sayısı ; dikdörtgen ızgaranın (0,0) olarak kabul edilen güneybatı köşesinden (başlangıç noktası) sadece kuzey/kuzeydoğu/doğu yönünde tek adımlar kullanarak (m,n) kuzeydoğu köşesine (bitiş noktası) doğru mümkün olan yolların sayısını verir. Örneğin m=n=1 olması durumundaki 1x1 tipindeki ızgarada Delannoy sayısı 3 tür. YĠNELEME (RECURSION) örneği-3 delannoy (m,n) Eğer m = 0 veya m = 0 ise sonuç = 1 değilse sonuç = delannoy(m-1,n)+delannoy(m-1,n-1) +delannoy(m,n-1) Yinelemeli fonksiyonun adı ve parametreleri Temel durum Genel durum 12
YĠNELEME (RECURSION) örneği-3 13