Chapter 12 फंक्शन्स एण्ड फंक्शन्स ओवरलोडिंग

बहुविकल्पीय प्रश्न (1 अंक)

प्रश्न 1
C++ भाषा में कितने प्रकार के फंक्शन्स होते हैं?
(a) एक
(b) दो
(c) तीन
(d) असंख्य
उत्तर:
(b) C++ भाषा में दो प्रकार के फंक्शन्स होते हैं-लाइब्रेरी फंक्शन व यूजर डिफाइण्ड फंक्शन

प्रश्न 2
ऐसे फंक्शन जो C++ भाषा में पहले से ही सम्मिलित हैं, क्या कहलाते हैं?
(a) बिल्ट-इन फंक्शन
(b) लाइब्रेरी फंक्शन।
(c) ‘a’ और ‘b’ दोनों
(d) इनमें से कोई नहीं
उत्तर:
(c) बिल्ट-इन या लाइब्रेरी फंक्शन C++ भाषा में पहले से ही सम्मिलित होते हैं।

प्रश्न 3
log( ) फंक्शन किस हैडर फाइल में उपस्थित होता है?
(a) math.h
(b) ctype.h
(c) iostream.h
(d) string.h
उत्तर:
(d) math,h

प्रश्न 4
islower( ) फंक्शन किस हैडर फाइल में होता है?
(a) string.h
(b) ctype.h
(c) math.h
(d) conio.h
उत्तर:
(b) ctype.h

प्रश्न 5
वह कौन-सा फंक्शन है, जो स्वयं को ही बार-बार कॉल करता है?
(a) रिकर्सिव फंक्शन
(b) strlen( )
(c) main( )
(d) clrscr( )
उत्तर:
(a) रिकर्सिव फंक्शन

प्रश्न 6
हैडर फाइल के विस्तारक का क्या नाम है?
(a).e
(b) .f
(c) .h
(d) इनमें से कोई नहीं
उत्तर:
(c) .h

प्रश्न 7
हैडर फाइल ‘Conio.h’ निम्न किस फंक्शन को declare करता है, जो DOs कन्सोल I/O routines को Call करने में प्रयुक्त होता है? [2017]
(a) fwrite
(b) delline
(C) abs
(d) Ifind
उत्तर:
(d) fwrite

प्रश्न 8
निम्न में से कौन-सा फंक्शन हैडर फाइल stdlib.h में पाया जाता है? [2018]
(a) feof
(b) abs
(c) strch
(d) cgets
उत्तर:
(d) cgets

अतिलघु उत्तरीय प्रश्न (1 अंक)

प्रश्न 1
फंक्शन शब्द को समझाइए। [2012]
उत्तर:
प्रोग्राम को छोटे-छोटे भागों में विभाजित करना, जो किसी विशेष ऑपरेशन या कार्य उद्देश्य को पूरा कर सके, फंक्शन कहलाता है।

प्रश्न 2
फंक्शन के क्या उपयोग है? [2012]
उत्तर:
फंक्शन का उपयोग गणितीय गणनाएँ करने के लिए किया जाता है।

प्रश्न 3
tan(x) फंक्शन का प्रयोग लिखिए।
उत्तर:
tan(x) फंक्शन किसी कोण x की टेण्जेण्ट ज्ञात करने के लिए प्रयोग होता है।

प्रश्न 4
फंक्शन को डिक्लेयर करने का प्रारूप लिखिए।
उत्तर:
return_type function_name(parameter_list);

प्रश्न 5
किसी फंक्शन को कॉल कैसे किया जाता है?
उत्तर:
किसी फंक्शन को किसी प्रोग्राम में उसका नाम देकर, उसके साथ वास्तविक पैरामीटर को लगाकर एक कोष्ठक के अन्दर रखकर तथा सेमीकॉलन लगाकर कॉल किया जाता है।

प्रश्न 6
लोकल वैरिएबल किसे कहते हैं?
उत्तर:
जहाँ वैरिएबल एक फंक्शन या ब्लॉक में प्रयोग किए जाते हैं, लोकल वैरिएबल कहलाते हैं।

लघु उत्तरीय प्रश्न I (2 अंक)

प्रश्न 1
फंक्शन के लाभ लिखिए।
उत्तर:
फंक्शन के निम्नलिखित लाभ हैं।

प्रश्न 2
उदाहरण देकर फॉर्मल (Formal) व एक्चुअल (Actual) पैरामीटर्स को समझाइए। [2012]
उत्तर:
फॉर्मल पैरामीटर जो पैरामीटर फंक्शन को परिभाषित करने में प्रयोग होते हैं, फॉर्मल पैरामीटर कहलाते हैं।
एक्चुअल पैरामीटर जो पैरामीटर फंक्शन कॉल करने में प्रयोग किए जाते हैं, एक्चुअल पैरामीटर कहलाते हैं।

उदाहरण
int square (int);
int main( )
{
int v, s = 5;
:
square (S);
:
int square (int a)
{
return a*a;
}

(S); एक्चुअल पैरामीटर
(int a)फॉर्मल पैरामीटर

प्रश्न 3
C++ फंक्शन के केवल उस प्रोग्राम खण्ड को लिखें, जो 100 से 1 तक की गिनती ‘for’ लूप का प्रयोग करके प्रिण्ट करें। [2012]
उत्तर:
Reverse ( )
{
cout<<“The Reverse number”<<end1;
for (int i = 100; i> = 1; i–)
{
cout<<i;
}
}

प्रश्न 4
C++ फंक्शन के केवल उस प्रोग्राम खण्ड को लिखें, जिसका नाम औसत है और जो प्रथम 20 अंकों का योग व औसत ‘do-while’ लूप का प्रयोग करके निकालिए। [2012]
उत्तर:
Average ( )
int sum=0, i=1, avg;
do
{
sum=sum+i;
i++;
}
while (i<=20) ;
cout<<“The sum is”<<sum<<end1;
avg = sum/20;
cout<<“The average is” <<avg;
}

लघु उत्तरीय प्रश्न II (3 अंक)

प्रश्न 1
streat ( ) व strepy ( ) फंक्शनों को उदाहरण सहित समझाइए। [2004]
उत्तर:
strcat ( ) यह फंक्शन दो स्ट्रिगों को जोड़ने के लिए प्रयोग किया जाता है। strcpy ( ) इस फंक्शन का प्रयोग एक स्ट्रिग को दूसरी स्ट्रिग में कॉपी करने के लिए किया जाता है।

उदाहरण
#include<iostream.h>
#include<string.h>
#include<conio.h>
void main( )
{
char str1 [10] = “Hello”;
char str2[10]= “World”;
char str3[10];
strcpy (str3, str1); //copies strl into str3
cout<<“strcpy(str3, str1):”<<str3< <end1;
strcat (str1, str2);
//concatenation str1 and str2 into str1
cout<<“strcat(stri, str2):”
<<str1<<end1;
getch ( );
}

आउटपुट
strepy(str3, str1): Hello
streat(str1, str2): HelloWorld

प्रश्न 2
रिकर्सिव फंक्शन को उदाहरण सहित समझाइए।
उत्तर:
जब कोई फंक्शन अपनी परिभाषा में स्वयं को ही कॉल करता है, तो ऐसी स्थिति को रिकर्सन कहा जाता है और ऐसे फंक्शन को रिकर्सिव फंक्शन कहा जाता है।

उदाहरण
#include<iostream.h>
int fibonacci(int i)
{
if (i = 0)
{
return 0;
}
if(i=1)
{
return 1;
}
return fibonacci (i-1) + fibonacci (i-2);
}
void main( )
int i; for ( i = 0; i < 10; i++)
{
cout<<“\n”<<fibonacci(i);
}
}

आउटपुट

o
1
1
2
3
5
8
13
21
34

प्रश्न 3
हैडर फाइल का संक्षिप्त वर्णन कीजिए। [2012]
उत्तर:
C++ में, फाइल स्टैण्डर्ड फंक्शन्स को संग्रहीत करती है, जिसे यूजर अपने प्रोग्राम में प्रयोग कर सकता है, हैडर फाइल कहलाती है। प्रत्येक हैडर फाइल के पास एक्सटेन्शन (Extension) नाम’.h होता है। कुछ प्रमुख हैडर फाइलें इस प्रकार हैं।

(i) studio.h यह हैडर फाइल इनपुट/आउटपुट फंक्शन्स का समूह होती है;
जैसे gets( ), puts( ) आदि।

(ii) ctype.h यह हैडर फाइल उन फंक्शन्स को संग्रहीत करती है, जो कैरेक्टर को बदलने और जाँचने के लिए प्रयोग किए जाते हैं;
जैसे isalnum( ), tolower( ) आदि।

(iii) string.h यह हैडर फाइले एक से अधिक स्ट्रिग मैनिपुलेशन फंक्शन्स को संग्रहीत करती है;
जैसे stremp( ), strlen( ) आदि।

(iv) math.h इस हैडर फाइल के पास एक से अधिक फंक्शन्स का समूह होता है, जो अर्थमैटिक गणनाएँ करने के लिए प्रयोग किए जाते हैं;
जैसे sin( ), fabs( ) आदि।

(v) stdlib.h यह हैडर फाइल सामान्यतः प्रयोग होने वाले फंक्शन्स को डिक्लेयर करती है;
जैसे कन्वर्सन, सर्च/सॉर्ट आदि।

प्रश्न 4
फंक्शन ओवरलोडिंग क्या है? उदाहरण सहित समझाइए। [2016, 15, 10, 08]
उत्तर:
फंक्शन ओवरलोडिंग का अर्थ है कि किसी एक फंक्शन नाम से विभिन्न परिस्थितियों में विभिन्न कार्य कराना, जिससे एक फंक्शन के कोड को पुनः नहीं लिखना पड़ता और समय की बचत होती है। इसका प्रयोग करके हम फंक्शन को समान नाम से किन्तु अलग-अलग argument list से डिक्लेयर तथा परिभाषित कर सकते हैं।

उदाहरण
#include<iostream.h>
#include<conio.h>
sum (int, int);
sum (float, float);
void main( )
{
int a, b;
float c, d;
sum (8, 6) ;
sum (2.2f, 3.5f);
getch( );
}
sum(int a, int b)
{
int s;
s = a+b;
cout<<“sum is “<<s<<end1;
}
sum (float c, float d)
{
float s1;
s1 = c + d;
cout<<“sum is “<<s1;
}

आउटपुट
sum is 14
sum is 5.7

दीर्घ उत्तरीय प्रश्न (5 अंक)

प्रश्न 1
स्टैटिक वैरिएबल किस प्रकार अन्य वैरिएबल से भिन्न है? उदाहरण सहित समझाइए।
उत्तर:
किसी वैरिएबल के प्रारम्भ में यदि static की-वर्ड लगा होता है, तो उसे स्टैटिक वैरिएबल कहते हैं। स्टैटिक वैरिएबल केवल एक बार डिक्लेयर किए जाते हैं तथा उनकी वैल्यू स्थिर रहती है।

उदाहरण:
स्टैटिक वैरिएबल द्वारा वैल्यू प्रिण्ट करना।

#include<iostream.h>
#include<conio.h>
void counter( )
{
static int count=0;
cout<<count++;
}
int main()
{
clrscr( );
for (int i=0; i<5;i++)
{
counter ( );
}
getch( );
}

आउटपुट

0  1  2  3  4

उदाहरण
बिना स्टैटिक वैरिएबल द्वारा वैल्यू प्रिण्ट करना।
#include<iostream.h>
#include<conio.h>
void counter( )
{
int count = 0;
cout<<count++;
}
int main( )
{
clrscr( ); for (int i=0; i<5; i++)
{
counter( );
}
getch( );
}

आउटपुट
0 0 0 0 0

प्रश्न 2
फंक्शन का प्रयोग करते हुए C++ में एक प्रोग्राम लिखिए, जो दिए गए अंकों में से सबसे बड़ा व सबसे छोटा अंक प्राप्त करें। [2016]
उत्तर:
#include<iostream.h>
#include<conio.n>
int largest (int x, int y);
void main( )
{
int a, b;
cout<<“Enter the first number: “;
cin>>a;
cout<<“Enter the second number: “;
cin>>b;
largest (a, b);
getch( );
}
largest (int a, int b)
{
if(a > b)
cout<<“The first number is greater and second is smaller”;
else
cout<<“The second number is greater and first is smaller”,
}

आउटपुट
Enter the first number: 8
Enter the second number: 5
The first number is greater and second is smaller

0:00
0:00

slot siteleri-sahabet-matadorbet-sweet bonanza-mariobet-deneme bonusu veren siteler 2026-radissonbet-kaçak iddaa-aviator-slot siteleri-trwin-deneme bonusu veren yeni siteler-superbahis-matadorbet-sahabet-matadorbet-superbet-tipobet-sahabet-deneme bonusu veren yeni siteler-slotday-xslot-kralbet-sweet bonanza-bahibom-anadoluslot-slotday-casino siteleri-radissonbet-casibom-casinofast-cratosroyalbet-asyabahis-asyabahis-stake-betboo-betboo-youwin-youwin-superbahis-superbahis-oleybet-oleybet-1xbet-ngsbahis-betmatik-artemisbet-bets10-deneme bonusu veren siteler 2026-tarafbet-piabellacasino-baywin-superbahis-mersobahis-tipobet-slotella-yeni slot siteleri-ritzbet-slot siteleri-canlı bahis siteleri-hitbet-celtabet-pusulabet-betano-betano-betewin-pusulabet-madridbet-1xbet-mariobet-betmatik-betmatik-betenerji-misty-misty-güvenilir casino siteleri-misli-bahis siteleri-dedebet-bahsegel-bahsegel-meritking-meritking-holiganbet-holiganbet-bets10-ramadabet-bets10-casibom-casibom-ngsbahis-jojobet-marbahis-marbahis-asyabahis-asyabahis-tarafbet-stake-betboo-yeni slot siteleri-superbahis-superbahis-oleybet-oleybet-misli-misli-1xbet-artemisbet-slot siteleri-limanbet-limanbet-piabellacasino-piabellacasino-baywin-baywin-mersobahis-mersobahis-almanbahis-almanbahis-pincocasino-pincocasino-savoycasino-hitbet-exonbet-anadoluslot-betano-betano-pusulabet-madridbet-mariobet-mariobet-goldenbahis-betmatik-betenerji-misty-misty-betmatik-mostbet-bettilt-bahsegel-maxwin-meritking-venombet-holiganbet-betturkey-güvenilir casino siteleri-bet365-matadorbet-goldenbahis-cratosroyalbet-grandpashabet-casibom-jojobet-jojobet-marsbahis-marsbahis-sweet bonanza-bahibom-aviator-venombet-mariobet-sahabet-aviator-aviator-aviator-bahis siteleri-superbet-grandpashabet-casino siteleri-betkom-palacebet-deneme bonusu-dedebet-deneme bonusu-spinco-deneme bonusu veren siteler-kaçak bahis-deneme bonusu veren siteler 2026-deneme bonusu veren siteler 2026-deneme bonusu veren siteler 2026-betkom-deneme bonusu veren yeni siteler-deneme bonusu veren yeni siteler-casinofast-tipobet-casibom-maxwin-deneme bonusu-güvenilir casino siteleri-spinco-betwild-güvenilir bahis siteleri-sweet bonanza-sweet bonanza-sweet bonanza-misli-betsin-yeni slot siteleri-stake-stake-sweet bonanza-asyabahis-ramadabet-betboo-xslot-superbahis-deneme bonusu veren siteler-oleybet-kaçak iddaa-misli-misli-deneme bonusu veren yeni siteler-damabet-pusulabet-artemisbet-limanbet-limanbet-piabellacasino-1xbet-betewin-betsin-canlı casino siteleri-almanbahis-betturkey-tokyobet-meritbet-pincocasino-pincocasino-gates of olympus-royalbet-celtabet-ritzbet-deneme bonusu-pusulabet-pusulabet-betenerji-betenerji-misty-misty-mostbet-mostbet-bettilt-bahsegel-nerobet-meritking-meritking-trwin-holiganbet-matadorbet-kaçak bahis-canlı bahis siteleri-casibom-betwild-jojobet-sahabet-aviator-marsbahis-casino siteleri-enbet-palacebet-savoycasino-enbet-enbet-mariobet-bet365-damabet-canlı casino siteleri-exonbet-deneme bonusu veren yeni siteler-gates of olympus-tokyobet-deneme bonusu veren siteler 2026-kaçak bahis-sweet bonanza-yeni slot siteleri-sweet bonanza-deneme bonusu veren siteler-slot siteleri-aviator-güvenilir casino siteleri-bahis siteleri-güvenilir bahis siteleri-casino siteleri-deneme bonusu veren yeni siteler-kralbet-güvenilir bahis siteleri-gates of olympus-deneme bonusu veren siteler-slotella-deneme bonusu-casino siteleri-casino siteleri-bahis siteleri-royalbet-aviator-nerobet-betturkey-yeni slot siteleri-canlı casino siteleri-sweet bonanza-slot siteleri-slot siteleri-kaçak iddaa-kaçak iddaa-kaçak bahis-kaçak bahis-güvenilir casino siteleri-güvenilir casino siteleri-güvenilir bahis siteleri-güvenilir bahis siteleri-gates of olympus-gates of olympus-deneme bonusu veren yeni siteler-deneme bonusu veren yeni siteler-deneme bonusu veren siteler 2026-deneme bonusu veren siteler 2026-deneme bonusu veren siteler-deneme bonusu veren siteler-deneme bonusu-deneme bonusu-casino siteleri-casino siteleri-canlı casino siteleri-canlı casino siteleri-canlı bahis siteleri-canlı bahis siteleri-bahis siteleri-bahis siteleri-aviator-aviator-