QUESTION PAPER, JANUARY, 2017 M3-R4: PROGRAMMING & PROBLEM SOLVING THROUGH ‘C’ LANGUAGE

QUESTION PAPER, JANUARY 2017

M3-R4: PROGRAMMING & PROBLEM SOLVING THROUGH ‘C’ LANGUAGE

NOTE:-

SOLUTIONS JANUARY, 2018

MULTIPLE CHOICE

5.a.

b.

c.

K=42

6.a.

b.

break Statement

लूप के इटेरेशन के समय Statement का दोहरान तब तक होता रहता है जब तक कि Loop की Condition सत्‍य होती है। लेकिन कई बार हमारे सामने ऐसी परिस्थिति आ जाती है कि किसी खास काम के लिए हमें Loop के कुछ Statements के Execution को छोड कर  Loop के बीच में से ही बाहर आना होता है, उस समय हम break Statement का प्रयोग करते हैं।

continue Statement

इस Statement का प्रयोग तब किया जाता है जब हम किसी खास परिस्थिति में Loop के किसी दोहरान में Block के Statements को Execute करना नहीं चाहते है।

ध्‍यान दें कि जहां break का प्रयोग Program Control को Loop से ही बाहर निकाल देता वहां continue का प्रयोग हमें Loop से बाहर नहीं निकालता बल्कि केवल उस Condition के सत्‍य होने पर मात्र हमें Loop के उस Iteration से बाहर निकालता है। नीचे break व continue Statement के प्रयोग से प्रोग्राम बनाया गया है जिससे इन्हे आसानी से समझा जा सकता है।

Output 
1	2	3	4	5	6	7	8	9

1	2	3	4	5	6	7	8	9	
11	12	13	14	15	16	17	18	19	20

इस प्रोग्राम का Output ऊपर बताए अनुसार प्राप्त होता है। हम देखते हैं कि दोनों ही for Loop में if condition  एक समान प्रयोग की गई है लेकिन पहले Loop में जब a का मान Increase हो कर 10 होता है, तब if Condition सत्‍य हो जाती है और Program Control को break Statement मिलता है, जिससे Program, Control Loop का Execution वहीं पर छोड देता है और Loop आगे नहीं बढता।

c.

Data types for session and info

enum session {morning,afternoon,evening}

structemp{

charempname;

internpid;

}emp1[30];

7.a.

The address of a location in Row major System is calculated using the following formula;

Address of A [I][J]=B+W*[N*(I-Lr))+(J-Lc)]

where

B- base address

I- Column subscript of element whose address is to be found

J- Column subscript of element stored in the array

W- Storage size of one element stored in the array

Lr= Lower limit of row/start row index of matrix, if not given assume 0

Lc= Lower limit of column /start row index of metrix, if not given assume 0

M= Number of row of the given matrix

N=Number of column of the given matrix

A[4][5]]=4000=2*[10*(4-0)+(5-0)]

=4000+2*45

=4090

b.

int x=fseek(fp, R*B,SEEK_CUR)

c.

Union व Structure को Define करने का तरीका एक जैसा ही है। जिस तरह Structure को define करने के लिए struct key word का प्रयोग करते हैं, उसी प्रकार Union को Define करने के लिए union key word का प्रयोग किया जाता है। जो भी काम एक Structure के साथ किया जाता है, वे सभी काम union के साथ किये जा सकते हैं। जैसे union प्रकार का Variable Declare करना, उस Variable को मान प्रदान करना, Union के Members को access करना आदि। लेकिन इन दोनों के काम करने के तरीके में अन्तर है।

एक Structure के सभी Members की Memory में एक अलग Memory Location होती है। यानी एक Structure के सभी Members Memory में space reserve करते हैं। लेकिन एक Union में Declare किये गए सभी Variable Memory के एक ही Memory Location पर Store होते हैं। एक Union में हम विभिन्न प्रकार के Members को रख सकते हैं, लेकिन एक समय में केवल एक ही प्रकार का मान Union के अंदर किसी Member में Store रह सकता है।

इस कारण से हम एक समय में केवल एक ही Union Member को access कर सकते हैं। हम जब Union define करते हैं, तब Union में सबसे अधिक जगह Store करने वाले Variable के बराबर Memory Reserve हो जाती है। यानी यदि एक Union में एक Member int प्रकार का व दूसरा Member double प्रकार का है, तो ये Union Memory में चार Byte की space Reserve कर लेता है। क्योंकि double प्रकार का Variable Memory में चार Byte लेता है।b

8.a.

b.

C Language  में macro define  करने के लिए भी #define का इस्तेमाल करते हैं |

#define Macro_name(Parameter_names(s)) action_using_Parameter_name;

यहां पर macro_name macro का नाम है parameter_name parameter का नाम होता है और एक्शन में हम कोई भी काम करते हैं |  इसमें मैक्रो के नाम और started parentheses के बीच स्पेस नहीं दिया जाता है। 

यहां पर पहले define statement में प्रोग्राम में जहां भी NUM नाम की वैल्यू मिलेगी compiler compile करने से पहले ही उसे हटा कर उसके जगह  20 लिख देगा और इसके बाद प्रोग्राम compile होगा |

जबकि दूसरे define statement में प्रोग्राम में जहां भी SQ(x) नाम की वैल्यू मिलेगी compiler compile करने से पहले ही उसे हटा कर उसके जगह  उसका square लिख देगा और इसके बाद प्रोग्राम compile होगा |





9.a.

1.

टेक्स्ट फाइलें उनकी सामग्री के संबंध में कुछ सरल नियमों का पालन करती हैं, जबकि बाइनरी फाइलें नहीं होती हैं।
दोनों मौलिक रूप से बाइट्स की एक धारा हैं।
हालांकि, एक द्विआधारी फ़ाइल के साथ आपके पास “रिकॉर्ड्स” की कोई अवधारणा नहीं है – न तो फिक्स-लम्बाई डेटा रिकॉर्ड्स दोहराएं, न ही डेटा की एक धारा जो डेटा श्रेणियों / मानों के लिए नियमों / प्रतिबंधों पर सहमत होती है, जो हमें चर-पक्षीय लागू करने की अनुमति देती हैं रिकॉर्ड (नीचे इस पर अधिक)।
बाइनरी फाइलें बाइट्स से भरे हुए हैं जिनके मूल्य 0 से 255 तक हैं। किसी भी आसानी से अनुमानित नियमों के बाद डेटा के संबंध में कोई गारंटी नहीं है।

static storage class

Extern storage class 

b.

void fl(char s[],char c){

int i,j;

for(i=j=0;s[i]!=’\0′;i++)
if(s[i]!=c)

s[i++]=s[i];

s[j]=’\0′;

}

The given function removes all the occurrences of character c from array s.

c. 

  1. int *p(char*a[]): is a function named “p” that takes an array of char* argument “a” and returns a pointer to an int.
  2. int *p (char*a, char*b): is a function named “p” that takes two arguments as pointer of char “a & b” and returns a pointer to an int.
  3. it (*p)(char*a)[](++):

About the Author: virag

Hello!!!... दोस्तों, आप सभी का इस ब्लॉग पर स्वागत है मेरा नाम विराग सम्बरिया है, और मैं पेशे से एक Computer Teacher हूँ मैं सन २०१० से यह कार्य कर रहा हूँ, और मुझे इस कार्य को करने में अत्यंत संतुष्टि प्राप्त होती है, एक तो इसके माध्यम से मैं अपने ज्ञान और अनुभव का लाभ अन्य लोगों तक पहुंचा पाता हूँ और दूसरा इसके माध्यम से मैं खुद भी अपने ज्ञान में वृद्धि करता हूँ. Thanks a Lot..... आपके इस Blog को Visit करने पर सहृदय धन्यवाद् !!!!!!

You May Also Like

1 Comment

Leave a Reply

Your email address will not be published. Required fields are marked *