Tuesday, April 14, 2020

சி மொழியில் ரிகர்சன்


பொதுவாக ஃபங்க்சன் என்பது ஒரு குறிப்பிட்ட செயலைச் செய்யும் தனி மாடூல் ஆகும். சான்றாக நீங்கள் பைக்கை எடுத்துச் சென்று வொர்க் சாப்பில் வாட்டெர் சர்வீஸ் செய்யுமாறு கோருகின்றீர்கள்.
இங்கு வாட்டர் சர்வீஸ் என்பது குறிப்பிட்ட வேலை. அது போல் ஒரு ஃபங்க்சனிடம் குறிப்பிட்ட வேலையை செய்து தருமாறு கோறுகின்றோம்.
#include <stdio.h>
#include <stdlib.h>
void Add(int ,int);

int main()
{
    int a,b;
    printf("Enter a:");
    scanf("%d", &a);
    printf("Enter b:");
    scanf("%d",&b);
    Add(a,b);

    return 0;
}
void Add(int x,int y)
{

    int sum=x+y;
    printf("sum=%d",sum);
}
வெளியீடு:
Enter a:10
Enter b:15
sum=25
Process returned 0 (0x0)   execution time : 5.741 s
Press any key to continue.
இங்கு Add என்பது ஒரு ஃபங்க்சன் . இதனிடம் 2 எண்களை பாஸ் செய்தால் இரண்டையும் கூட்டி ரிசல்டை வெளியிடும்.
எங்கெல்லாம் 2 எண்களை கூட்ட வேண்டுமோ அங்கு இந்த ஃபங்க்சனை அழைத்தால் போதும் ஒவ்வொரு தடவையும் கோடிங்க் எழுத அவசியமில்லை.
இதனால் நிரலாளரின் பணியில் ஆரம்பித்து கோடிங்க் வரிகளின் எண்ணிக்கை வரை குறையும்.
மேலே உள்ள நிரலில் main ஃபங்க்சனில் இருந்து Add என்ற  யூசர் டிஃபைண்டு ஃபங்க்சனை அழைக்கின்றோம். இது போல் ஒரு யூசர் டிஃபைண்டு ஃபங்க்சனில் இருந்து மற்றொரு யூசர் டிஃபைண்டு ஃபங்க்சனை அழைக்கலாம்.
#include <stdio.h>
#include <stdlib.h>
void Madurai();
void Trichy();
void chennai();
int main()
{
    printf("I am in main function\n");
    Madurai();
    printf("I am back at main function\n");
    return 0;
}
void Madurai()
{
    printf("I am at Madurai\n");
    Trichy();
    printf("I am back at Madurai\n");


}
void Trichy()
{
    printf("I am at Trichy\n");
    chennai();
    printf("I am back at Trichy\n");

}
void chennai()
{
    printf(" I am at chennai\n");

}
வெளியீடு:
I am in main function
I am at Madurai
I am at Trichy
 I am at chennai
I am back at Trichy
I am back at Madurai
I am back at main function

Process returned 0 (0x0)   execution time : 0.031 s
Press any key to continue.
இது போன்று ஒரு ஃபங்க்சனில் இருந்து அதே ஃபங்க்சனை அழைக்கலாம்.அப்பொழுது அந்த ஃபங்க்சன் ரிகர்சிவ் ஃபங்க்சன் என அழைக்கப்படுகின்றது.
சான்று நிரல்
#include <stdio.h>
#include <stdlib.h>
int  calcfact(int);
int main()
{
    int fact;
    fact=calcfact(5);
    printf("factorial=%d",fact);
    return 0;
}
int calcfact(int x)
{
    if(x<=1)
        return 1;
    else
        return x*calcfact(x-1);
}
வெளியீடு:
factorial=120
Process returned 0 (0x0)   execution time : 0.016 s
Press any key to continue.
நன்றி.
முத்து கார்த்திகேயன் ,மதுரை.



ads Udanz

No comments:

Post a Comment