PROGRAMLAMA II
4. Hafta
C Dilinde Matematik Fonksiyonları
C dilindeki matematiksel fonksiyonlar math.h kütüphanesinde bulunmaktadır. Şimdi bu fonksiyonları kısaca
tanımlayalım.
 Sqrt() fonksiyonu: Bir sayının karekökünü alan fonksiyondur. Genel tanımı, double sqrt(double x)şeklinde,
örnek bir kullanımı ise y = sqrt(x);şeklindedir.
 Pow() fonksiyonu: Üs alma fonksiyonudur. Genel tanımı double pow(double x, double y) şeklinde, örnek bir
kullanımı ise z=pow(x,y); şeklindedir. Bu üs alma fonksiyonun bir çeşidi ise pow10() fonksiyonudur. Genel tanımı
double pow10(double x) şeklinde, örnek bir kullanımı ise y=pow10(x); şeklindedir. Aynı üs alma özelliğinin
bulunduğu ve taban değeri e sabiti olduğunda kullanılan fonksiyon exp() fonksiyonudur. Genel olarak tanımı double
exp(double x) şeklinde, örnek kullanımı ise y=exp(x); şeklindedir.
 Log() fonksiyonu: exp() fonksiyonunun tersi işlemini yapar.(logex veya ln x) hesaplanır. Genel olarak double
log(double x) şeklinde, örnek bir kullanım ise y=log(x); şeklindedir. Bu fonksiyonun bir diğer çeşidi ise log10()
fonksiyonudur. Log() fonksiyonun yaptığı işlemi 10 tabanında gerçekleştirir.(log10x veya log x). Genel kullanımı ise
double log10(double x) şeklinde, örnek bir kullanım ise y=log10(x); şeklindedir.
 Sin() fonksiyonu: verilen bir açının sinüs değerini hesaplamaktadır. Genel olarak double sin(double x)
şeklinde, örnek bir kullanımı ise y=sin(x); şeklindedir. Diğer trigonometrik fonksiyonlarda aynı mantık ile
yapılmaktadır. Bunlar, y=cos(x), y=tan(x) olmaktadır. Ayrıca verilen açıların radyan karşılığı ise y=asin(x), y=acos(x),
y=atan(x) şeklinde bulunmaktadır.
 Aynı trigonometrik fonksiyonların radyan cinsinde verilen açı değerlerinin hiperbolik olmasıdır. Bu açıların
hesabını yapan foksiyonların örnekleri ise; y=sinh(x), y=cosh(x), y=tanh(x) olarak kullanılmaktadır.
 Abs() fonksiyonu: mutlak değer alma fonksiyonudur. Parametre olarak alınan int türünde tek bir değer için,
sonuçta gene int türünde bir değer döndürür(|x|). Genel tanımı int abs(int x) şeklinde, örnek kullanımı ise y=abs(x);
şeklindedir. Aynı fonksiyonun double ile alınan hali ise fab()’dır. Genel tanımı double fabs(double x) şeklinde, örnek
kullanımı ise y=fabs(x); şeklindedir.
 Floor() fonksiyonu: Taban fonksiyonudur. Genel tanımı int floor(double x) şeklinde, örnek kullanımı
y=floor(x); şeklindedir.
 ceil() fonksiyonu: Taban fonksiyonudur. Genel tanımı int ceil(double x) şeklinde, örnek kullanımı y=ceil(x);
şeklindedir.
C Dilinde Katar Fonksiyonları
 strlen() fonksiyon: String length’in kısaltması şeklinde bir isme sahip olan bu fonksiyon, giriş değeri olarak
aldığı stringin boyutunu döndürür. İşlem fonksiyonu int strlen(str) şeklindedir.
 Strcmp() fonksiyonu: işlem fonksiyonu int strcmp(str1, str2) şeklindedir. Giriş değeri olarak aldığı iki stringin
karşılaştırmasını yapar. İki string eşitse 0, str1 büyükse 0’dan büyük bir değer aksi halde 0’dan küçük bir
değer gönderir.
 Strcpy() fonksiyonu: Giriş değeri olarak aldığı iki string arasından, ikinciyi birinciye kopyalar. Fonksiyon
char*strcpy(str1, str2) şeklinde bir prototipe sahiptir.
 Strrev() fonksiyonu: Giriş değeri olarak aldığı stringi ters çevirir. Bu fonksiyon char*strrev(str) şeklinde
kullanılır.
 Strcat() fonksiyonu: fonksiyon char*strcat(str,str2) şeklindedir. Giriş değeri olarak aldığı iki string arasında
ikinciyi(str2), birincinin(str1) sonuna ekler. Ancak bu fonksiyonun kullanılabilmesi için str1’in yeterince
uzunlukta olması gerekmektedir.
 Strchr() fonksiyonu: fonksiyon char*strchr(str,kr) şeklindeki bir yapıya sahip olan bu fonksiyon, bir stringin
içerisinde, bir karakter arar ve bu string ile karakter bu fonksiyonun giriş parametrelerini oluşturur. Sonuç
değeri alarak bu karakterin string içerisinde ilk bulunduğu yeri döndürür.
 Strstr() fonksiyon: strchr() fonksiyonuna benzerlik gösterir. Prototip olarak char*strstr(str1, str2) şeklindedir.
Str1 içerisinde str2 stringini arar. Sonuç değeri olarak str2 stringinin str1 stringiiçerisinde ilk bulunduğu yeri
döndürür.
 Strlwr() fonksiyonu: Giriş olarak aldığı stringin tüm karakterlerini, küçük harfe çevirir.
 Strupr() fonksiyonu: Giriş olarak aldığı stringin tüm karakterlerini, büyük harfe çevirir.
1
PROGRAMLAMA II
4. Hafta
C Dilinde Grafik Fonksiyonları
 moveto() fonksiyonu :Son noktayı taşımak için kullanılan bir fonksiyondur. Kullanım şekli, moveto(x,y)
şeklindedir. Buradaki x ve y parametreleri, noktanın taşınacağı yeni noktanın koordinatlarını ifade eder.
 lineto() fonksiyonu : Son noktadan başka bir noktaya düz bir çizgi çizmek amacıyla kullanılan bir
fonksiyondur. Kullanım şekli, lineto(x,y) şeklindedir. Buradaki x ve y parametreleri, çizgini çizileceği noktanın
koordinatlarını ifade eder.
 line() fonksiyonu : İki nokta arasında düz bir çizgi çizmek amacıyla kullanılan bir fonksiyondur. Kullanım şekli
line(x1,y1,x2,y2) şeklindedir. Buradaki x1 ve y1 parametreleri, ilk noktanın koordinatlarını; x2 ve y2
parametreleri ise ikinci noktanın koordinatlarını ifade eder.
 circle() fonksiyonu: Çember çizme fonksiyonudur. Kullanım şekli, circle(x,y,r) şeklindedir. Buradaki x ve y
parametreleri, çizilecek olan çemberin merkezinin koordinatlarını; r ise çizilecek olan çemberin yarıçapını
ifade eder.
 arc() fonksiyonu : Yay çizme fonksiyonudur. Kullanım şekli arc(x,y,bas_aci,bit_aci,r) şeklindedir. Buradaki
parametreler sırasıyla şunları ifade eder: x ve y: yayın merkezinin koordinatları, bas_aci: y ayın başlangıç
açısı, bit_aci: yayın bitiş açısı, r: yayın yarıçapı.
 ellipse() fonksiyonu: Elipsin bir parçası olan yayı çizme fonksiyonudur. Kullanım şekli,
ellipse(x,y,bas_aci,bit_aci, xr, yr) şeklindedir.
 putpixel() fonksiyonu: Bir piksel değerine, verilen renkte bir nokta çizen fonksiyondur. Kullanım şekli
putpixel(x,y,renk) şeklindedir.
 rectangle() fonksiyonu : Dikdörtgen çizme fonksiyonudur. Kullanım şekli rectangle(sol_ust_x, sol_ust_y,
sag_alt_x, sag_alt_y) şeklindedir.
 bar() fonksiyonu : İki boyutlu ve taralı bir bar çizme fonksiyonudur. Kullanım şekli bar(sol_ust_x, sol_ust_y,
sag_alt_x, sag_alt_y) şeklindedir.
 bar3d() fonksiyonu :Üç boyutlu ön yüzeyi taralı bir bar çizer. Kullanım şekli bar3d(sol_ust_x, sol_ust_y,
sag_alt_x, sag_alt_y, derinlik, sapka) şeklindedir.
 setcolor() fonksiyonu : Çizilecek şeklin rengini belirler. Kullanım şekli setcolor(renk) şeklindedir.
 setbkcolor() fonksiyonu : Arka alanın rengini belirler. Kullanım şekli setbkcolor(renk) şeklindedir.
 outtext() fonksiyonu :Grafik ekranında herhangi bir karakter dizisini (katar‐string) yazdırır. Kullanım şekli
outtext(*katar) şeklindedir. Buradaki katar parametresi gafik ekranında yazılması istenen karakter dizisini
ifade eder.
 outtextxy() fonksiyonu : outtext() fonksiyonunun daha gelişmiş bir versiyonudur. Grafik ekranında belirli bir
noktadan başlayacak şekilde bir karakter dizisinin yazılmasını sağlar. Kullanım şekli outtextxy(x,y,*katar)
şeklindedir.
 settextstyle() fonksiyonu: Ekranda yazılacak olan bir katarın yazı tipini, yönünü ve boyutunu belirler.
Kullanım şekli settextstyle(font, yon, boyut) şeklindedir. Buradaki font parametresi, katarın yazısının yazı
tipini; yon parametresi katarın yazısının yönünü, boyut parametresi ise katarın yazısının boyutunu ifade
etmektedir.
 cleardevice() fonksiyonu: Ekranı temizleme fonksiyonudur. Herhangi bir parametresi bulunmamaktadır.
 closegraph() fonksiyonu: Grafik ekranını kapatıp normal yazı ekranına (DOS ekranı) dönen fonksiyondur.
Herhangi bir parametresi bulunmamaktadır.
2
PROGRAMLAMA II
4. Hafta
Örnek.1:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
double x;
double y;
double a;
double b;
int c;
printf("x degerini giriniz!...\n");
scanf("%lf",&x);
printf("y degerini giriniz!...\n");
scanf("%lf",&y);
printf("x=%lf degerinin karekoku = %lf'dir...\n",x,sqrt(x));
printf("y=%lf degerinin karekoku = %lf'dir...\n",y,sqrt(y));
printf("x uzeri y =%lf'dir...\n",pow(x,y));
printf("e sabiti uzeri x =%lf'dir...\n",exp(x));
printf("e sabiti uzeri y =%lf'dir...\n",exp(y));
printf("x'in e ye gore log karsiligi = %lf...\n",log(x));
printf("y'nin e ye gore log karsiligi = %lf...\n",log(y));
printf("x'in 10'a gore log karsiligi = %lf...\n",log10(x));
printf("y'nin 10'a gore log karsiligi = %lf...\n",log10(y));
printf("Girilen x degerinin mutlak ifadesi = %lf\n",fabs(x));
printf("Girilen y degerinin mutlak ifadesi = %lf\n",fabs(y));
printf("\nLutfen bir a aci degeri giriniz!...\n");
scanf("%lf",&a);
printf("Girilen a acisinin Sina karsiligi = %lf\n",sin(a));
printf("Girilen a acisinin Cosa karsiligi = %lf\n",cos(a));
printf("Girilen a acisinin Tana karsiligi = %lf\n",tan(a));
printf("\nLutfen bir Radyan b aci degeri giriniz!...\n");
scanf("%lf",&b);
printf("Girilen Radyan degerinin Sinb karsiligi = %lf\n",sinh(b));
printf("Girilen Radyan degerinin Cosb karsiligi = %lf\n",cosh(b));
printf("Girilen Radyan degerinin Tanb karsiligi = %lf\n",tanh(b));
getch();
return 0;
}
3
Download

4. Hafta Konu Özetleri