Yazılım
Seçkin Üye
Selam dostlar ben Heaven.
Bu konumda sizlere Temel Kütüphane Fonksiyonlar konumuza bir alt başlığı olan Matematiksel Fonksiyonlar (math.h) ile devam edeceğim.
Konumuza geçelim.
Matematiksel fonksiyonların hemen hemen hepsi double veri tipindedir.
Bu fonksiyonlardan biri program içinde kullanılacaksa math.h başlık dosyası program içine eklenmelidir.
En çok kullanılan matematiksel fonksiyonları aşağıda tablo halinde verdim.
| Fonksiyon Bildirimi | Açıklama | Örnek | Sonuç |
| int abs(int x); | x tamsayısının mutlak değerini hesaplar | abs(-4) | 4 |
| double fabs(double x); | x gerçel sayısının mutlak değerini hesaplar | fabs(-4.0) | 4.000000 |
| int floor(double x); | x'e (x'den büyük olmayan) en yakın tamsayıyı gönderir | abs(-0.5) | -1 |
| int ceil(double x); | x'e (x'den küçük olmayan) en yakın tamsayıyı gönderir | ceil(-0.5) | 0 |
| double sqrt(double x); | pozitif x sayısının karekökünü hesaplar | sqrt(4.0) | 2.000000 |
| double pow(double x, double y); | x üssü y değerini hesaplar | pow(2., 3.) | 8.000000 |
| double log(double x); p | pozitif x sayısının doğal logaritmasını hesaplar, ln(x) | log(4.0) | 1.386294 |
| double log10(double x); | pozitif x sayısının 10 tabanındaki logaritmasını hesaplar | log10(4.0) | 0.602060 |
| double sin(double x); | radyan cinsinden girilien x sayısının sinüs değerini hesaplar | sin(3.14) | 0.001593 |
| double cos(double x); . | radyan cinsinden girilien x sayısının kosinüs değerini hesaplar. | cos(3.14) | - 0.999999 |
| double tan(double x); | radyan cinsinden girilien x sayısının tanjant değerini hesaplar | tan(3.14) | - 0.001593 |
| double asin(double x); | sinüs değeri x olan açıyı gönderir. Açı -pi/2 ile pi/2 arasındadır | asin(0.5) | 0.523599 |
| double acos(double x); | cosinüs değeri x olan açıyı gönderir. Açı -pi/2 ile pi/2 arasındadır. | acos(0.5) | 1.047198 |
| double atan(double x); | tanjant değeri x olan açıyı gönderir. Açı -pi/2 ile pi/2 arasındadır. | atan(0.5) | 0.463648 |
NOT
Bir programda math.h kütüphanesi kullanılacakca, GCC derleyicisi - lm seçeneği ile birlikte kullanılmalıdır.
Örneğin test.c içinde math.h'i kullanıyorsa derleme:
C#:
gcc -lm test.c -o test
şeklinde yapılmalıdır. Aksi halde bir hata mesajı ile karşılaşılır.
Trigonometrik (sin, cos, tan) fonksiyonlar kendisine parametre olarak gelen değeri radyan olarak kabul eder ve sonucu hesaplar.
Eğer açılar derece cinsinden hesaplanması gerekiyorsa şu dönüşüm kullanılanılabilir:
C#:
radyan = (3.141593/180.0) * derece;
sin(), cos(), and tan() fonksiyonlarının kullanımı
C#:
/* 05prg01.c
30 dercelik açının sinüs, kosinüs, tanjant ve kotanjant
değerleri */
#include <stdio.h>
#include <math.h>
#define PI 3.141593
int main()
{
double aci = 30.0;
aci *= PI/180.0; /* radyana çevir */
puts("30 derecenin");
printf("sinusu : %lf\n", sin(aci));
printf("kosinusu : %lf\n", cos(aci));
printf("tanjanti : %lf\n", tan(aci));
printf("kotanjanti: %lf\n", 1.0/tan(aci));
return 0;
}
Çıktımız şu şekilde olacaktır:
30 derecenin sinusu : 0.500000
kosinusu : 0.866025
tanjanti : 0.577350
kotanjanti: 1.732051
İyi Forumlar... Başka konularda görüşmek üzere
...
30 derecenin sinusu : 0.500000
kosinusu : 0.866025
tanjanti : 0.577350
kotanjanti: 1.732051
İyi Forumlar... Başka konularda görüşmek üzere