C dili dersleri serisinin bu dersinde en son öğrendiğimiz konu olan fonksiyonlarla ilgili örnek sorular çözeceğiz. C dilinde fonksiyonların kullanımını, fonksiyon çağırmayı bilmiyorsanız sayfanın altındaki linklerden c dili fonksiyon derslerine ulaşabilirsiniz.
İlk çözeceğimiz örnekte kullanıcıdan bir polinom denklemi alıp, yine kullanıcının girdiği bir sayıyı polinomda yerine koyan bir c programı yapacağız. Yalnız konumuz fonksiyon olduğu için programın her adımını fonksiyonlarla yapacağız. Kullanıcıdan denklemi fonksiyonlarla alıp, fonksiyonla ekrana yazdıracağız ve denklemde sayıyı yerine fonksiyonlarla koyacağız. C dili fonksiyonlarda örnek sorulara hemen başlayalım.
Örnek: C dilinde kullanıcının girdiği sayıyı yine kullanıcının girdiği dereceleri tam sayı olan polinom fonksiyonunda yerine koyan program.
Kaynak Kod:
#include
#include
void denklemiyaz(float dizi[], int derece) // Ekrana denklemi yazdıran fonksiyon
{
static int i;
printf("\nGirdiginiz denklem :\n\n");
for(i=0;i<=derece;i++)
{
if(i!=derece)
{
printf("%.2f*x^%d + ",dizi[i],i); // Pubtekno Fonksiyon Örnekleri
}
else
{
printf("%.2f*x^%d",dizi[i],i);
}
}
}
float yerinekoy(float dizi[],float sayi,int derece) // Girilen sayıyı fonksiyonda yerine
{ // koyan fonksiyon
static float sonuc=0;
static int i;
for(i=0;i<=derece;i++)
{
sonuc=sonuc+dizi[i]*pow(sayi,i);
}
return sonuc;
}
void denklemal() // Kullanıcıdan denklemi alan fonksiyon
{
static int i,derece;
static float dizi[100],sayi;
printf("Denklemin derecesini giriniz :"); scanf("%d",&derece);
for(i=0;i<=derece;i++)
{
printf("%d dereceli terimin katsayisini giriniz :"); scanf("%f",&dizi[i]);
}
printf("Denklemde yerine koymak istediginiz sayiyi giriniz :"); scanf("%f",&sayi);
denklemiyaz(dizi,derece);
printf("\n\nSonuc : %.2f",yerinekoy(dizi,sayi,derece));
}
int main() // Ana Fonksiyon
{
denklemal();
return 0;
}
Kod Analiz:
- Main fonksiyonumuz içerisinde void tipteki kullanıcıdan denklem alan fonksiyonu çağırdık.
- Denklem alma fonksiyonu içerisinde dereceleri tam sayı olan polinom fonksiyonun katsayılarını kullanıcıdan alıp dizimize kaydettik.
- Daha sonra kullanıcıdan denklemde yerine koymayı istediği sayıyı aldık.
- Denklemimizi ve derecemizi denklemi ekrana yazdıran fonksiyona yolladık.
- Burada fonksiyonun i dereceli teriminin katsayısının dizi[i] olduğuna dikkat ediniz!!!
- Denklemimizi ekrana yazdıran fonksiyonda for döngüsü içerisinde kullandığımız if ile eğer derecesi en büyük olan terime geldiysek terimler arasına + işaretini koymaması gerektiğini belirttik. Burada kullandığımız ^ işareti üssü anlamındadır.
- Denklemi ekrana yazdırdıktan sonra program tekrardan denklemi kullanıcıdan aldığımız fonksiyona geldi.
- Burada ekrana yerinekoy(dizi,sayi,derece) terimini yazdırdık. Yani yerine koyma fonksiyonundan return edilen sonuç değişkeni ekrana denklemin sonucu olarak yazılacak.
- Yerine koyma fonksiyonunda sonuç değişkenimizi i 0 dan derece ye olmak suretiyle sonuç + dizi[i]* pow(sayı,i) denklemine eşitledik. Burada dizi[i] yani i dereceli terimin katsayısı çarpı pow(sayı,i) yani sayı üzeri i demiş olduk.
- Bu şekilde bütün dereceler için bu denklemi uyguladıktan sonra sonuç değişkenimizi return edip ekrana yazdırdık.
Ekran Görüntüleri :
C dili dersleri serisinin bu dersinde c programlama dilinde fonksiyonlarla ilgili örnek soru çözdük. Anlamadığınız veya takıldığınız kısımları yorum olarak atabilirsiniz.
Ayrıca c dilinde fonksiyonların konu anlatımına ulaşmak için aşağıdaki linkleri kullanabilirsiniz.
C Dili Dersleri Fonksiyonlar(1/3)
C Dili Dersleri Fonksiyonlar(2/3)
C Dili Dersleri Fonksiyonlar(3/3)
"C Dili Fonksiyon Örnek Soruları" adlı bu makaleyi beğendiyseniz lütfen yorum yapmayı ve paylaşmayı unutmayın.
Kaynak: Pubtekno