30/04/2020

RBSE Class 12 Computer Science Chapter 9 क्लास और ऑब्जेक्ट

Rajasthan Board RBSE Class 12 Computer Science Chapter 9 क्लास और ऑब्जेक्ट



RBSE Class 12 Computer Science Chapter 9 पाठ्यपुस्तक के प्रश्न

RBSE Class 12 Computer Science Chapter 9 वस्तुनिष्ठ प्रश्न

प्रश्न 1.
एक यूजर डिफाइन्ड टाईप जो डेटा और फंक्शन को एक साथ बाँधे रखता है, उसे कहा जाता है
(अ) ऑब्जेक्ट
(ब) क्लास
(स) ऐरे
(द) पॉइन्टर
उत्तर:
(ब) क्लास
प्रश्न 2.
स्वतः ही क्लास के मेम्बर होते हैं
(अ) पब्लिक
(ब) प्राईवेट
(स) प्रोटेक्टेड
(द) इनमें से कोई नहीं
उत्तर:
(ब) प्राईवेट
प्रश्न 3.
इनमें से कौन-सा एक एक्सेस मोडिफायर है?
(अ) public
(ब) private
(स) (अ) और (ब) दोनों
(द) इनमें से कोई नहीं
उत्तर:
(स) (अ) और (ब) दोनों
प्रश्न 4.
इनमें से कौनसा स्टेटिक डेटा मेम्बर के संदर्भ में सत्य है?
(अ) इसकी प्रारम्भिक वेल्यू शून्य होती है जब इसके क्लास का पहला ऑब्जेक्ट बनाया जाता है।
(ब) केवल एक ही प्रतिलिपि इस डेटा मेम्बर की बनती है।
(स) इसे क्लास वेरिएबल भी कहा जाता है।
(द) उपरोक्त सभी
उत्तर:
(द) उपरोक्त सभी
प्रश्न 5.
इनमें से कौनसा स्टेटिक मेम्बर फंक्शन के संदर्भ में सत्य है?
(अ) स्टेटिक कीवर्ड के साथ घोषित किया जाता है।
(ब) केवल क्लास के दूसरे स्टेटिक डेटा मेम्बर और मेम्बर फंक्शन को एक्सेस कर सकते हैं।
(स) इनको क्लास के नाम की सहायता से कॉल किया जाता है।
(द) उपरोक्त सभी
उत्तर:
(द) उपरोक्त सभी
प्रश्न 6.
इनमें से कौनसा फ्रेंड फंक्शन के संदर्भ में सत्य है?
(अ) इसे सामान्य फंक्शन की तरह कॉल किया जाता है।
(ब) इसे क्लास के अन्दर कहीं भी घोषित किया जा सकता है।
(स) सामान्यतः इसके आरग्यूमेन्ट ऑब्जेक्ट होते हैं।
(द) उपरोक्त सभी
उत्तर:
(द) उपरोक्त सभी

RBSE Class 12 Computer Science Chapter 9 अतिलघु उत्तरीय प्रश्न

प्रश्न 1.
क्लास किसे कहते हैं?
उत्तर-
क्लास (class) एक यूजर डिफाइन्ड टाईप है जो डेटा और फंक्शन को एक साथ बाँधे रखता है। क्लास की घोषणा में इसके डेटा और मेम्बर फंक्शन की घोषणा होती है।
प्रश्न 2.
ऑब्जेक्ट किसे कहते हैं?
उत्तर-
Class type के variables को objects कहा जाता है। ऑब्जेक्ट के द्वारा हम क्लास के वेरिएबल्स और फंक्शन को access कर सकते हैं।
प्रश्न 3.
फ्रेंड क्लास किसे कहते हैं?
उत्तर-
अगर एक क्लास के सभी मेम्बर फंक्शन दूसरी क्लास में फ्रेंड घोषित कर दिये जाते हैं तब उस क्लास को फ्रेंड क्लास कहा जाता है।

RBSE Class 12 Computer Science Chapter 9 लघु उत्तरीय प्रश्न

प्रश्न 1.
प्राइवेट और पब्लिक एक्सेस मोडिफायर में क्या अन्तर है?
उत्तर-
प्राइवेट और पब्लिक कीवर्डस को एक्सेस मोडिफायर्स कहा जाता है। चूंकि ये क्लास के मेम्बर को एक्सेस करने की प्रणाली को नियंत्रित करते हैं। क्लास के पब्लिक मेम्बर को क्लास के बाहर से एक्सेस किया जा सकता है। सामान्यतः क्लास के मेम्बर फंक्शन को पब्लिक अनुभाग में रखा जाता है। क्लास के प्राइवेट मेम्बर क्लास के बाहर से एक्सेस नहीं किये जा सकते हैं। यहाँ तक कि उस क्लास के ऑब्जेक्ट के द्वारा भी नहीं किये जा सकते हैं। सामान्यतः क्लास के डेटा मेम्बर को प्राईवेट अनुभाग में रखा जाता है।
प्रश्न 2.
स्टेटिक डेटा मेम्बर के गुण क्या हैं?
उत्तर-
क्लास के डेटा मेम्बर को स्टेटिक के रूप में भी घोषित किया जा सकता है। स्टेटिक डेटा मेम्बर के गुण इस प्रकार हैं
  • इसकी प्रारम्भिक वेल्यू शून्य होती है जब इसके क्लास का पहला ऑब्जेक्ट बनाया जाता है।
  • केवल एक ही प्रतिलिपि इस डेटा मेम्बर की बनती है और इसे क्लास के सभी ऑब्जेक्ट साझा करते हैं।
  • चूँकि यह सम्पूर्ण क्लास के साथ जुड़ा हुआ है इसे क्लास वेरिएबल भी कहा जाता है।
प्रश्न 3.
स्टेटिक मेम्बर फंक्शन के क्या गुण होते हैं?
उत्तर-
स्टेटिक मेम्बर फंक्शन
स्टेटिक कीवर्ड के साथ घोषित मेम्बर फंक्शन को स्टेटिक मेम्बर फंक्शन कहा जाता है। स्टेटिक मेम्बर फंक्शन के निम्नलिखित गुण हैं।
  • यह केवल क्लास के दूसरे स्टेटिक डेटा मेम्बर और मेम्बर फंक्शन को एक्सेस कर सकते हैं।
  • इनको क्लास के नाम की सहायता से कॉल किया जाता है।

RBSE Class 12 Computer Science Chapter 9 निबंधात्मक प्रश्न

प्रश्न 1.
फ्रेंड फंक्शन किसे कहते हैं? इसे गुण लिखो।
उत्तर-
फ्रेंड फंक्शन-जैसा कि हम जानते हैं कि क्लास के प्राईवेट मेम्बर क्लास के बाहर से एक्सेस नहीं किये जा सकते हैं। एक फ्रेंड फंक्शन क्लास के प्राईवेट डेटा को उस क्लास के ऑब्जेक्ट के जरिए एक्सेस कर सकते हैं। जब एक फंक्शन दो क्लासों में एक समान हो, सामान्यतः हम उस फंक्शन को दोनों के लिए फ्रेंड बना लेते हैं। इस फंक्शन को friend कीवर्ड के साथ घोषित किया जाता है। एक फ्रेंड फंक्शन की निम्नलिखित विशेषताएँ होती हैं।
  • इसे सामान्य फंक्शन की तरह कॉल किया जाता है।
  • क्लास के ऑब्जेक्ट की सहायता से कॉल नहीं किया जा सकता है।
  • यह क्लास के मेम्बर को केवल उस क्लास के ऑब्जेक्ट की सहायता से एक्सेस कर सकता है।
  • इसे क्लास के अन्दर कहीं भी घोषित किया जा सकता है।
  • सामान्यतः इसके आरग्यूमेन्ट ऑब्जेक्ट होते हैं।
प्रश्न 2.
एक ‘Complex’ क्लास बनाइए जो एक Complex नम्बर को बताता है और दो काम्पलेक्स नम्बरों को | जोड़ने और घटाने के लिए मेम्बर फंक्शन परिभाषित करने का प्रोग्राम लिखो।
उत्तर-
#include<iostream.h> 
using namespace std; 
class complex
{
int re, im; 
public; 
void get()
{
cin>>re>>im;
}
void disp ()
{
cout<<re "+" << im << "1";
}
void sum (complex, complex); 
void subt (complex, complex);
};
void complex:: Sum (complex C1, Complex C2)
{
re = C1.re + C2.re; 
im = C1.im + C2.im;
}
void complex:: Subt (complex C1, Complex C2)
{
re = C1.re - C2.re; 
im = C1.im - C2.im;
}
int main()
{
complex C1, C2, C3, C4; 
cout<<"Enter 1st comp1ex number :";
C1.get (); 
cout<< "Enter 2nd complex number :";
C2.get (); 
cout<< "The 1st complex number is";
C1. disp (); 
cout<< "The 2nd complex number is";
C2. disp();
C3.sum (C1, C2); 
cout << "\n The resultant complex number is";
C3.disp();
C4.subt (C1, C2); 
cout<<"\n The resultant complex number is";
C4.disp();
}
प्रश्न 3.
दो क्लासों के डेटा मेम्बर की अदला-बदली करने का फ्रेंड फंक्शन की सहायता से प्रोग्राम लिखो।
उत्तर:
#include<iostream.h> 
#include<conio.h> 
class b; 
class a
{
int x; 
public : 
void assign (int t)
{
x=t;
}
void display ()
{
cout<< "value of x is :"<< x << endl;
}
friend void swap (a &, b&);
};
class b
{
int y; 
public: 
void assign(int w)
{
y=w;
}
void display()
{
cout<<"value of Y is:" <<y<< endl;
}
friend void swap (a&, b&); 
}; 
void swap (a&c, b&d)
{
int temp; 
temp = c.x; 
c.x = d.y; 
d.y = temp;
}
int main()
{
a n; 
b m; 
int a, b; 
cout<<"enter x ="; 
cin>>a; 
cout <<''enter Y=''; 
cin>>b; 
n.assign (a); 
m.assign (b); 
Swap (n, m) ; 
n.display (); 
m.display (); 
getch ();
}
आउटपुट
enter X=4
enter Y=8
Value of X is : 8
Value of Y is: 4

RBSE Class 12 Computer Science Chapter 9 अन्य महत्त्वपूर्ण प्रश्न

RBSE Class 12 Computer Science Chapter 9 अतिलघु उत्तरीय प्रश्न

प्रश्न 1.
डेटा हाइडिंग किसे कहते हैं?
उत्तर-
डेटा को क्लास के प्राईवेट अनुभाग में घोषित करना डेटा हाइडिंग कहलाता है और यह ऑब्जेक्ट ऑरिएनटेड प्रोग्रामिंग भाषा का एक महत्त्वपूर्ण फीचर है।
प्रश्न 2.
प्राइवेट अनुभाग में और पब्लिक अनुभाग में घोषित क्लास के मेम्बर में मुख्य अन्तर बताइए।
उत्तर-
क्लास के मेम्बर जिसकी घोषणा प्राइवेट अनुभाग में है उनको उसी क्लास के मेम्बर ही एक्सेस कर सकते हैं। क्लास के मेम्बर जिनकी घोषणा पब्लिक अनुभाग में हुई है उनको क्लास के बाहर से एक्सेस कर सकते हैं।
प्रश्न 3.
इनलाइन फंक्शन किसे कहते हैं?
उत्तर-
क्लास के अन्दर परिभाषित मेम्बर फंक्शन इनलाइन फंक्शन माने जाते हैं।
प्रश्न 4.
फ्रेंड फंक्शन क्लास के प्राइवेट डाटा को किस प्रकार एक्सेस कर सकते हैं?
उत्तर-
एक फ्रेंड फंक्शन क्लास के प्राइवेट डाटा को उस क्लास के आब्जेक्ट के जरिए एक्सेस कर सकते हैं।
प्रश्न 5.
क्या फ्रेंड फंक्शन ऑब्जेक्ट रिटर्न कर सकते हैं?
उत्तर-
हाँ, फ्रेंड फंक्शन ऑब्जेक्ट रिटर्न कर सकते हैं।
प्रश्न 6.
डिरेफरेंसिंग ऑपरेटर क्या कार्य होता है?
उत्तर-
डिरेफरेंसिंग ऑपरेटर (.*) की सहायता से मेम्बर फंक्शन को कॉल कर सकते हैं।
प्रश्न 7.
क्या क्लास के डेटा मेम्बर को स्टेटिक घोषित किया जा सकता है?
उत्तर-
हाँ, क्लास के डेटा मेम्बर को स्टेटिक के रूप में भी घोषित किया जा सकता है।
प्रश्न 8.
क्या फ्रेंड फंक्शन ऑब्जेक्ट रिटर्न कर सकते हैं?
उत्तर-
हाँ, फ्रेंड फंक्शन ऑब्जेक्ट रिटर्न कर सकते हैं।

RBSE Class 12 Computer Science Chapter 9 लघु उत्तरीय प्रश्न

प्रश्न 1.
क्लास की घोषणा का प्रारूप लिखिए।
अथवा
क्लास का सिन्टेक्स लिखिए।
उत्तर-
Class class_name
{
private: 
variable declaration ;
function declaration ; 
public:
variable declaration ; 
function declaration ;
};
प्रश्न 2.
क्लास के मेम्बर को एक्सेस किस प्रकार किया जाता है? उदाहरण भी दीजिए।
उत्तर-
हम केवल क्लास के पब्लिक मेम्बरस को उस क्लास के ऑब्जेक्ट के द्वारा एक्सेस कर सकते हैं।
पब्लिक मेम्बर फंक्शन को एक्सेस करने का प्रारूप इस प्रकार है
object_name. function_name (arguments list);
उदाहरण के लिए
p.input (10, 20);
ऑब्जेक्ट p के द्वारा input () फंक्शन को कॉल किया गया है। स्टेटमेन्ट p.x= 10; मान्य नहीं है क्योंकि x को प्राइवेट घोषित किया गया है और इसे केवल क्लास के मेम्बर फंक्शन ही सीधे एक्सेस कर सकते हैं न कि ऑब्जेक्ट।।
प्रश्न 3.
एक्सेस मोडिफायरस पर संक्षिप्त टिप्पणी लिखिए।
उत्तर-
एक्सेस मोडिफायरस-public और private कीवर्डस को एक्सेस मोडिफायरस कहा जाता है। ये क्लास के मेम्बर को एक्सेस करने की प्रणाली को नियंत्रित करते हैं। क्लास के पब्लिक मेम्बर को क्लास के बाहर से एक्सेस किया जा सकता है। सामान्यतः क्लास के मेम्बर फंक्शन को पब्लिक अनुभाग में रखा जाता है। क्लास के प्राईवेट मेम्बर क्लास के बाहर से एक्सेस नहीं किये जा सकते हैं। यहाँ तक कि उसे क्लास के ऑब्जेक्ट के द्वारा भी नहीं किये जा सकते हैं। सामान्यतः क्लास के डेटा मेम्बर को प्राईवेट अनुभाग में रखा जाता है।
प्रश्न 4.
दो नम्बरों के योग का फ्रेंड फंक्शन की सहायता से प्रोग्राम लिखिए।
उत्तर-
#include<iostream> 
using namespace std; 
class test
{
int x,y; 
public: 
void getdata (int a, int b)
{
x=a; 
y=b;
}
friend int sum (test t); 
};
int sum(test t)
{
return (t.x+t.y);
}
int main()
{
test q; 
q.getdata (10, 20) ; 
cout<<"Sum="<<sum (q); 
return 0;
}
प्रोग्राम का आउटपुट होगा
Sum=30
प्रश्न 5.
हम क्लास के मेम्बर का एड्रेस पॉइन्टर को किस प्रकार असाइन कर सकते हैं? उदाहरण सहित बताइए।
उत्तर-
हम एक क्लास के मेम्बर का एड्रेस पॉइन्टर को निम्न प्रकार से असाइन कर सकते हैं।
class X
{
int a; 
public:
void show(); 
};
हम क्लास X के मेम्बर a के लिए पॉइन्टर परिभाषित इस प्रकार कर सकते हैं
intX::*p= &X:: a;
X: : * का मतलब क्लास X के मेम्बर के लिए पॉइन्टर।
&X: : * का मतलब क्लास X का मेम्बर a का एड्रेस।
स्टेटमेंट int *p = &a; कार्य नहीं करेगा। पॉइन्टर p का उपयोग डेटा मेम्बर a को मेम्बर फंक्शन और फ्रेंड फंक्शन के अन्दर एक्सेस करने के लिए कर सकते हैं।
उदाहरण के लिए
void show()
{
X x; //object created 
cout<<x.*p; //display value of a 
cout<<x.a; //same as above
}
हम क्लास के मेम्बर फंक्शन के लिए पॉइन्टर सेट कर सकते हैं। मेम्बर फंक्शन को डिरेफरेंसिंग ऑपरेटर (*) की सहायता से कॉल कर सकते हैं।
उदाहरण के लिए
Xx;//object created 
void(X::*pf) ()= &X:: show; 
(x.*pf) ();//invoke show
यहाँ pf मेम्बर फंक्शन show () के लिए पॉइन्टर है।

RBSE Class 12 Computer Science Chapter 9 निबंधात्मक प्रश्न

प्रश्न 1.
क्लास के मेम्बर फंक्शन को कितने प्रकार से परिभाषित किया जा सकता है? उदाहरण सहित बताइए।
उत्तर-
मेम्बर फंक्शन को परिभाषित करना-क्लास के मेम्बर फंक्शन को क्लास के अन्दर और क्लास से बाहर परिभाषित किया जा सकता है।
क्लास के अन्दर
मेम्बर फंक्शन की घोषणा को क्लास के अन्दर उसकी वास्तविक परिभाषा से विस्थापित किया जाता है। क्लास के अन्दर परिभाषित मेम्बर फंक्शन इनलाईन फंक्शन माने जाते हैं। उदाहरण के लिए ।
class point
{
int x,y; 
public: 
void input (int a, int b)
{
x=a; 
y=b;
}
void output (void)
{
cout<<"x="<<<<"\n";
cout<<"y="<<y;
}
}
क्लास के बाहर
मेम्बर फंक्शन जिनकी घोषणा क्लास के अन्दर की गई हो उनको क्लास से बाहर अलग से परिभाषित करना होता है। मेम्बर फंक्शन को परिभाषित करने के लिए प्रारूप
return_type class_name::function_name (arguments)
{
function body
}
यहाँ class_name दर्शाता है कि फंक्शन इस क्लास से सम्बन्धित है।
उदाहरण के लिए
class point
{
int x,y; 
public:
void input (int a, int b);
void output (void); 
}; 
void point::input(int a, int b)
{
x = a; 
y = b;
}
void point::output (void)
{
cout<< "x ="<< x << "\n"; 
cout<< "y ="<< y;
}
प्रश्न 2.
क्या ऐरे भी क्लास के डेटा मेम्बर के रूप में हो सकते हैं? उदाहरण सहित बताइए।
अथवा
क्लास के भीतर ऐरे का प्रोग्राम लिखिए।
उत्तर-
ऐरे भी क्लास के डेटा मेम्बर के रूप में हो सकते हैं।
उदाहरण के लिए
प्रोग्राम-क्लास के भीतर ऐरे।
#include<iostream>
using namespace std; 
class data
{
int a = [5]; 
public:
void getdata (void); 
void showdata (void);
};
void data::getdata (void)
{
cout<< "Enter the elements of array \n"; 
for(int i = 0; i <5; i++)
{
cin >> a [i];
}
}
void data::showdata (void)
{
cout<<"Array elements are \n"; 
for(int i = 0; i <5; i++) 
cout<<a[i]<<"\t";
}
int main()
{
data d; 
d.getdata();
d.showdata(); 
return 0;
}
प्रोग्राम का आउटपुट होगा
Enter the elements of array
6 5 9 8 1
Array elements are
6 5 9 8 1
प्रश्न 3.
स्टेटिक मेम्बर फंक्शन का एक प्रोग्राम लिखिए।
उत्तर-
प्रोग्राम-स्टेटिक मेम्बर फंक्शन
#include<iostream> 
using namespace std; 
class test
{
int x;
static int y; 
public:
void set_xy(int a)
{
x = a; 
y++;
}
void show_x (void)
{
cout<<"x ="<< x <<"\n";
}
staic void show_y (void)
{
cout<<"y ="<< y;
}
}; 
int test::y; 
int main()
{
testti,t2; 
t1.set_xy(10); 
t2.set_xy (20); 
t1.show_x(); 
t2.show_x(); 
test::show_y(); // calling static function
return 0;
}
प्रोग्राम का आउटपुट होगा
x = 10
x = 20
y = 2
प्रश्न 4.
स्टेटिक डेटा मेम्बर के लिए एक प्रोग्राम लिखिए।
उत्तर-
प्रोग्राम-स्टेटिक डेटा मेंम्बर
#include<iostream> 
using namespace std; 
class data
{
static int x;
int y; 
public: 
void getdata (int a)
{
y = a; 
x++;
}
void show-x(void) 
cout<<"x ="<<x <<"\n";
}
};
int data::x; //static member definition
int main()
{
data d1, d2; // x is initialized to zero 
d1.show_x(); 
d2.show_x(); 
d1.getdata (10); 
d2.getdata (20); 
cout<<"After reading data"<<"\n"; 
d1, show_x (); 
d2. show_x (); 
return 0;
}
प्रोग्राम का आउटपुट होगा
x=0
x=0
After reading data
x=2
x=2
प्रश्न 5.
फ्रेंड क्लास के लिए एक प्रोग्राम लिखिए।
अथवा
फ्रेंड क्लास का उपयोग करते हुए दो नम्बरों में से maximum नम्बर निकालने के लिए प्रोग्राम लिखिए।
उत्तर:
#include<iostream> 
using namespace std; 
class second; //forward declaration 
class first
{
int x; 
public: 
void set_value(int a)
{
x=a;
}
friend void max (first, second); 
}; 
class second
{
int y; 
public:
void set value (int b)
{
y=b;
friend void max (first, second);
};
void max (first f, second s)
{
if (f.x>s.y)
cout<<"Maximum is"<<f.x; 
else 
cout<<"Maximum is"<<s.y;
}
int main()
{
first A; 
second B; 
A.set value (10); 
B.set value (20); 
max (A,B);//calling friend function 
return 0
}
प्रोग्राम का आउटपुट होगा
Maximum is 20
प्रश्न 6.
रिटर्निग ऑब्जेक्ट के लिए एक प्रोग्राम लिखिए।
अथवा
दो vectors को जोड़ने के लिए रिटर्निंग ऑब्जेक्ट का उपयोग करते हुए प्रोग्राम लिखिए।
उत्तर:
#include<iostream> 
using namespace std; 
class vector
{
int V[3]; 
public:
void set_vector (void)
{
cout<<"Enter three numbers\n"; 
for (int i=0;i<3; i++) 
cin>>V[i];
}
void display (void)
{
for (int i = 0; i<3; i++) 
cout<<V[i]<<",";
}
friend vector sum (vector, vector); 
} ; 
vector sum (vector P, vector q)
{
vector r; 
for int j= 0; j<3; j++) 
r.V[j]=p.V[j]+q.V[j]; 
return r;
}
int main()
{
vector v1, v2, v3;
v1.set_vector(); 
v2.set vector(); 
v3=sum (v1, v2); 
cout<<"First vector is:"; 
v1.display(); 
cout<<"\n"; 
cout>>"Second vector is:"; 
v2.display(); 
cout<<"\n"; 
cout<<"Resultant vector is:"; 
v3.display(); 
return();
}
प्रोग्राम का आउटपुट होगा
Enter three numbers
3 -2 5
Enter three numbers
-8 6 7
First vector is: 3,-2, 5,
Second vector is: -8,6,7,
Resultant vector is:-5,4,12

Labels: ,

29/04/2020

Rajasthan board RBSE Class 12 Computer Science Chapter 8 functions in c ++ (C++ में फंक्शन)

Rajasthan Board RBSE Class 12 Computer Science Chapter 8 C++ में फंक्शन

RBSE Class 12 Computer Science Chapter 8 पाठ्यपुस्तक के प्रश्न

RBSE Class 12 Computer Science Chapter 8 वस्तुनिष्ठ प्रश्न

प्रश्न 1.
एक वैध फंक्शन की घोषणा कौनसी है?
(अ) int fun(int a, int b);
(ब) int fun(int, int);
(स) अ. और ब. दोनों
(द) इनमें से कोई नहीं
उत्तर:
(स) अ. और ब. दोनों
प्रश्न 2.
पैरामीटर भेजने वाली किस विधि में कॉलिंग प्रोग्राम में वास्तविक पैरामीटर को कॉल्ड फंक्शन के फोरमल पैरामीटर में कॉपी किया जाता है?
(अ) कॉल-बाई-रेफरेंस
(ब) कॉल-बाई-वेल्यू
(स) कॉल-बाई-एड्रेस ।
(द) इनमें से कोई नहीं
उत्तर:
(ब) कॉल-बाई-वेल्यू
प्रश्न 3.
फंक्शन ओवरलोडिंग में सही फंक्शन को कॉल करना किस पर निर्भर नहीं करता है?
(अ) आरग्यूमेन्ट की संख्या
(ब) आरग्यूमेन्ट के टाईप
(स) फंक्शन के रिटर्न टाईप
(द) इनमें से कोई नहीं
उत्तर:
(स) फंक्शन के रिटर्न टाईप
प्रश्न 4.
एक समान फंक्शन के नाम लेकिन उनकी आरग्यूमेन्ट लिस्ट में भिन्नता और अलग-अलग कार्य कर सकते हैं, इसे कहा जाता है
(अ) फंक्शन ओवरलोडिंग
(ब) ऑपरेटर ओवरलोडिंग
(स) क्लास ओवरलोडिंग
(द) इनमें से कोई नहीं
उत्तर:
(अ) फंक्शन ओवरलोडिंग

RBSE Class 12 Computer Science Chapter 8 अतिलघु उत्तरीय प्रश्न

प्रश्न 1.
फंक्शन किसे कहते हैं?
उत्तर-
फंक्शन प्रोग्राम का एक भाग होता है जिसे किसी कार्य के लिए प्रयोग किया जाता है। एक प्रोग्राम को फंक्शन में विभाजित करना प्रोग्रामिंग भाषा के मुख्य सिद्धान्तों में से एक है।
प्रश्न 2.
फंक्शन ओवरलोडिंग किसे कहते हैं?
उत्तर-
फंक्शन के एक समान नाम लेकिन उनकी आरग्यूमेन्ट लिस्ट में भिन्नता और अलग-अलग कार्य करना इसे फंक्शन ओवरलोडिंग कहा जाता है।
प्रश्न 3.
इनलाईन फंक्शन किसे कहते हैं?
उत्तर-
इनलाईन फंक्शन-जब किसी फंक्शन को कॉल किया जाता है तो संपादन का कन्ट्रोल कॉलिंग फंक्शन से कॉल्ड फंक्शन को चला जाता है। कॉल्ड फंक्शन संपादन होने के बाद संपादन का कन्ट्रोल पुन: कॉलिंग फंक्शन को चला जाता है। जब फंक्शन का आकार छोटा होता है। तब इस प्रक्रिया में काफी समय बर्बाद हो जाता है। इस समस्या का समाधान इनलाईन फंक्शन है। एक इनलाईन फंक्शन का विस्तार इसे कॉल करने पर होता है। कम्पाइलर फंक्शन कॉल स्टेटमेन्ट को उसकी बॉडी से विस्थापित कर देता है।

RBSE Class 12 Computer Science Chapter 8 लघु उत्तरीय प्रश्न

प्रश्न 1.
फंक्शन प्रोटोटाईप किसे कहते हैं?
उत्तर-
फंक्शन प्रोटोटाईप-फंक्शन प्रोटोटाईप कम्पाइलर को फंक्शन के बारे में सूचना देता है। जैसे आरग्यूमेन्ट की संख्या और उनके टाईप और रिटर्न टाइप । फंक्शन प्रोटोटाईप निम्न प्रकार का होता है।
type function_name(arguments-list);
उदाहरण-
int sum(int a, int b);
फंक्शन की घोषणा में आरग्यूमेन्ट के नाम छदम वेरिएबल होते हैं और वे ऐच्छिक होते हैं।
int sum(int, int);
एक वैध फंक्शन की घोषणा हैं।
प्रश्न 2.
कॉल-बाई-वेल्यू और कॉल-बाई-रेफरेंस में क्या अन्तर है?
उत्तर-
कॉल-बाई-वेल्यू-कॉल-बाई-वेल्यू पैरामीटर भेजने वाली विधि में कॉल्ड फंक्शन कॉलिंग प्रोग्राम में वास्तविक पैरामीटर को कॉल्ड फंक्शन द्वारा फॉरमल पैरामीटर में कॉपी किया जाता है। फॉरमल पैरामीटर पर किये बदलाव कॉलिंग प्रोग्राम में नहीं होता है।
कॉल-बाई-रेफरेंस-जब रेफरेंस (reference) के द्वारा फंक्शन में पैरामीटर वेरिएबलस declare करते हैं तो ये वेरिएबल भी उसी memory location को point करते हैं जिसे original वेरिएबल point करते हैं। तो जब इन वेरिएबलस पर कोई चेंज perform करते हैं तो original वेरिएबलस भी चेंज हो जाते हैं।
प्रश्न 3.
स्ट्रक्चरड प्रोग्रामिंग में फंक्शन के क्या फायदे हैं?
उत्तर-
स्ट्रक्चर्ड प्रोग्रामिंग में फंक्शन के निम्नलिखित फायदे हैं
  • Function create करने से प्रोग्रामर का समय और कम्प्यूटर की मैमोरी दोनों बचते हैं।
  • एक ही code को आसानी से बार-बार use करने से re-usability बढ़ती है।
  • प्रोग्राम फंक्शन में divide हो जाता है जिससे उसे आसानी से manage और debug किया जा सकता है।
  • प्रोग्राम की readability बढ़ती है।

RBSE Class 12 Computer Science Chapter 8 निबंधात्मक प्रश्न

प्रश्न 1.
दो वेल्यूज को आपस में अदला-बदली कॉल-बाई-रेफरेंस प्रणाली के द्वारा करने का प्रोग्राम लिखें।
उत्तर:
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int a, b;
void swap(int &, int&);
cout<<"Enter two values:";
cin>>a>>b;
cout<<"\n Before sqapping: a =" <<a<<"b ="<<b;
swap (a, b);
cout << "\n After swapping: a=" << a<< "b =" <<b;
getch();
}
void swap (int & x,int &y)
{
int temp;
temp = x;
x = y;
y = temp;
}
Output
Enter two values : 5 10
Before swapping a = 5 b= 10
After swapping a = 10 b= 5
प्रश्न 2.
वृत्त के क्षेत्रफल और आयत के क्षेत्रफल की गणना के लिए फंक्शन को ओवरलोड़ करने का प्रोग्राम लिखें।
उत्तर-
प्रोग्राम
#include<iostream.h>
#include<conio.h>
class over
{
float l, b, r, ar;
public :
void area (float, float);
void area (float);
};
void over :: area (float l, float b)
{
cout <<"Area of rectangle ="<< 1 *b;
}
void over :: area (float r)
{
cout<<"Area of circle ="<< 3.14 *r *r ;
}
void main()
{
over 0;
clr sec();
float r, l, b;
cout<<"\n Enter radius";
cin>> r;
0. area (r);
cout<<"\n \n Enter length and breadth :";
cin>>1>>b;
0.area (1, b) ;
getch();
}
Output
Enter radius: 5
Area of circle = 78.5
Enter length and breadth: 3 4
Area of rectangle = 12

RBSE Class 12 Computer Science Chapter 8 अन्य महत्त्वपूर्ण प्रश्न

RBSE Class 12 Computer Science Chapter 8 अतिलघु उत्तरीय प्रश्न

प्रश्न 1.
फंक्शन क्या होता है?
उत्तर-
फंक्शन प्रोग्राम का एक भाग होता है जिसे किसी कार्य के लिए प्रयोग किया जाता है।
प्रश्न 2.
फंक्शन प्रोटोटाईप का सिन्टेक्स बताइए।
उत्तर-
सिन्टेक्स (Syntax)-type function_name (argument-list)
प्रश्न 3.
सही फंक्शन को कॉल करना किस पर निर्भर करता है?
उत्तर-
सही फंक्शन को कॉल करना उसके आरग्यूमेन्ट की संख्या और टाईप पर निर्भर करता है।
प्रश्न 4.
जब किसी फंक्शन को कॉल किया जाता है तो संपादन का कन्ट्रोल कहाँ जाता है?
उत्तर-
जब किसी फंक्शन को कॉल किया जाता है तो संपादन का कन्ट्रोल कॉलिंग फंक्शन से कॉल्ड फंक्शन को चला। जाता है।

RBSE Class 12 Computer Science Chapter 8 लघु उत्तरीय प्रश्न

प्रश्न 1.
कॉल-बाई-रेफरेंस का प्रोग्राम लिखिए।
अथवा
कॉल-बाई-रेफरेंस का उदाहरण दीजिए।
उत्तर-
प्रोग्राम कॉल-बाई-रेफरेंस
#include<iostream>
using namespace std;
int main()
{
int count=0;
void update (int &);
cout<<"count="<<count <<"\n";
update (count);
cout<<"count="<<count;
return 0;
}
void update (int &x)
{
x= x+1;
}
प्रोग्राम का आउटपुट होगा
count=0
count=1
प्रश्न 2.
रिटर्न-बाई-रेफरेंस को एक प्रोग्राम सहित समझाइए।
उत्तर-
रिटर्न-बाई-रेफरेंस-एक फंक्शन रेफरेंस भी रिटर्न कर सकता है।
प्रोग्रामः रिटर्न-बाई-रेफरेंस
#include<iostream>
using namespace std;
int main()
{
int x=6, y=9;
int &min(int &, int &);
min (x, y) =-1;
cout<<"x="<<x<<"\n";
cout<<"y="<<y;
return 0;
}
int &min(int &a, int &b)
{
it(a>b)
return a;
else
return b;
}
प्रोग्राम का आउटपुट होगा
x=-1
y= 9

RBSE Class 12 Computer Science Chapter 8 निबंधात्मक प्रश्न

प्रश्न 1.
फंक्शन ओवरलोडिंग का एक प्रोग्राम लिखिए।
अथवा
फंक्शन ओवरलोडिंग द्वारा दो व तीन नम्बरों को जोड़ने का प्रोग्राम लिखिए।
उत्तर-
प्रोग्राम फंक्शन ओवरलाडिंग
#include<iostream>
using namespace std;
int sum (int, int);
int sum (int, int, int)
int main()
{
cout<<"Sum of two numbers is"<<sum (5, 10);
cout<<"\n";
cout<<"Sum of three numbers is"<<sum (10, 20, 30);
return 0;
}
int sum (int x, int y)
{
return (x +y);
}
int sum (int a, int b, int c)
{
return(a+b+c);
}
प्रोग्राम का आउटपुट होगा
Sum of two numbers is 15
Sum of three numbers is 60
उपरोक्त प्रोग्राम में sum () फंक्शन को ओवरलोड किया गया है जब हम sum () फंक्शन को दो आरग्यूमेन्ट भेजते हैं तब दो आरग्यूमेन्ट वाला फंक्शन कॉल होता है। जब हम sum () फंक्शन को तीन आरग्यूमेन्ट भेजते हैं तब तीन आरग्यूमेन्ट वाला फंक्शन कॉल होता है।

Labels: , ,

28/04/2020

RBSE Class 12 Computer Science Chapter 7 ऑपरेटर, एक्सप्रेशन और कन्ट्रोल स्ट्रक्चर

Rajasthan Board RBSE Class 12 Computer Science Chapter 7 ऑपरेटर, एक्सप्रेशन और कन्ट्रोल स्ट्रक्चर

RBSE Class 12 Computer Science Chapter 7 पाठ्यपुस्तक के प्रश्न

RBSE Class 12 Computer Science Chapter 7 वस्तुनिष्ठ प्रश्न

प्रश्न 1.
इनमें से कौनसा ऑपरेटर इसके दायीं तरफ के वेरिएबल के कन्टेन्ट को आउटपुट स्क्रीन पर प्रिन्ट करता है?
(अ) <<
(ब) >>
(स) ::
(द) &
उत्तर:
(द) &
प्रश्न 2.
इनमें से कौनसा ऑपरेटर पर्याप्त मात्रा में डाटा ऑब्जेक्ट को मैमोरी प्रदान करता है?
(अ) Insertion ऑपरेटर
(ब) delete ऑपरेटर
(स) new ऑपरेटर
(द) delete ऑपरेटर
उत्तर:
(स) new ऑपरेटर
प्रश्न 3.
एक्सप्रेशन a=(b=20)+5 में वेरिएबल ‘a’ का मान होगा?
(अ) 20
(ब) 25
(स) 5
(द) 30
उत्तर:
(ब) 25
प्रश्न 4.
इनमें से कौनसा शॉर्ट हेंड असाइनमेन्ट ऑपरेटर है?
(अ) +=
(ब) -=
(स) *=
(द) ये सभी
उत्तर:
(द) ये सभी
प्रश्न 5.
सलेक्शन स्ट्रक्चर को किस कन्ट्रोल स्टेटमेंन्ट के द्वारा लागू किया गया है?
(अ) if स्टेटमेन्ट
(ब) if-else स्टेटमेन्ट
(स) switch स्टेटमेन्ट
(द) ये सभी
उत्तर:
(द) ये सभी
प्रश्न 6.
लूप स्ट्रक्चर को किस कन्ट्रोल स्टेटमेन्ट के द्वारा लागू किया गया है?
(अ) for स्टेटमेन्ट
(ब) while स्टेटमेन्ट
(स) do-while स्टेटमेन्ट
(द) ये सभी
उत्तर:
(द) ये सभी

RBSE Class 12 Computer Science Chapter 7 अतिलघु उत्तरीय प्रश्न

प्रश्न 1.
ऑपरेटर प्रिसीडेंस को परिभाषित करें?
उत्तर-
ऑपरेटर प्रिसीडेंस-अगर एक से ज्यादा ऑपरेटर किसी एक्सप्रेशन में हो तब, C++ भाषा में ऑपरेटर की प्राथमिकता के लिए परिभाषित नियम होते हैं। उच्च प्राथमिकता वाले ऑपरेटर निम्न प्राथमिकता वाले ऑपरेटर से पहले संपादित होते हैं। इस नियम को ऑपरेटर प्रिसिडेंस कहा जाता है।
प्रश्न 2.
ऑपरेटर की सम्बद्धता को परिभाषित करें।
उत्तर-
ऑपरेटर की सम्बद्धता (एसोसिएटिविटी)-अगर दो या दो से अधिक ऑपरेटर एक समान प्रिसिडेंस के एक ही एक्सप्रेशन में होते हैं तो जिस आर्डर में वे संपादित होते हैं उसे ऑपरेटर की सम्बद्धता (एसोसिएटिवटी) कहते हैं।
प्रश्न 3.
विभिन्न प्रकार के कन्ट्रोल स्ट्रक्चर क्या होते हैं?
उत्तर-
कन्ट्रोल स्ट्रक्चर तीन प्रकार के होते हैं
  • सिक्वेंस स्ट्रक्चर
  • सलेक्शन स्ट्रक्चर
  • लूप स्ट्रक्चर
प्रश्न 4.
एक्सप्रेशनस क्या होते हैं?
उत्तर-
एक एक्सप्रेशनस ऑपरेटर, कांस्टेंट और वेरिएबल का कॉम्बीनेशन है जो भाषा के नियम के अनुसार व्यवस्थित होता है।

RBSE Class 12 Computer Science Chapter 7 लघु उत्तरीय प्रश्न

प्रश्न 1.
स्कोप रिजोल्यूशन ऑपरेटर का क्या उपयोग है?
उत्तर
स्कोप रिजोलूशन ऑपरेटर (::)-C++ एक ब्लॉक स्ट्रक्चर भाषा है। एक वेरिएलब के नाम को अलग-अलग ब्लॉक में प्रयोग कर सकते हैं। वेरिएबल का स्कोप इसकी घोषणा की जगह और ब्लॉक के अंत के बीच में होता है। एक वेरिएबल जिसकी घोषणा ब्लॉक के अन्दर की गयी है वह उस ब्लॉक के लिए लोकल होता है। स्कोप रिजोलूशन ऑपरेटर का प्रयोग वेरिएबल के ग्लोबल वर्जन को एक्सेस करने के लिए किया जाता है।
उदाहरण
प्रोग्राम-स्कोप रिजोलूशन ऑपरेटर
#include
using namespace std;
int x=10; //global variable
int main()
{
int x =20; //x re-declared, local to main
{
cout<<"Inner block \n";
int x = 30; //x declared again, local to inner block
cout<<"x="<<x<<"\n";
cout<<"::x="<<::x<<"\n";
}
cout<<"Outer block\n";
cout<<"x="<< <<"\n";
return 0;
}
प्रोग्राम का आउटपुट होगा
Inner block
x= 30
:: x = 10
Outer block
x = 20
:: x = 10
प्रश्न 2.
new और delete ऑपरेटर का क्या उपयोग है?
उत्तर
  • new ऑपरेटर – यह ऑपरेटर पर्याप्त मात्रा में डाटा ऑक्जेक्ट को मैमोरी प्रदान करता है।
    int *p=new int;
    उपरोक्त स्टेटमेंट इंटीजर डाटा ऑब्जेक्ट को पर्याप्त मात्रा में मेमोरी प्रदान करता है।
  • delete ऑपरेटर – यह ऑपरेटर मैमोरी को पुन: आवंटित करता है। जब डेटा ऑब्जेक्ट की आगे आवश्यकता नहीं होती है। इससे मुक्त की गयी मैमोरी दूसरी प्रोग्रामों के लिए पुन: उपयोग में लायी जा सकती है।
    उदाहरण
    delete p;
    उपरोक्त स्टेटमेंट मैमोरी जिसे पॉइन्टर p द्वारा अंकित किया गया है उसे पुन: आवंटित करता है।
प्रश्न 3.
C++ में सलेक्शन कन्ट्रोल स्ट्रक्चर कैसे लागू किया गया है? वर्णन कीजिए।
उत्तर
सलेक्शन स्ट्रक्चर-दो या उससे अधिक संपादन के पथ जिनमें से एक को चुना जाता है अगर शर्त पूरी होती है।
उदाहरण
if स्टेटमेन्ट
if (expression is true)
{
statements;
}
if-else स्टेटमेन्ट
if (expression is true)
{
statements;
}
else
{
statements;
}
switch स्टेटमेन्ट
switch(expression)
{
case 1 : statements;
break;
case 2: statements;
break;
case 3 : statements;
break;
default : statements;
}

RBSE Class 12 Computer Science Chapter 7 निबंधात्मक प्रश्न

प्रश्न 1.
विभिन्न प्रकार के एक्सप्रेशन का उदाहरण सहित वर्णन कीजिए।
उत्तर-
एक एक्सप्रेशन ऑपरेटर, कांस्टेंट और वेरिएवल का कॉम्बीनेशन है जो भाषा के नियम के अनुसार व्यवस्थित होता है। एक्सप्रेशन के निम्न प्रकार होते हैं
  • कांस्टेंट एक्सप्रेशन
  • इंटीग्रल एक्सप्रेशन
  • फ्लोट एक्सप्रेशन
  • पॉइन्टर एक्सप्रेशन
  • रिलेशनल एक्सप्रेशन
  • लोजिकल एक्सप्रेशन
  • बिटवाइज एक्सप्रेशन
कांस्टेंट एक्सप्रेशन – इसमें केवल कांस्टेंट वेल्यूज होती है।
उदाहरण- 20+10*5.2
इंटीग्रल एक्सप्रेशन – जो एक्सप्रेशन स्वतः और बाह्य टाईप कनवर्जन के बाद इंटीजर परिणाम देते हैं।
उदाहरण- x+y*10
x+’a’
5+int(7.5)
जहाँ x और y इंटीजर वेरिएबल है।
फ्लोट एक्सप्रेशन – जो एक्सप्रेशन सभी तरह के टाईप कनवर्जन के बाद फ्लोट टाईप परिणाम देते हैं।
उदाहरण – a+b/5
7+float(10)
जहाँ a और b फ्लोट टाईप के वेरिएबल है।
पॉइन्टर एक्सप्रेशन – पॉइन्टर का परिणाम एड्रेस वेन्यू होता है।
उदाहरण – ptr = &x;
ptr+l
जहाँ x एक वेरिएबल है और ptr एक पॉइन्टर है।
रिलेशनल एक्सप्रेशन – जो एक्सप्रेशन बूलियन टाईप का परिणाम देते हैं। जो सत्य और असत्य हो सकता है।
उदाहरण – x<=y
a==b
रिलेशनल एक्सप्रेशन को बूलियन एक्सप्रेशन भी कहा जाता है।
लोजिकल एक्सप्रेशन – जो एक्सप्रेशन दो या दो से अधिक रिलेशनल एक्सप्रेशन को जोड़ता है और बूलियन टाईप का परिणाम देते हैं।
उदाहरण – x>y && x ==5
a= =20||y==10
बिटवाइज एक्सप्रेशन – इस तरह के एक्सप्रेशन को बिट स्तर के डेटा स्तर के डेटा मेनुपूलेशन के लिए प्रयोग किया जाता है। इनका उपयोग बिट्स की टेस्र्टीग और शिफ्टींग के लिए किया जाता है।
उदाहरण
a<<3 // तीन बिट्स को बायीं तरफर शिफ्ट करता है।
x>>1 // एक बिट को दायीं तरफ शिफ्ट करता है।
प्रश्न 2.
विभिन्न प्रकार के लूपिंग स्टेटमेन्टों का वर्णन कीजिए।
उत्तर-
for स्टेटमेन्ट-for लूप का प्रयोग किया जाता हैं जब किसी कार्य को पूर्व निर्धारित संख्या के बराबर दोहराया जाता है।
for(initial value;test condition;increment/decrements)
{
statements;
}
while स्टेटमेन्ट
while लूप के अन्दर के स्टेटमेन्ट जब तक कंडिशन सत्य है तब तक संपादित होता है। इसे प्रि-टेस्ट कंडिशन लूप भी कहा जाता है।
while(condition is true)
{
statements;
}
do-while स्टेमेन्ट
do-while लूप को पोस्ट टेस्ट कंडिशन लूप कहा जाता हैं यह लूप कम से कम एक बार तो संपादित होता है।
do
{
statements;
}
while(condition is true);

RBSE Class 12 Computer Science Chapter 7 अन्य महत्त्वपूर्ण प्रश्न

RBSE Class 12 Computer Science Chapter 7 अतिलघु उत्तरीय प्रश्न

प्रश्न 1.
C++ में कुछ नये ऑपरेटर के नाम बताइए।
उत्तर-
Insertion ऑपरेटर (<<), Extraction ऑपरेटर (>>), स्कोप रिजोलूशन ऑपरेटर (::)
प्रश्न 2.
Insertion ऑपरेटर का कार्य बताइए।
उत्तर-
Insertion ऑपरेटर (<<) अपने दायीं तरफ के वेरिएवल के कन्टेन्ट को आउटपुट स्क्रीन पर प्रिन्ट करता है।
प्रश्न 3.
Extraction ऑपरेटर का कार्य बताइए।
उत्तर-
Extraction ऑपरेटर (>>) कीबोर्ड से वैल्यू लेता है और इसके दायीं तरफ के वेरिएबल को प्रदान करता है।
प्रश्न 4.
स्कोप रिजोलूशन ऑपरेटर का प्रयोग कब किया जाता है?
उत्तर-
स्कोप रिजोलूशन ऑपरेटर का प्रयोग वेरिएबल के ग्लोबल वर्जन को एक्सेस करने के लिए किया जाता है।
प्रश्न 5.
new ऑपरेटर क्या करता है?
उत्तर-
new ऑपरेटर पर्याप्त मात्रा में डाटा ऑब्जेक्ट को मैमोरी प्रदान करता है।
प्रश्न 6.
इंटीग्ररल एक्सप्रेशन के बारे में बताइए।
उत्तर-
जो एक्सप्रेशन स्वत: और बाय टाईप कनवर्जन के बाद इंटीजर परिणाम देते हैं। इंटीग्रल एक्सप्रेशन कहलाते हैं।
प्रश्न 7.
फ्लोट एक्सप्रेशन क्या होते हैं?
उत्तर-
जो एक्सप्रेशन सभी तरह के टाईप कनवर्जन के बाद फ्लोट टाईप परिणाम देते हैं। फ्लोट एक्सप्रेशन कहलाते हैं।
प्रश्न 8.
बिटवाइज एक्सप्रेशन का उपयोग क्या होता है?
उत्तर-
बिटवाइज एक्सप्रेशन का उपयोग बिट्स की टेस्र्टीग और शिफ्टैंग के लिए किया जाता है।
प्रश्न 9.
for लूप का प्रयोग कब किया जाता है?
उत्तर-
जब किसी कार्य को पूर्व निर्धारित संख्या के बराबर दोहराया जाता है। तब for लूप का प्रयोग किया जाता है।
प्रश्न 10.
for लूप का syntax लिखिए।
उत्तर-
for(initial value;test condition ;increments/decrements)
{
statements;
}
प्रश्न 11.
While लूप का दूसरा नाम बताइए।
उत्तर-
while लूप को प्रि-टेस्ट कंडीशन लूप भी कहा जाता है।
प्रश्न 12.
While लूप का Syntax लिखिए।
उत्तर-
while (condition is true)
{
statements;
}
प्रश्न 13.
do-while लूप का दूसरा नाम बताइए।
उत्तर-
do-while लूप को पोस्ट टेस्ट कंडीशन लूप कहा जाता है।
प्रश्न 14.
do-while लूप का Syntax बताइए।
उत्तर-
do
{
statements;
}
while (condition is true);

RBSE Class 12 Computer Science Chapter 7 लघु उत्तरीय प्रश्न

प्रश्न 1.
ऑपरेटर की एसोसिएटिविटी को विस्तार से समझाइए।
उत्तर-
ऑपरेटर की एसोसिएटिविटी-अगर दो या दो से अधिक ऑपरेटर एक समान प्रिसिडेंस के एक ही एक्सप्रेशन में होते हैं तो जिस आर्डर में वे संपादित होते हैं उसे ऑपरेटर की एसोसिएटिविटी कहते हैं। C++ ऑपरेटर की सम्पूर्ण लिस्ट उनकी प्रिसिडेंस और एसोसिएविटी के साथ नीचे टेबल में दी गयी है।
टेबल ऑपरेटर प्रिसिडेंस और एसोसिएटिविटी
RBSE Solutions for Class 12 Computer Science Chapter 7 ऑपरेटर, एक्सप्रेशन और कन्ट्रोल स्ट्रक्चर 1
RBSE Solutions for Class 12 Computer Science Chapter 7 ऑपरेटर, एक्सप्रेशन और कन्ट्रोल स्ट्रक्चर 1.1
प्रश्न 2.
विशेष असाइनमेन्ट एक्सप्रेशनस के विषय में बताइए।
उत्तर-
विशेष असाइनमेन्ट एक्सप्रेशनस
  • चैन्ड असाइनमेन्ट – a=b=10;
    पहले 10 वेल्यू b को प्रदान की जाती है उसके बाद a को।
  • एम्बेडेड असाइनमेन्ट – a=(b=20)+5;
    (b=20)एक असाइनमेन्ट एक्सप्रेशन है जिस एम्बेडेड असाइनमेन्ट कहा जाता है। यहाँ पर वेल्यू 20, b को दी जाती है और उसके बाद परिणाम 25, a को दिया जाता है।
  • कम्पाउंड असाइनमेन्ट – यह असाइनमेन्ट ऑपरेटर और एक बाइनरी अर्थमैटिक ऑपरेटर का संयुक्त रूप है।
    उदाहरण – a=a+5; को a+=5; के रूप में लिख सकते हैं।
    += ऑपरेटर को कम्पाउंड असाइनमेन्ट ऑपरेटर या शॉर्ट हेड असाइनमेन्ट ऑपरेटर कहा जाता है।

Labels: , , ,

RBSE Class 12 Computer Science Chapter 6 C++ के साथ शुरूआत

Rajasthan Board RBSE Class 12 Computer Science Chapter 6 C++ के साथ शुरूआत

RBSE Class 12 Computer Science Chapter 6 पाठ्यपुस्तक के प्रश्न

RBSE Class 12 Computer Science Chapter 6 वस्तुनिष्ठ प्रश्न

प्रश्न 1.
एक C++ प्रोग्राम की संरचना में कौनसा अनुभाग होता है?
(अ) क्लास की घोषणा
(ब) मेम्बर फंक्शन की परिभाषा
(स) main () फंक्शन
(द) ये सभी
उत्तर:
(द) ये सभी
प्रश्न 2.
एक लाईन को कमेन्ट करने के लिए किस चिह्न प्रयोग किया जाता है?
(अ) \\
(ब) //
(स) ||
(द) !!
उत्तर:
(ब) //
प्रश्न 3.
प्रिप्रोसेसर डाइरेक्टीव स्टेटमेंट से पहले किसको चिन्ह प्रयोग किया जाता है?
(अ) $
(ब) #
(स) &
(द) *
उत्तर:
(ब) #
प्रश्न 4.
C++ प्रोग्राम की कम्पाइलिंग व लिकिंग के लिए किस कमाण्ड का प्रयोग किया जाता है?
(अ) g++
(ब) a++
(स) y++
(द) Z++
उत्तर:
(अ) g++
प्रश्न 5.
इनमें से कौनसा एक टोकन है?
(अ) कीवर्ड
(ब) आइडेंटिफायर
(स) ऑपरेटर
(द) ये सभी
उत्तर:
(द) ये सभी
प्रश्न 6.
इनमें से कौनसा एक बेसिक डेटा टाईप नहीं है?
(अ) int
(ब) char
(स) float
(द) class
उत्तर:
(द) class

RBSE Class 12 Computer Science Chapter 6 अतिलघु उत्तरीय प्रश्न

प्रश्न 1.
टोकन्स क्या होते हैं?
उत्तर-
टोकन्स (Tokens) – प्रोग्राम की सबसे छोटी इकाई को टोकन्स कहते हैं। प्रोग्राम में निम्नलिखित टोकन्स होते हैं
  • कीवर्डस
  • आइडेन्टीफायर्स
  • कॉन्स्टेंट
  • स्ट्रिंग्स
प्रश्न 2.
कीवर्ड्स क्या होते हैं?
उत्तर-
कीवर्ड्स (Keywords) – यह रिजर्व वड्स होते हैं जिनका अर्थ प्रोग्राम के द्वारा बदला नहीं जा सकता है। इनका प्रयोग वैरिएबल, कॉन्स्टैंट और अन्य यूजर-डिफाइण्ड प्रोग्राम इकाइयों के नाम के लिए नहीं किया जा सकता है।
प्रश्न 3.
आइडेन्टीफायर क्या होते हैं?
उत्तर-
आइडेन्टीफायर (Identifier) – वैरिएबल, फंक्शन, ऐरे, क्लास इत्यादि के नाम जो प्रोग्रामर के द्वारा दिए जाते हैं, उन्हें आइडेन्टीफायर कहते हैं। इन आइडेन्टीफायर को नाम देने लिए हर एक भाषा के अपने नियम होते हैं।
प्रश्न 4.
कॉन्स्टैंट क्या होते हैं?
उत्तर-
कॉन्स्टैंट (Constant) – फिक्स्ड वैल्यू जो प्रोग्राम के एक्जीक्यूशन के दौरान बदलती नहीं है, उन्हें कॉन्स्टेंट कहा जाता है। C++ में विभिन्न प्रकार के कॉन्स्टैंट होते हैं। जैसे-इंटीजर, करैक्टर, फ्लोटिंग-प्वॉइन्ट नम्बर और स्ट्रिंग।
प्रश्न 5.
स्ट्रक्चर और यूनियन में क्या अन्तर है?
उत्तर-
स्ट्रक्चर टाईप की साइज उनके सभी मेम्बर के टाईप की साइजों के योग के बराबर होती हैं जबकि यूनियन का साइज उसके सबसे बड़े मेम्बर के टाईप के साइज के बराबर होती है।

RBSE Class 12 Computer Science Chapter 6 लघु उत्तरीय प्रश्न

प्रश्न 1.
डेटा टाईप के वर्गीकरण का वर्णन कीजए।
उत्तर-
डेटा टाईप (Data Type) – डेटा टाईप को चित्र में दर्शाए अनुसार विभाजित किया जा सकता है
RBSE Solutions for Class 12 Computer Science Chapter 6 C++ के साथ शुरूआत 1a
प्रश्न 2.
एन्यूमरेटेड डेटा किसे कहते हैं?
उत्तर-
एन्यूमरेटेड डेटा टाईप (Enumerated Data Type) – यह एक तरीका है जिसके द्वारा नामों को संख्याओं के साथ जोड़ा जाता है। enum कीवर्ड से 0, 1, 2 इत्यादि संख्याओं को नामों की लिस्ट के साथ जोड़ा जाता है।
उदाहरण :
enum color {red, green, blue};
स्वतः ही red को 0, green को 1 और blue को 2 की संख्या प्रदान हो जाती है।
हम डिफाल्ट वेल्यूज को बाह्य रूप से इंटीजर वेल्यूज को एन्यूमरेटरस को प्रदान करके ओवरराइड भी कर सकते हैं।
enum color {red, green=3, blue = 8};
यहाँ red को 0 संख्या स्वत: ही प्रदान हुई है।
प्रश्न 3.
रेफरेन्स टाईप किसे कहते हैं?
उत्तर-
रेफरेंस टाईप (Reference Type)-रेफरेंस टाईप के वेरिएबल को रेफरेंस वेरिएबल कहा जाता है।
उदाहरण :
intx = 10;
int &y = x;
यहाँ x एक इंटीजर टाईप का वेरिएबल है और y उसका एक उपनाम है।
cout<<x;
cout<< y;
दोनों 10 प्रिन्ट करेगें। स्टेटमेंट
x=x+5;
x और y दोनों की वैल्यू को 15 में बदल देगा।

RBSE Class 12 Computer Science Chapter 6 निबंधात्मक प्रश्न

प्रश्न 1.
C++ प्रोग्राम की कम्पाइलिंग और लिंकिंग लाइनक्स ऑपरेटिंग सिस्टम पर करने का वर्णन कीजिए।
उत्तर-
कम्पाइलिंग एवं लिंकिंग-कम्पाइलिंग की प्रक्रिया ऑपरेटिंग सिस्टम पर निर्भर करती है।
Linux OS – g++ कमांड का प्रयोग C++ प्रोग्राम का कम्पाइलिंग व लिकिंग के लिए किया जाता है।
उदाहरण – g++ abc. cpp.
यह कमाण्ड abc.cpp फाईल में लिखे गये प्रोग्राम को कम्पाइल करती है। कम्पाइलर एक ओब्जेक्ट फाईल abc.o फाईल का निर्माण करता है और स्वत: ही लाइब्रेरी फंक्शनस के साथ लिंक होकर एक्जीक्यूबेल फाईल का निर्माण करता है। डिफॉल्ट एक्जीक्यूबेल फाई का नाम a. out होता है।
उदाहरण-
यह उदाहरण कम्पालिंग की step by step procedure दर्शाता है
C++ फाईल्स को कम्पाइल करके ऑब्जेक्ट कोड़ बनाना
g++-c frac.cpp
g++-c main.opp
अब, ऑब्जेक्ट कोड़ फाईल्स frac.0 और main.0 बन चुकी है।
To link the object code:
g++-ofrac frac.o main.0
This creater the executable “frac”
run the program:
frac
प्रश्न 2.
स्वत: और बाह्य टाईप कनवर्जन का उदाहरण सहित वर्णन करें।
उत्तर-
स्वतः टाईप कनवर्जन-जब एक एक्सप्रेशन में मिश्रित टाईप होते हैं तब कम्पाइलर नियमानुसार स्वतः ही टाईप कनवर्जन कर देता है। छेटे टाईप का बड़े टाईप में स्वतः ही कनवर्जन होने का नियम होता है। जब भी char या short int किसी एक्सप्रेशन में होता है। तब इनको int में कनवर्जन कर दिया जाता है। इसे इंटिग्रल वाइडनिंग कनवर्जन कहा जाता है। निम्न आकृति स्वतः टाईप कनवर्जन के नियम को दर्शाता है।
RBSE Solutions for Class 12 Computer Science Chapter 6 C++ के साथ शुरूआत 2a
उदाहरण-
#include
using namespace std;
void main()
{
short x = 6000;
int y;
y = x;
cout<<"\\n y=''<<y;
}
प्रोग्राम का आउटपुट होगा
y= 6000
बाह्य टाईप कनवर्जन – टाईप कास्ट ऑपरेटर का प्रयोग करते हुए वेरिएबल या एक्सप्रेशनस् का बाह्य टाईप कनवर्जन किया जाता है।
प्रोग्राम बाह्य टाईप कनवर्जन
#include
using namespace std;
int main()
{
int i = 5;
float f = 30.57;
cout<<"i="<<i;
cout<<"\nf=''<<
cout<<"\nfloat(i)="<<float(i);
cout<<"\nint ) =''<<int(f);
return 0;
}
प्रोग्राम का आउटपुट होगा
i=5
f=30.57
float(i)=5
int (f)= 30

RBSE Class 12 Computer Science Chapter 6 अन्य महत्त्वपूर्ण प्रश्न

RBSE Class 12 Computer Science Chapter 6 अतिलघु उत्तरीय प्रश्न

प्रश्न 1.
एक C++ प्रोग्राम में कितने अनुभाग होते हैं?
उत्तर-
एक C++ प्रोग्राम में चार अनुभाग होते हैं।
प्रश्न 2.
प्रिप्रोसेसर डाइरेक्टीव स्टेटमेन्ट किसे कहते हैं?
उत्तर-
जिन स्टेटमेन्ट से पहले # चिन्ह लगा हो उनको प्रिप्रोसेसर डाइरेक्टीव स्टेटमेन्ट कहते हैं।
प्रश्न 3.
प्रिप्रोसेसर डाइरेक्टीव स्टेटमेन्ट को कहाँ लिखा जाता है?
उत्तर-
प्रिप्रोसेसर डाइरेक्टीव स्टेटमेन्ट को C++ प्रोग्राम के शुरू में लिखा जाता है।
प्रश्न 4.
कम्पाइलिंग एवं लिकिंग की प्रक्रिया किस पर निर्भर करती है?
उत्तर-
कम्पाइलिंग एवं लिकिंग की प्रक्रिया ऑपरेटिंग सिस्टम पर निर्भर करती है।
प्रश्न 5.
Linux ऑपरेटिंग सिस्टम में g++ कमाण्ड का उपयोग बताइए।
उत्तर-
Linux ऑपरेटिंग सिस्टम में g++ कमाण्ड का उपयोग C++ प्रोग्राम के कम्पाइलिंग एवं लिकिंग के लिए किया जाता है।
प्रश्न 6.
टोकन्स क्या होता है?
उत्तर-
प्रोग्राम की सबसे छोटी इकाई को टोकन्स कहा जाता है।
प्रश्न 7.
कुछ कीवर्डस के नाम बताइए।
उत्तर-
new, auto, enum, private, case, catch आदि प्रमुख कीवर्डस है।
प्रश्न 8.
क्या void डेटा टाईप के साथ मोडिफायर प्रयोग किया जाता है?
उत्तर-
नहीं, void डेटा टाईप के साथ मोडिफायर का प्रयोग नहीं किया जाता है।
प्रश्न 9.
मोडिफायर कितने प्रकार के होते हैं?
उत्तर-
मोडिफायर चार प्रकार के होते हैं
  • Signed
  • unsigned
  • short
  • long
प्रश्न 10.
ऐरे क्या है?
उत्तर-
ऐरे एक ही प्रकार के एलिमेन्टस का समूह होता है।
प्रश्न 11.
पॉइन्टर क्या होता है?
उत्तर-
पॉइन्टर ऐक वेरिएबल होता है जो दूसरे वेरिएबल के एड्रेस को रखता है।
प्रश्न 12.
रेफरेंस वेरिएबल किसे कहते हैं?
उत्तर-
रेफरेंस टाईप के वेरिएबल को रेफरेंस वेरिएबल कहा जाता है।
प्रश्न 13.
इंटिग्रल वाइडनिंग कनवर्जन क्या होता है?
उत्तर-
छोटे टाईप का बड़े टाईप में स्वत: ही कनवर्जन होने का नियम होता है। जब भी char या short int किसी एक्सप्रेशन में होते हैं तब इनको int में कनवर्जन कर दिया जाता है। इसी को इंटिग्रल वाइडनिंग कनवर्जन कहा जाता है।

RBSE Class 12 Computer Science Chapter 6 लघु उत्तरीय प्रश्न

प्रश्न 1.
C++ प्रोग्राम की संरचना बताइए।
उत्तर-
C++ प्रोग्राम की संरचना-एक C++ प्रोग्राम में चार अनुभाग होते हैं जैसे-चित्र में दर्शाया गया है। ये अनुभाग अलग-अलग सॉर्स फाइलों में भी रखे जा सकते हैं और उसके बाद अलग-अलग या एक साथ भी कम्पाइल किये जा सकते है।
RBSE Solutions for Class 12 Computer Science Chapter 6 C++ के साथ शुरूआत 1b
प्रश्न 2.
C++ भाषा का एक सरल प्रोग्राम लिखिए।
उत्तर-
C++ का एक सरल प्रोग्राम-आउटपुट स्क्रीन पर “Hello World” प्रिन्ट करने का प्रोग्राम।
#include<iostream> //include header file
using namespace std;
int main ()
{
cout<<"Hello World": //print"Hello World"
return 0;
}
प्रोग्राम का आउटपुट होगा
Hello World
प्रश्न 3.
C++ प्रोग्राम की विशेषताएँ बताइए।
उत्तर-
C++ प्रोग्राम की विशेषताएँ
  • C की तरह C++ प्रोग्राम भी फंक्शन का एक संग्रह है।
  • एक C++ प्रोग्राम में main () फंक्शन अनिवार्य है।
  • C प्रोग्राम की तरह C++ प्रोग्राम में स्टेटमेन्ट अर्द्धविराम (;) से समाप्त होते हैं।
प्रश्न 4.
कमेन्टस के विषय में उदाहरण सहित बताइए।
उत्तर-
कमेन्टस्
  • // (डबल श्लेस) कमेन्ट एक लाईन को कमेन्ट करने के लिए प्रयोग किया जाता है।
    उदाहरण
    // This is my first C++ program.
  • /* */ एक से अधिक लाईनों को कमेन्ट करने के लिए प्रयोग किया जाता है।
    उदाहरण
    /* This is my first C++ program */
प्रश्न 5.
कुछ नियम बताए जो c और C++ में एक समान है।
उत्तर-
निम्नलिखित नियम C और C++ में एक समान है
  • केवल अंग्रेजी वर्णमाला के अक्षर, अंकों और अंडरस्कोर का प्रयोग कर सकते हैं।
  • किसी अंक के साथ नाम की शुरूआत नहीं की जा सकती है।
  • अंग्रेजी के छोटे और बड़े अक्षर अलग-अलग माने जाते हैं।
  • कीवर्ड का प्रयोग वेरिएबल के नाम के लिए नहीं किया जा सकता है।
प्रश्न 6.
ऐरे को परिभाषित कीजिए।
उत्तर-
ऐरे-यह एक प्रकार के एलिमेन्टस् का समूह है।
उदाहरण-
int number[5] = {2,7,8,9,11};
यहाँ number एक ऐरे हैं जिसका साइज 5 है और उसमें पाँच इंटीजर टाईप के ऐलिमेन्टस् है।
प्रश्न 7.
फंक्शन को परिभाषित कीजिए।
उत्तर-
फंक्शन-फंक्शन प्रोग्राम का एक भाग होता है। जो एक कार्य करने के लिए प्रयोग किया जाता है। एक प्रोग्राम को फंक्शनस में विभाजित करना प्रोग्रामिंग भाषा के मुख्य सिद्धान्तों में से एक है। प्रोग्राम में विभिन्न स्थानों पर कॉलिंग का उपयोग करके प्रोग्राम के आकार को कम करता है।
प्रश्न 8.
पॉइन्टर को उदाहरण सहित समझाइए।
उत्तर-
पोइन्टर-पोइन्टर एक वेरिएबल होता है जो एक दूसरे वेरिएबल के एड्रेस को रखता है।
उदाहरण
int x = 5; //integer variable
int *ptr; //integer pointer cariable
ptr = &x; //address of x assigned to ptr
*ptr = 10; //the value of x is changed from 5 to 10
प्रश्न 9.
C++ में वेरिएबल की घोषणा का उदाहरण दें।
उत्तर-
C++ में वेरिएबल की घोषणा प्रोग्राम में किसी भी जगह पर करने की अनुमति होती है।
उदाहरण-
int main ()
{
int x,y; //variable declaration
cin>>x>>y;
int sum=x+y;
cout<<sum; //variable declaration
}

RBSE Class 12 Computer Science Chapter 6 निबंधात्मक प्रश्न

प्रश्न 1.
बेसिक डेटा टाईप के साइज और रेंज के विषय में बताइए।
उत्तर-
टेबल-बेसिक डेटा टाईप के साइज और रेंज डेटा टाईप
RBSE Solutions for Class 12 Computer Science Chapter 6 C++ के साथ शुरूआत 1c
प्रश्न 2.
स्ट्रक्चर के विषय में विस्तार से बताइए।
अथवा
स्ट्रक्चर की परिभाषा उदाहरण सहित दीजिए।
उत्तर-
वास्तविक समस्याओं के निराकरण के लिए बेसिक डेटा टाईप पर्याप्त नहीं होते हैं। बेसिक डेटा टाईप और अन्य डेटा टाईप के समूह को स्ट्रक्चर कहा जाता है। स्ट्रक्चर का सिन्टेक्स इस प्रकार होता है।
struct स्ट्रक्चर का नाम
{
………
डेटा टाईप मेम्बर 1;
डेटा टाईप मेम्बर 2;
……..
};
एक स्टूडेन्ट का उदाहरण लेते हैं, जिसके कई ऐट्रिब्यूटस् होते हैं जैसे नाम, उम्र, प्रतिशत इत्यादि
struct student
{
char name [20] ;
int age;
float percentage;
};
struct student student1, student2;
यहाँ student1 और student2 यूजर डिफाइन्ड डेटा टाईप ‘student’ के वेरिएबल है।

Labels: , ,

Rajasthan ki jheelen -Rajasthan gk topic wise notes राजस्थान की झीले


Rajasthan GK Topic wise Notes राजस्थान की झीले

राजस्थान देश में जल संसाधनों की सबसे बड़ी कमी का सामना करता है। भारत के कृषि योग्य क्षेत्र का 13.88%, जनसंख्या का 5.67% और देश के पशुधन का लगभग 11% है, लेकिन इसमें केवल 1.16% सतही जल और 1.70% भूजल है। इस प्रकार, लगभग 10% भूमि क्षेत्र वाले राजस्थान में देश का लगभग 1% जल संसाधन है।
राजस्थान में प्राचीन काल से ही लोग जल स्रोतों के निर्माण को प्राथमिकता देते थे।
इस कार्य से संबंधित शब्दों पर एक नजर।
  1. मीरली या मीरवी- तालाब, बावड़ी, कुण्ड आदि के लिए उपयुक्त स्थान का चुनाव करने वाला व्यक्ति।
  2. कीणिया- कुआँ खोदने वाला उत्कीर्णक व्यक्ति।
  3. चेजारा- चुनाई करने वाला व्यक्ति।
राजस्थान की झीलों की नगरी उदयपुर।
भारत की झीलों की नगरी श्रीनगर।
खारे पानी की झीलेमीठे पानी की झीलें
सांभर- जयपुरजयसमंद- उदयपुर
पचभदरा- बाड़मेरराजसमंद- राजसमंद
डीडवाना- नागौरबालसमंद- जोधपुर
लुणकरणसर- बीकानेरआनासागर- अजमेर
फलौदी- जोधपुरफतेहसागर- उदयपुर
कावोद- जैसलमेरफायसागर- अजमेर
रेवासा- सीकरउदयसागर- उदयपुर
तालछापर- चुरूपुष्कर- अजमेर
कुचामन- नागौरकोलायत- बीकानेर
डेगाना- नागौरनक्की- सिरोही
पौकरण- जैसलमेरसिलिसेढ- अलवर
बाप- जोधपुरपिछौला- उदयपुर
कोछोर - सीकरकायलाना- जोधपुर
नावां - नागौर
पीथनपुरी - सीकर

तथ्य

केन्द्र सरकार के वन एवं पर्यावरण मंत्रालय के अधीन राष्ट्रीय झील सरंक्षण कार्यक्रम में राजस्थान की पांच झीलों क्रमश अजमेर की आना सागर , पुष्कर का पुष्कर सरोवर , उदयपुर की पिछोला और फतेहसागर तथा माउंट आबू की नक्की झील को सम्मिलित किया गया है।

राजस्थान की मीठे पानी की प्रमुख झीलें

जयसमंद झील /ढेबर झील (उदयपुर)

राजस्थान में मीठे पानी की सबसे बड़ी कृत्रिम झील जयसमंद है। इस झील का निर्माण मेवाड़ के राणा जयसिंह ने गोमती नदी का पानी रोककर(1687-91) कराया गया। इस झील में छोटे-बडे़ सात टापू है। इनमें सबसे बडे़ टापू का नाम बाबा का भागड़ा/भकड़ा है और उससे छोटे का नाम प्यारी है। इन टापूओं पर आदिवासी समुदाय के लोग निवास करते है। जयसंमद झील से उदयपुर जिले को पीने के पानी की सुविधा उपलब्ध कराई जाती है। जयसंमद झील को पर्यटन केन्द्र के रूप में भी विकसित किया जा रहा है। इस झील से श्यामपुरा व भट्टा/भाट दो नहरें भी निकाली गई है।
एशिया/भारत की मीठे पानी की सबसे बड़ी कृत्रिम झील गोविन्द सागर झील(भाखड़ा बांध, हिमाचल प्रदेश)

राजसमंद झील (राजसमंद)

इसका निर्माण मेवाड़ के राजा राजसिंह ने गोमती नदी का पानी रोककर (1662-76) इस झील का निर्माण करवाया गया। इस झील का उतरी भाग "नौ चौकी" कहलाता है। यही पर 25 काले संगमरमर की चट्टानों पर मेवाड़ का पूरा इतिहास संस्कृत में उत्कीर्ण है। इसे राजप्रशस्ति कहते है जो की संसार की सबसे बड़ी प्रशस्ति है। राजप्रशस्ति अमरकाव्य वंशावली नामक पुस्तक पर आधारित है जिसके लेखक - रणछोड़ भट्ट तैलंग है। इसके किनारे "घेवर माता" का मन्दिर है।

पिछोला झील (उदयपुर)

14 वीं सदी में इस मीठे पानी की झील का निर्माण राणा लाखा के समय एक पिच्छू नामक बनजारे ने अपने बैल की स्मृति में करवाया। पिछौला में बने टापूओं पर 'जगमन्दिर(लैक पैलेस)' व 'जगनिवास(लैक गार्डन पैलेस)' महल बने हुए है। जग मंदिर का निर्माण महाराणा कर्णसिंह ने सन् 1620 ई. में शुरू करवाया तथा जगत सिंह प्रथम ने 1651 ई. में पूर्ण करवाया। मुगल शासक शाहजहां ने अपने पिता से विद्रोह के समय यहां शरण ली थी। जगमन्दिर महल में ही 1857 ई. में राष्ट्रीय आन्दोलन के दौरान महाराणा स्वरूप ने नीमच की छावनी से भागकर आए 40 अंग्रेजो को षरण देकर क्रांन्तिकारियों से बचाया था। जगनिवास महल का निर्माण महाराणा जगत सिंह द्वितीय ने 1746 ई. में करवाया था। वर्तमान में इसे पर्यटन केन्द्र के रूप में इन महलों को "लेक पैलेस" के रूप में विकसित किया जा रहा है। इस झील के समीप "गलकी नटणी" का चबुतरा बना हुआ है। इस झील के किनारे "राजमहल/सिटी पैलेस" है। इसका निर्माण उदयसिंह ने करवाया। इतिहासकार फग्र्यूसन ने इन्हें राजस्थान के विण्डसर महलों की संज्ञा दी। सीसारमा व बुझडा नदियां इस झील को जलापूर्ति करती है। राजस्थान में सौर ऊर्जा चलित प्रथम नाव पिछोला झील में चलाई गई।

आनासागर झील (अजमेर)

अजमेर शहर के मध्य स्थित इस झील का निर्माण अजयराज के पुत्र अर्णाेराज(पृथ्वीराज चौहान के दादा आनाजी) ने 1137 ई. में करवाया। जयानक ने अपने ग्रन्थ पृथ्वीराज विजय में लिखा है कि "अजमेर को तुर्कों के रक्त से शुद्ध करने के लिए आनासागर झील का निर्माण कराया था' क्योंकि इस विजय में तुर्का का अपार खून बहा था। पहाड़ो के मध्य स्थित होने के कारण यह झील अत्यन्त मनोरम दृष्य प्रस्तुत करती है अतः मुगल शासक जांहगीर ने इसके समीप नूरजहां(रूठी रानी) का महल बनवाया। दौलतबाग का निर्माण करवाया जिसे वर्तमान में सुभाष उद्यान कहते है। इस उद्यान में नूरजहां की मां अस्मत बेगम ने गुलाब के इत्र का आविष्कार किया।इसके किनारे जहांगीर ने चश्मा-ए-नूर झरना बनवााया। शाहजहां ने इसी उद्यान में पांच बारहदरी का निर्माण करवाया।

नक्की झील

राजस्थान के सिरोही जिले मे माऊंट आबू पर स्थित नक्की झील राजस्थान की सर्वाधिक ऊंचाई पर तथा सबसे गहरी झील है। राजस्थान की एक मात्र झील जो सर्दियों में जम जाती है। झील का निर्माण ज्वालामुखी उद्भेदन से हुआ अर्थात यह एक प्राकृतिक झील(क्रेटर झील) है। मान्यता के अनुसार इस झील की खुदाई देवताओं ने अपने नाखुनों से की थी अतः इसे नक्की झील कहा जाता है। यह झील पहाड़ी क्षेत्र में स्थित है। इस झील में टापू है जिस पर रघुनाथ जी का मन्दिर बना है। इसके अलावा इस झील के एक तरफ मेंढक जैसी चट्टान बनी हुई है जिसे "टाॅड राॅक" कहा जाता है। एक चट्टान की आकृति महिला के समान है जिसे "नन राॅक" कहा जाता है। एक आकृति लड़का-लड़की जैसी है जिसे "कप्पल राॅक" कहा जाता है। इसके अलावा यहाँ हाथी गुफा, चंम्पा गुफा, रामझरोखा, पैरट राॅक अन्य दर्शनीय स्थल है। यह झील गरासिया जनजाति का आध्यात्मिक केन्द्र है। अतः लोग अपने मृतको की अस्थियों का विसृजन नक्की झील में ही करते है। इसके समीप ही "अर्बुजा देवी" का मन्दिर स्थित है। अतः इस पर्वत को आबू पर्वत कहा जाता है।

पुष्कर झील

राजस्थान के अजमेर जिले में अजमेर शहर से 12 कि.मी. की दूरी पर पुष्कर झील का निर्माण ज्वालामुखी उद्भेदन से हुआ है। यह झील भी प्राकृतिक झील है। यह राजस्थान का सबसे पवित्र सरोवर माना जाता है।इसलिए इसे आदितीर्थ/पांचनातीर्थ/कोंकणतीर्थ/तीर्थो का मामा/तीर्थराज भी कहा जाता है। पुष्कर झील के बारे में मान्यता है कि खुदाई पुष्कर्णा ब्राह्मणों द्वारा कराई गई। अतः पुष्कर झील की संज्ञा दी गई। तथा किवदन्ती के अनुसार इस झील का निर्माण ब्रह्माजी के हाथ से गिरे तीन कमल के पुष्पों से हुआ जिससे क्रमशः वरीष्ठ पुष्कर, मध्यम पुष्कर, कनिष्ठ पुष्कर का निर्माण हुआ। महाभारत युद्ध के बाद पांडवों ने यहां स्नान किया, महर्षि वेदव्यास ने महाभारत की रचना की, विश्वामित्र ने यहां तपस्या कि, वेदोें को यहां अंतिम रूप से संकलन हुआ। चौथी शताब्दी में कालिदास ने अपनी कृति 'अभिज्ञान शाकुन्तलम्' इसी स्थान पर रची थी। गुरु गोविन्द सिंह ने यहाँ पर गुरुग्रंथ साहिब का पाठ किया था। इतिहासकार कर्नल जेम्स टॉड ने कहा कि इस सरोवर की तुलना तिब्बत की मानसरोवर झील के अलावा और किसी से नहीं की जा सकती। इस झील के चारों ओर अनेक प्राचीन मन्दिर है। इनमें ब्रह्माजी का मन्दिर सबसे प्राचीन है जिसका निर्माण 10 वीं शताब्दी में पंडित गोकुलचन्द पारीक ने करवाया था। इसी मन्दिर के सामने पहाड़ी पर ब्रह्मा जी की पत्नि 'सावित्री देवी' का मन्दिर है। जिसमें माँ सरस्वती की प्रतिमा भी लगी हुई है।(राजस्थान के बाड़मेर जिले में आसोतरा नामक स्थान पर एक अन्य ब्रह्मा मन्दिर भी है।)
पुष्कर झील के चारों ओर 52 घाट बने हुए है। इन घाटों पर लोग अपने पित्तरों का लोकर्पण करते है।कार्तिक पूर्णीमा को यहां मेला लगता है दिपदान कि क्रिया होती है आय की दृष्टि से राजस्थान का सबसे बडा मेला है यहां पर एक महिला घाट भी बना हुआ है जिसे वर्तमान में गांधी घाट कहा जाता है। इसका निर्माण 1912 में मैडम मेरी ने करवाया था। गांधी जी की इच्छा पर उनकी अस्थियों का विसृजन पुष्कर झील में ही किया गया था। इनमें जयपुर घाट सबसे बड़ा है। पुष्कर में राजस्थान में दक्षिण भारतीय शैली का सबसे बड़ा मन्दिर श्री रंग जी का मन्दिर भी बना हुआ है। पुष्कर में आई मिट्टी को साफ करने में 1998 में कनाडा सरकार ने आर्थिक सहायता प्रदान की। पुष्कर के राताड्ढंगा में नाथ पंथ की बैराग शाखा की गद्दी बनी है।
पुष्कर के पंचकुण्ड को मृगवन घोषित किया।

फतहसागर झील (उदयपुर)

राज. के उदयपुर जिले में स्थित इस मीठे पानी की झील का निर्माण मेवाड के शासक जयसिंह ने 1678 ई. में करवाया। बाद में यह अतिवृष्टि होने के कारण नष्ट हो गई। तब इसका पुर्निमाण 1889 में महाराजा फतेहसिंह ने करवाया तथा इसकी आधार शिला ड्यूक आॅफ कनाॅट द्वारा रखी गई। अतः इस झील को फतहसागर झील कहा गया। इस झील में टापु है जिस पर नेहरू उधान बना है इस झील में सौर वैद्यशाला भी बनी है।
फतहसागर झील में अहम्दाबाद संस्थान ने 1975 में भारत की पहली सौर वैद्यशाला स्थापित की। इसी झील के समीप बेल्जियम निर्मित टेलिस्कोप की स्थापना सूर्य और उसकी गतिविधियों के अध्ययन के लिए की गई। फतहसागर झील से उदयपुर को पेय जल की आपूर्ति की जाती है।
उदयपुर के देवाली गांव में स्थित होने के कारण इसे देवाली तालाब भी कहा जाता है।

कोलायत झील (बीकानेर)

राजस्थान के बीकानेर जिले में स्थित इस मीठे पानी की झील के समीप साख्य दर्शन के प्रणेता कपिल मुनि का आश्रम है। इस आश्रम को "राजस्थान का सुन्दर मरूद्यान" भी कहा जाता है। यह आश्रम एन.एच.-62 पर स्थित है।
कोलायत झील की उत्पति कपिल मुनि ने अपनी माता की मुक्ति के लिए की। यहीं पर कार्तिक मास की पूर्णिमा (नवम्बर) माह में मेला भरता है। इस झील में दीप जला कर अर्पण किया जाता है। समीप ही यहां एक शिवालय है जिसमें 12 शिवलिंग है।

सीलीसेठ झील

यह झील अलवर में स्थित है। इसके किनारे अलवर के महाराजा विनयसिंह ने 1845 में अपनी रानी के लिए एक शाही महल (लैक पैलेस) व एक शिकारी लौज का निर्माण करवाया। यह झली ‘राजस्थान का नंदन कानन’ कहलाती है।

उदयसागर झील

यह उदयपुर में स्थित है। इसका निर्माण मेवाड के शासक उदयसिंह ने आयड़ नदी के पानी को रोककर करवाया। इस झील से निकलने के बाद हि आयड़ का नाम बेड़च हो जाता है।
मेवाड़ महाराणा फाउंडेशन के द्वारा उदयसिंह पुरस्कार पर्यावरण के क्षेत्र में दिया जाता है।

फायसागर झील

यह अजमेर में स्थित है। इसका निर्माण बाण्डी नदी(उत्पाती नदी) के पानी को रोककर करवाया गया इसे अंग्रेज इजि. फाॅय के निर्देशन में बनाया गया। इसलिए इसे फाॅय सागर कहते है। इसका जलस्तर अधिक हो जाने पर इसका पानी आनासागर में भेज दिया जाता है।

बालसमंद झील

जोधपुर मण्डोर मार्ग पर स्थित है। इसका निर्माण 1159 में परिहार शासक बालकराव ने करवाया। इस झील के मध्य महाराजा सुरसिंह ने अष्ट खम्भा महल बनाया।

गजनेर झील(बीकानेर)

इस झील को पानी के शुद्ध दर्पण की संज्ञा दी गई है।

एडवर्ड सागर/गैब सागर(डुंगरपुर)

महारावल गोपीनाथ द्वारा निर्मित इस झील में बादल महल स्थित है।
यहां काली बाई की मुर्ति है।
विवेकानंद का स्मारक स्थित है।

नदसमंद(राजसमंद)

राजसमंद की जीवन रेखा भी कहा जाता है।

कायलाना झील(जोधपुर)

सर प्रताप ने इस झील का निर्माझा करवाया।
इसके पास ही माचिया सफारी पार्क स्थित है।
यहीं पर कागा की छतरीयां है।

मोती झील(भरतपुर)

इसे रूपारेल के पानी को रोक कर बनाया गया है।
इसे भरतपुर की जीवन रेखा भी कहा जाता है।
इस झील से नील हरित शैवाल प्राप्त होता है जिससे नाइट्रोजन युक्त खाद बनती है।

राजस्थान की खारे पानी की प्रमुख झीलें

साॅंम्भर झील

यह झील जयपुर की फुलेरा तहसील में स्थित है। बिजोलिया शिलालेख के अनुसार इसका निर्माण चौहान शासक वासुदेव ने करवाया था। यह भारत में खारे पानी की आन्तरिक सबसे बड़ी झील है इसमें खारी, खण्डेला, मेन्था, रूपनगढ नदियां आकर गिरती है। यह झील दक्षिण-पूर्व से उत्तर-पश्चिम की ओर लगभग 32 किमी लंबी तथा 3 से 12 किमी तक चौड़ी है।
यह देश का नमक बनाने का सबसे बड़ा आन्तरिक स्त्रोत है यहां मार्च से मई माह के मध्य नमक बनाने का कार्य किया जाता है। यहां पर नमक रेस्ता, क्यार दो विधियों से तैयार होता है। यहां नमक केन्द्र सरकार के उपक्रम "हिन्दुस्तान साॅल्ट लिमिटेड" की सहायक कम्पनी 'सांभर साल्ट लिमिटेड' द्वारा तैयार किया जाता है।
भारत के कुल नमक उत्पादन का 8.7 प्रतिशत यहां से उत्पादित होता है।
यहां पर स्पाईरूलीना नामक शैवाल पाया जाता है जिसमें प्रोटीन की मात्रा अधिक होती है।
यहां पर साल्ट म्यूजियम(रामसर साईट पर्यटन स्थल) बनाया गया है।
दादू दयाल(राजस्थान का कबीर) ने प्रथम उपदेश सांभर झील के किनारे दिये।
इसी झील के किनारे शाकम्भरी माता का मंदिर बना हुआ है। जिसे तीर्थो कि नानी और देवयानी माता भी कह जाता है।
अकबर और जोधा का विवाह भी यहाँ भी हुआ कुरजां और राजहंस पक्षी आते है।

पंचभद्रा (बाड़मेर)

राजस्थान के बाड़मेर जिले के बालोत्तरा के पास स्थित है। इस झील का निर्माण पंचा भील के द्वारा कराया गया अतः इसे पंचभद्रा कहते है। इस झील का नमक समुद्री झील क नमक से मिलता जुलता है। इस झील से प्राप्त नमक में 98 प्रतिषत मात्रा सोडियम क्लोराइड है। अतः यहां से प्राप्त नमक उच्च कोटी है। इस झील से प्राचीन समय से ही खारवाल जाति के 400 परिवार मोरली वृक्ष की टहनियों(वायु रेस्ता विधि) से नमक के (क्रीस्टल) स्फटिक तैयार करते है।

डीडवाना झील (नागौर)

राजस्थान के नागौर जिले में लगभग 4 वर्ग कि.मी. क्षेत्र में फैली इस झील में सोडियम क्लोराइड की बजाय सोडियम स्लफेट प्राप्त होता है। अतः यहां से प्राप्त नमक खाने योग्य नहीं है। इसलिए यहां का नमक विभिन्न रासायनिक क्रियाओं में प्रयुक्त होता है।
इस झील के समीप ही राज्य सरकार द्वारा "राजस्थान स्टेट केमिकलवक्र्स" के नाम से दो इकाईयां लगाई है जो सोडियम सल्फेट व सोडियम सल्फाइट का निर्माण करते है। थोड़ी बहुत मात्रा में यहां पर नमक बनाने का कार्य निजी इकाइयों द्वारा भी किया जाता है जिन्हें 'देवल' कहते हैं। इनमें नमक पुराने तरीके से बनाया जाता है।

लूणकरणसर (बीकानेर)

राजस्थान के बीकानेर जिले में स्थित यह झील अत्यन्त छोटी है। परिणामस्वरूप यहां से थोडी बहुत मात्रा में नमक स्थानीय लोगो की ही आपूर्ति कर पाता है। उत्तरी राजस्थान की एकमात्र खारे पानी की झील है।
लूणकरणसर मूंगफली के लिए प्रसिद्ध होने के राजस्थान का राजकोट कहलाता है।

नावां झील(नागौर)

आदर्श लवण पार्क की स्थापना की गई है।

तथ्य

सांभर क्षेत्रफल की दृष्टि से भारत की सबसे बड़ी खारे पानी की झील है।
कैस्पियन सागर क्षेत्रफल की दृष्टि से विश्व की सबसे बड़ी खारे पानी की झील है।
खारेपन की दृष्टि से वाॅन झील(तुर्की) सबसे खारी(330 ग्राम) है।

Labels: , , , , ,

RBSE Class 12 Computer Science Chapter 5 Linked list solutions लिंक्ड लिस्ट

Rajasthan Board RBSE Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट

RBSE Class 12 Computer Science Chapter 5 पाठ्यपुस्तक के प्रश्न

RBSE Class 12 Computer Science Chapter 5 वस्तुनिष्ठ प्रश्न

प्रश्न 1.
लिंक लिस्ट सबसे उपयुक्त हैं
(अ) डेटा के स्थायी संग्रह के लिए।
(ब) लगातार बदल रहे स्ट्रक्चर के आकार और डेटा के लिए
(स) ऊपर की दोनों स्थिति के लिए
(द) उपरोक्त में से कोई नहीं
उत्तर:
(ब) लगातार बदल रहे स्ट्रक्चर के आकार और डेटा के लिए
प्रश्न 2.
आमतौर पर नोड्स के संग्रह को ………. कहा जाता है
(अ) स्टैक
(ब) लिंक्ड लिस्ट
(स) क्यू
(द) पॉइन्टर
उत्तर:
(ब) लिंक्ड लिस्ट
प्रश्न 3.
निम्न में से कौन सा लिंक्ड लिस्ट का एक प्रकार नहीं है
(अ) डबल लिंक लिस्टम,
(ब) सिंगल लिंक्ड लिस्ट
(स) सरक्यूलर लिंक्ड लिस्ट
(द) हाइब्रिड लिंक्ड लिस्ट
उत्तर:
(द) हाइब्रिड लिंक्ड लिस्ट
प्रश्न 4.
लिंक लिस्ट आमतौर पर ………. स्मृति आवंटन के उदाहरण के रूप में जाना जाता है।
(ब) डायनेमिक
(स) कम्पाईल टाईम
(द) इनमें से कोई नहीं
(अ) स्थिर
उत्तर:
(ब) डायनेमिक
प्रश्न 5.
एक सरक्युलर लिंक लिस्ट में
(अ) सभी तत्त्व सिक्वेंशियल तरीके से जुड़े होते हैं।
(ब) इसमें कोई शुरुआत और कोई अंत नहीं होता है।
(स) अवयव पदानुक्रम में व्यवस्थित होते हैं।
(द) सूची के भीतर आगे और पीछे चंक्रमण की अनुमति होती है।
उत्तर:
(ब) इसमें कोई शुरुआत और कोई अंत नहीं होता है।

RBSE Class 12 Computer Science Chapter 5 लघु उत्तरीय प्रश्न

प्रश्न 1.
लिंक लिस्ट को परिभाषित करें।
उत्तर-
लिंक लिस्ट एक लीनियर डाटा स्ट्रक्चर होता है जिसमें तत्त्वों की सीरीज इस तरह होती है कि प्रत्येक तत्त्व अपने अगले तत्त्व को पॉइंट करता है। लिंक लिस्ट में प्रत्येक तत्त्व को नोड कहते हैं। आसान भाषा में लिस्ट एक तत्त्वों की सीरीज है जिसमें तत्त्व एक दूसरे से जुड़े हुए हैं। लिंक लिस्ट ऐरे के बाद सबसे अधिक काम आने वाला डाटा स्ट्रक्चर हैं। लिंक्ड लिस्ट की अवधारणा को समझने के लिए निम्नलिखित महत्त्वपूर्ण शब्द है
नोड (Node) – प्रत्येक नोड में डाटा आइटम और अगले नोड का एड्स होता है।
नेक्स्ट (Next) – एक पॉइन्टर फील्ड होता है जिसमें नेक्स्ट का एड्रेस होता है।
लिंक्ड लिस्ट का प्रेजेंटेशन (Presentation of Linked list)-लिंक लिस्ट को नोड्स के चैन के रूप में प्रदर्शित कर सकते हैं जहाँ पर हर एक नोड को पॉइन्ट करती है।
RBSE Solutions for Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट 1
प्रश्न 2.
हैडर लिंक लिस्ट क्या है?
उत्तर-
हैडर लिंक्ड लिस्ट (Header Linked List)-हैडर लिंक्ड लिस्ट एक ऐसी लिंक्ड लिस्ट है जो हमेशा एक स्पेशल नोड लिस्ट की शुरुआत में रखती है जिसे हैडर नोड (Header Node) कहते हैं।
यह दो प्रकार की होती हैं
  • Grounded Header List – इसमें Last Node, NULL Pointer रखता है।
  • Circular Header List – इसमें Last Node वापिस, Header Node को पॉइंट (Point) करता है।
    RBSE Solutions for Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट 2
प्रश्न 3.
ऐरे और लिंक लिस्ट में कौन बेहतर है?
उत्तर-
ऐरे में प्रत्येक तत्त्व independent होता है, उसका अपने से पहले तत्त्व से या उसकी location से कोई connection नहीं होंता है। लिंक्ड लिस्ट में तत्त्वों के location या एड्रेस link part में स्टोर रहते हैं।
ऐरे में सारे तत्त्व consecutive manner में मैमोरी में स्टोर रहते हैं। लिंक्ड लिस्ट में तत्त्व किसी भी उपलब्ध जगह में स्टोर हो जाते हैं क्योंकि एक node का एड्रेस पहले वाले. एड्रेस में स्टोर रहता है।
ऐरे single dimensional, double dimensional या multidimensional हो सकता है। लिंक्ड लिस्ट singly, doubly या circular linked list में होते हैं। लिंक्ड लिस्ट में इन्सर्शन और deletion ऑपरेशन fast और easy होते हैं क्योंकि लिंक्ड लिस्ट में केवल पॉइन्टर की value ही change करनी होती है।
अतः लिंक लिस्ट, ऐरे से बेहतर होती है।
प्रश्न 4.
सर्कुलर लिंक लिस्ट को परिभाषित करें।
उत्तर-
सर्कुलर लिंक्ड लिस्ट (Circular Linked List)—सामान्य लिंक्ड लिस्ट में अन्तिम नोड का next पॉइन्टर सदैव NULL को दर्शाता है परन्तु सर्कुलर लिंक्ड लिस्ट (Circular Linked List) में लिस्ट की अन्तिम नोड सदैव start को ही दर्शाता है अर्थात् सर्कुलर लिंक्ड लिस्ट एक इस प्रकार की लिस्ट है जिसकी आखिरी नोड सदैव लिस्ट की पहली नोड को दर्शाती है।
यहाँ पर हम जिस सर्कुलर लिंक्ड लिस्ट को समझाने जा रहे हैं, वह सिंगल सर्कुलर लिस्ट (Single Circular List) कहलाती है क्योंकि इस लिस्ट को हम केवल आगे की ओर बढ़ते हुए ही प्रिन्ट करा सकते हैं।
एक विशेष प्रकार की लिस्ट को हम एक अलग तकनीक द्वारा दोनों से अर्थात् आगे से बढ़ते हुए और पीछे से लौटते हुए प्रिन्ट करा सकते हैं, इस प्रकार की लिस्ट को डबली लिंक्ड लिस्ट (Doubly Linked List) कहते हैं।
सामान्य लिस्ट की भांति ही सिंगल सर्कुलर लिस्ट में नई नोड़ जोड़ने, किसी नोड को मिटाने, किसी नोड को खोजने तथा प्रिन्ट कराने के लिए चारों फंक्शन को चलाया जा सकता है।
RBSE Solutions for Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट 4

RBSE Class 12 Computer Science Chapter 5 निबंधात्मक प्रश्न

प्रश्न 1.
डबल लिंक लिस्ट को समझाओ।
उत्तर-
डबल लिंक लिस्ट (Double Link List) डबल लिंक्ड लिस्ट अथवा टू वे लिंक्ड लिस्ट में एक सूचना के दोनों तरफ पॉइन्टर सुरक्षित किए जाते हैं। इनमें से सूचना के बाईं ओर वाला पॉइन्टर सूचना से पहले वाली सूचना को दर्शाता है तथा दाईं ओर वाला पॉइन्टर सूचना अगली सूचना को दर्शाता है। हमने बाईं ओर वाले पॉइन्टर को back तथा दाईं ओर वाले पॉइन्टर को next नाम देकर प्रयुक्त किया है। चूँकि इस लिस्ट में सुरक्षित नोड में एक नहीं बल्कि दो पॉइन्टर हैं, इसलिए इसकी node का structure बाकी सामान्य लिस्ट तथा सर्कुलर लिंक्ड लिस्ट से भिन्न होता है। डबली लिस्ट में प्रयुक्त नोड का structure निम्नलिखित है
struct node
{
struct node *back;
int info;
struct node*next;
डबली लिंक्ड लिस्ट में दो पॉइन्टर्स की उपस्थिति के कारण हम डबली लिंक्ड लिस्ट में सुरक्षित सूचनाओं को दोनों ओर से प्रिन्ट करा सकते हैं। इसलिए डबली लिंक्ड लिस्ट का प्रयोग साधारणतया उन्हीं स्थानों पर किया जाता है, जहाँ हमें दोनों ओर अर्थात् आगे से और पीछे से सूचनाओं को प्रिन्ट कराना होता है। चूंकि इस लिस्ट में सुरक्षित सूचना को दोनों ओर से प्रिन्ट करा सकते हैं, इसलिए इस लिस्ट को डबली लिंक्ड लिस्ट या टू वे लिंक्ड लिस्ट कहते हैं। डबली लिंक्ड लिस्ट की रूपरेखा निम्न प्रकार से होगी
RBSE Solutions for Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट 1a
जिस प्रकार एक साधारण लिस्ट में जोड़ने, मिटाने तथा प्रिन्ट कराने जैसी क्रियाएँ की जाती हैं, उसी प्रकार इस लिस्ट में भी जोड़ना, मिटाना तथा प्रिन्ट कराना होता है।
डबली लिंक्ड लिस्ट में नई नोड को जोड़ना (Adding New Node in Doubly Linked List) – डबली लिंक्ड लिस्ट में भी नोड को लिस्ट में चार स्थानों पर जोड़ा जा सकता है, इसे हम इस प्रकार से भी कह सकते हैं कि इस लिस्ट में भी नोड जोड़ने का कार्य निम्नलिखित चार प्रकार से किया जाता है
  • लिस्ट के प्रारम्भ में
  • लिस्ट के अन्त में
  • लिस्ट में दी गई किसी सूचना के बाद।।
  • लिस्ट में वांछित स्थान (Desired Location) के बाद।
प्रश्न 2.
सिंगल और डबल लिंक लिस्ट के बीच अन्तर को बताओ।
उत्तर-
सिंगल लिंक्ड लिस्ट में हर एक एलीमेंट अगले एलीमेंट का reference रखता है। जबकि डबल लिंक्ड लिस्ट में हर एक एलीमेंट अगले एलीमेंट के साथ पहले वाले एलीमेंट का भी reference रखता है। डबल लिंक्ड लिस्ट को प्रत्येक एलीमेंट के लिए ज्यादा जगह की जरूरत होती है। डबल लिंक्ड लिस्ट में इनसर्शन और डिलीशन जैसे ऑपरेशन ज्यादा कॉम्प्लेक्स होते हैं क्योंकि इन्हें दो references के साथ deal करना होता है।
सिंगल लिंक्ड लिस्ट केवल एक तरफ ही traversal allow करता है जबकि डबल लिंक्ड लिस्ट दोनों तरफ traversal allow करता है।
अगर हमें memory बेचानी है और searching की जरूरत नहीं है तो हम सिंगल लिंक्ड लिस्ट का प्रयोग करते हैं, परन्तु यदि हमें searching में अच्छी performance चाहिए तो हम डबल लिंक्ड लिस्ट का प्रयोग करते हैं।
सिंगल लिंक्ड लिस्ट को ज्यादातर stacks के लिए प्रयोग करते हैं। डबल लिंक्ड लिस्ट को stacks, heaps और binary trees के लिए प्रयोग करते हैं।
प्रश्न 3.
लिंक लिस्ट किस प्रकार की स्मृति भावंटन से जुड़ा हुआ है?
उत्तर-
लिंक लिस्ट आमतौर पर डायनेमिक स्मृति आवंटन से जुड़ा होता है।
उदाहरण
C program to create and display singly linked list
#include
#include
struct node
{
int data;
struct node* next;
}
* head;
void createList(int n) ;
void traverselist();
int main()
{
int n;
printf("Enter the total no. of noder:");
Scanf("%d", &n);
createList(n);
printf("\n Data in the list \n");
traverseList ();
return 0;
}
void createList > (int n)
{
struct node*newNode, *temp;
int data, i;
head = (struct node *) malloc (size of (struct node));
if (head = = NULL)
{
printf("unable to allocate memory.");
}
else
{
printf("Enter the data of node 1 :");
scanf("%d", &data);
head → data = data;
head → next = NULL;
temp = head;
for (i = 2; i<=n; i++)
{
newNode = (struct node *) malloc(sizcof (struct node));
if (newNode = = NULL)
{
printf("Unable to allocate memory")
break;
}
else
{
printf ("Enter the data of node %d: ", i);
scanf("%d", 4 data);
newNode→data = data;
new node→next = NULL;
temp → next = newNode;
temp = temp→next;
}
}
}
}
Void travere List ()
{
struct node * temp;
if (head==NULL)
{
printf ("List is empty");
}
else
{
temp = head;
while (temp!=NULL)
{
printf("data = %d\n", temp ® data); .
}
}
}
Output :
Enter the total no. of nodes : 5
Enter the data of node 1 : 10
Enter the data of node 2 : 20
Enter the data of node 3 : 30
Enter the data of node 4 : 40
Enter the data of node 5:50
Data in the list
Data = 10
Data = 20
Data = 30
Data = 40
Data = 50
प्रश्न 4.
लिंक लिस्ट का उपयोग समझाओ।
उत्तर-
लिंक लिस्ट के उपयोग निम्नलिखित उपयोग हैं।
  • लिंक लिस्ट डायनामिक डाटा स्ट्रक्चर है।
  • लिंक लिस्ट रन टाइम के दौरान विकसित और सिकुड़ सकती है।
  • लिंक लिस्ट में इंसर्शन और डिलीशन आसान होता है।
  • कुशल स्मृति उपयोग, यानी स्मृति के पूर्व आवंटित की कोई जरूरत नहीं।
  • एक्सेस टाम फास्ट होता है, मैमोरी ओवरहेड के बिना कॉन्स्टेन्ट टाइम में बढ़ सकती है।
  • लीनियर डाटा स्ट्रक्चर जैसे स्टैक, क्यू को लिंक लिस्ट की मदद से आसानी से इम्पलीमेंट कर सकते हैं।
  • लिंक्ड लिस्ट का प्रयोग एक डाटा स्ट्रक्चर के रूप में कई कम्प्यूटर प्राब्लमस को सुलझाने में किया जाता है।
  • लिंक्ड लिस्ट का महत्त्वपूर्ण उपयोग निम्न को विकासित करने में हुआ है
    (a) Artificial Intelligence
    (b) Chess Program
    (c) General Problem Solver

RBSE Class 12 Computer Science Chapter 5 अन्य महत्त्वपूर्ण प्रश्न

RBSE Class 12 Computer Science Chapter 5 अतिलघु उत्तरीय प्रश्न

प्रश्न 1.
लिंक लिस्ट से आप क्या समझते हैं?
उत्तर-
लिंक लिस्ट एक लीनियर डाटा स्ट्रक्चर होता है जिसमें तत्त्वों की सीरीज इस तरह होती है कि प्रत्येक तत्त्व अपने अगले तत्त्व को पॉइन्ट करता है।
प्रश्न 2.
नोड़ किसे कहते हैं?
उत्तर-
लिंक लिस्ट में प्रत्येक तत्त्व को नोड कहते हैं।
प्रश्न 3.
नोड़ में क्या अन्तर है?
उत्तर-
प्रत्येक नोड में डाटा आइटम और अगले नोड का एड्रेस होता है।
प्रश्न 4.
नेक्स्ट (next) क्या होता है?
उत्तर-
नेक्स्ट (Next) एक पॉइन्टर फील्ड होता है जिसमें अगले नोड़ का एड्रेस होता है।
प्रश्न 5.
इन्सर्शन (Insertion) का क्या अर्थ है?
उत्तर-
इन्सर्शन (Insertion) को अर्थ एक डाटा स्ट्रक्चर में एक नये तत्त्व को जोड़ना होता है।

RBSE Class 12 Computer Science Chapter 5 लघु उत्तरीय प्रश्न

प्रश्न 1.
लिंक लिस्ट के नुकसान बताइए।
उत्तर-
लिंक लिस्ट के नुकसान: निम्नलिखित लिंक लिस्ट के नुकसान हैं।
(क) यदि आवश्यक मैमोरी का पता हो तो मैमोरी वेस्टेज होता है।
(ख) सर्च कर पाना मुश्किल है।
प्रश्न 2.
लिंक लिस्ट के प्रकार बताइए।
उत्तर-
लिंक लिस्ट के प्रकारः लिंक लिस्ट के निम्नलिखित विभिन्न प्रकार हैं
सिंगल लिंक लिस्ट (Single Linked List) – केवल फॉरवर्ड पॉइन्टर होता है।
डबल लिंक लिस्ट (Double Linked List) – फॉरवर्ड और बैकवर्ड पॉइंटर होता है।
सर्कुलर लिंक लिस्ट (List Circular Linked List) – अंतिम तत्त्व पहले तत्त्व को पॉइन्ट करता है।
प्रश्न 3.
लिंक लिस्ट के प्रमुख बुनियादी आपरेशन के विषय में बताइए।
उत्तर – बुनियादी आपरेशन: लिंक लिस्ट के निम्नलिखित बुनियादी ऑपरेशन है।
इनसर्शन (Insertion) – इनसर्शन का अर्थ एक डाटा स्ट्रक्चर में एक नये डेटा तत्त्व को जोड़ना।
डिलिशन (deletion) – डिलीशन का अर्थ एक डाटा स्ट्रक्चर में एक डेटा तत्त्व हो हटाना यदि यह मौजूद है।
सर्च (Search) – एक डाटा स्ट्रक्चर में निर्दिष्ट डेटा तत्त्व को खोजने को सर्च कहते हैं।
डिस्प्ले (Display) – पूर्ण लिस्ट को डिस्प्ले करता है।

RBSE Class 12 Computer Science Chapter 5 निबंधात्मक प्रश्न

प्रश्न 1.
इन्सर्शन ऑपरेशन के विषय में विस्तार से बताइए।
उत्तर-
इनसर्शन (Insertion) ऑपरेशन-इनर्सशन का अर्थ एक डाटा स्ट्रक्चर में एक नये नोड को जोड़ना है। हम यहाँ निम्नलिखित चित्र की मदद से समझेंगे। सबसे पहले एक नया नोड बनाते हैं और इन्सर्ट करने के लिए लोकेशन पता करते हैं।
RBSE Solutions for Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट 1b
कल्पना कीजिए कि हम एक नोड B(NewNode),A(LeftNode) और C(RightNode) के बीच इन्सर्ट करना चाहते हैं। तब B.next C को पॉइन्ट करेगा और NewNode.next->RightNode: अब यह इस तरह दिखेगा।
RBSE Solutions for Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट 1b.1
अब लेफ्ट नोड नए नोड को पॉइन्ट करेगा।
Left Node. next -> New Node;
RBSE Solutions for Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट 1b.2
अब दोनों नोड्स के बीच में नए नोड को इन्सर्ट कर देंगे फिर नयी लिस्ट इस प्रकार होगी
RBSE Solutions for Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट 1b.3
यदि नोड लिस्ट के शुरू में इन्सर्ट करना हो तो समान विधि अपनानी होगी और अंत : इन्सर्ट करना हो तो अंतिम नोड नए नोड को पॉइन्ट करेगा और नया नोड Null को पॉइन्ट करेगा।
प्रश्न 2.
डिलीशन ऑपरेशन के विषय में विस्तार से बताइए।
उत्तर-
डिलीशन (Deletion) ऑपरेशन-डिलीशन का अर्थ एक डाटा स्ट्रक्चर में एक डेटा तत्त्व को हटाना यदि वह मौजूद है। डिलीशन भी एक से अधिक स्टेप्स का प्रोसेस है चित्र की मदद से देखते हैं कि सबसे पहले सर्चिग का उपयोग कर डिलीट करने वाले तत्त्व को खोजते हैं।
RBSE Solutions for Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट 2b
अब टारगेट नोड के पहले वाला नोड उसके बाद वाले नोट को पॉइन्ट करेगा
LeftNode.next->TargetNode.next;
RBSE Solutions for Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट 2b.1
अब टारगेट जिस नोड को पॉइन्ट कर रहा था वो लिंक निम्नलिखित कोड से हट जायेगा।
TargeNode. next -> NULL;
RBSE Solutions for Class 12 Computer Science Chapter 5 लिंक्ड लिस्ट 2b.2
अगर हमें जरुरत है तो डिलीट किये गए नोड को रख सकते हैं अन्यथा हम मैमोरी को deallocate कर सकते हैं।
प्रश्न 3.
लिंक लिस्ट के विभिन्न ऑपरेशन के लिए C प्रोग्राम लिखिए।
उत्तर-
लिंक लिस्ट के ऑपरेशन के लिए C प्रोग्राम:
#include
#include
#include
#include
struct node
{
int data;
int key;
struct node*next;
};
struct node*head = NULL;
struct node* current = NULL;
//display the list
void printList ()
{
struct node *ptr = head;
printf("\n");
//start from the beginning
while (ptr!=NULL)
{
printf("%d,%d)", ptr->key, ptr->data);
}
printf("]");
}
//insert link at the first location
void insert First (int key, int data)
{
//create a link
struct node *link - (struct node*) malloc(sizeof(struct node));
link->key=key;
link->data = data;
//point it to old firt node link→next=head;
//point first to new first node
head == link;
}
//delete first item
struct node* deleteFirst ()
{
//save reference to first link
struct node *tempLink = head;
//mark next to first link as first
head = head-->next;
//return the deleted link
return tempLink;
}
//is list empty
bool isEmpty()
{
return head = = NULL;
}
int length ()
{
int length= 0;
struct node *current;
for(current = head; current != NULL; current = current->next)
{
length++;
}
return length;
}
//find a link with given key
struct node*find(int key)
{
//start from the first link
struct node* current = head;
//if list is empty
if (head = = NULL)
{
return NULL
}
//navigate through list
while (current->key != key)
{
//if it is last node
if (current->next = = NULL)
{
return NULL;
}
else
{
//go to next link
current = current->next;
}
}
//if data found, return the current Link
return current;
}
//delete a link with given key
struct node* delete (int key)
{
//start from the first link
struct node* current = head;
struct node*previous = NULL;
//is list is empty
if (head = = NULL)
{
return NULL;
}
//navigate through list
while (current->key! = key)
{
//if it is last node
if (current->next = = NULL)
{
return NULL;
}
else
{
//store reference to current link
previous = current;
//move to next link
current = current->next;
}
}
//found a match, update the link
if (current = = head)
{
//change first to point to next link
head = head-> next;
}
else
{
//bypass the current link
previous->next = current->next;
}
return current;
}
void sort()
{
int i, j, k, tempkey, temp Data;
struct node *current;
struct node *next;
int size = length();
k = size;
for (i = 0, i< size - 1;i++, k--) { current = head; next = head->next;
for (j = 1 ; j <k; j++) { if (current->data > next->data)
{
tempData = current->data;
current→data=next→data;
next->data = tempData;
tempKey = current->key;
current->key = next->key;
next->key = tempkey;
}
current = current->next;
next = next->next;
}
}
}
void reverse (struct node **head_ref)
{
struct node*prev = NULL;
struct node* current = *head_ref;
struct node*next;
while (current != NULL)
{
next = current-> next;
current->next = prev;
prev = current;
current = next;
}
*head ref = prev;
}
main()
{
insertFirst(1,10);
insertFirst (2,20);
insertFirst (3,30);
insertFirst (4,1);
insertFirst (5,40);
insertFirst (6,56);
printf ("Orignal List:");
//print list
printlist();
while (!isEmpty())
{
struct node *temp = deleteFirst();
printf("\n Delete value:");
printf("%d,%d)", temp-> key, temp->data);
}
printf("\n List after deleting all items:");
printfList();
insertFirst (1,10);
insertFirst (2,20);
insertFirst (3, 30);
insertFirst (4,1);
insertFirst (5,40);
insert First (6,56);
printf("\nRestored List:");
printList ();
printf("\n");
struct node* foundLink = find (4);
if (foundLink!=NULL)
{
printf ("Element found:");
printf("%d,%d)", foundLink->key, foundLink->data);
printf("\n");
}
else
{
printf ("Element not found.");
}
delete (4);
printf("List after deleting an item:");
printList();
printf("\n");
foundLink = find (4);
if (foundLink != NULL)
{
printf("Element found:");
printf("%d,%d)", foundLink->key found Link->data);
printf("\n");
}
else
{
printf ("Element not found.");
}
printf("\n");
sort ();
printf("List after sorting the data:");
prinfList();
reverse (&head);
printf("\nList after reversing the data:");
printList();
}
If we compile and run the above program, it will produce the following result
Output
Original List:
[(6,56) (5, 40) (4, 1) (3,30) (2, 20) (1, 10)]
Deleted value:(6,56)
Deleted value:(5,40)
Deleted value:(4,1)
Deleted value:(3,30)
Deleted value:(2,20)
Deleted value: (1, 10)
List after deleting all items:
[]
Restored List:
[(6,56) (5,40) (4,1)(3,30) (2,20) (1, 10)]
Element found: (4, 1)
List after deleting an item:
[(6,56) (5,40) (3,30) (2,20)(1, 10)]
Element not found. List after sorting the data:
[(1,10) (2,20)(3,30) (5,40) (6,56)]
List after reversing the data:
[(6,56) (5,40) (3,30) (2,20)(1, 10)]

Labels: , ,

Rajasthan board RBSE Class 12 Computer Science Chapter 4 Stack and queue स्टैक और क्यू

Rajasthan Board RBSE Class 12 Computer Science Chapter 4 स्टैक और क्यू

RBSE Class 12 Computer Science Chapter 4 पाठ्यपुस्तक के प्रश्न

RBSE Class 12 Computer Science Chapter 4 वस्तुनिष्ठ प्रश्न

प्रश्न 1.
निम्न में से कौन-सा नाम स्टैक से सम्बन्धित नहीं है?
(अ) FIFOसूची
(ब) LIFOसूची
(स) POP
(द) PUSH
उत्तर:
(अ) FIFOसूची
प्रश्न 2.
शब्द Push और POP किस से सम्बन्धित है?
(अ) ऐरे
(ब) लिस्ट
(स) स्टैक
(द) ये सभी
उत्तर:
(स) स्टैक
प्रश्न 3.
एक डेटा स्ट्रक्चर जहाँ तत्त्वों का जोड़ना या हटाना किसी भी सिरे पर किया जा सकता है लेकिन बीच में नहीं।
(अ) लिंक लिस्ट
(ब) स्टैक
(स) क्यू
(द) डीक्यू
उत्तर:
(द) डीक्यू
प्रश्न 4.
ग्राफ में Breadth First Traversal के लिए आवश्यक डेटा स्ट्रक्चर है।
(अ) स्टैक
(ब) ऐरे
(स) क्यू
(द) ट्री (Tree)
उत्तर:
(स) क्यू
प्रश्न 5.
एक क्यू है
(अ) FIFO लिस्ट्र
(ब) LIFO लिस्ट
(स) ओर्डर्ड ऐरे
(द) रैखिक ट्री
उत्तर:
(अ) FIFO लिस्ट्र

RBSE Class 12 Computer Science Chapter 4 लघु उत्तरीय प्रश्न

प्रश्न 1.
स्टैक को परिभाषित कीजिए।
उत्तर-
स्टैक (Stack)-स्टैक एक एब्सट्रैक्ट डाटा टाइप (एडीटी) है जिसका प्रयोग आमतौर पर सभी प्रोग्रामिंग भाषाओं में किया जाता है। उदाहरण के लिए ताश के पत्तों की स्टैक या एक डेक या प्लेटों की स्टैक वास्तविक दुनिया में एक स्टैक की तरह बर्ताव करती है।
RBSE Solutions for Class 12 Computer Science Chapter 4 स्टैक और क्यू 1a
वास्तविक दुनिया में स्टैक केवल एक छोर पर ऑपरेशन की अनुमति देती है। उदाहरण के लिए-हम केवल कार्ड या प्लेट स्टैक के ऊपर से तत्त्व रख या निकाल सकते हैं। इसी तरह, स्टैक एडीटी केवल एक छोर पर डेटा के ऑपरेशन की अनुमति देता है। किसी भी समय, हम केवल स्टैक के शीर्ष तत्त्व का उपयोग कर सकते हैं। यह सुविधा स्टैक को LIFO (लास्ट-इन-फर्स्ट-आउट) डेटा स्ट्रक्चर बनाता है। यहाँ पर जो तत्त्व अंत में जोड़ा जाता है पहले हटाया जाता है स्टैक शब्दावली में जोड़ने को पुश (Push) तथा हटाने को पॉप (Pop) ऑपरेशन कहा जाता है।
प्रश्न 2.
क्यू को परिभाषित कीजिए।
उत्तर-
क्यू (Queue)-क्यू एक एब्सट्रेक्ट डेटा स्ट्रक्चर है जो कुछ हद तक स्टैक के समान है। स्टैक के विपरीत, एक क्यू अपने दोनों सिरों पर खुला होता है। एक सिरा तत्त्व को जोड़ने (enqueue) और दूसरा सिरा तत्त्व को हटाने (dequeue) के उपयोग में आता है। क्यू डेटा स्ट्रक्चर पहले आओ पहले जाओ (FIFO) के सिद्धान्त पर काम करता है अर्थात् , पहले संग्रहीत डेटा आइटम पहले हटा दिए जायेंगे।
RBSE Solutions for Class 12 Computer Science Chapter 4 स्टैक और क्यू 2a
क्यू के लिए एक वास्तविक दुनिया में एक सिंगल लेन का रोड जिसमें जो साधन पहले प्रवेश करेगा पहले बाहर आएगा एक उदाहरण के रूप में देखा जा सकता है।
RBSE Solutions for Class 12 Computer Science Chapter 4 स्टैक और क्यू 2a.1
प्रश्न 3.
पुश ऑपरेशन क्या है?
उत्तर-
पुश ऑपरेशन (Push Operation)-स्टैक में एक नया तत्त्व जोड़ने या डालने की प्रक्रिया को पुश ऑपरेशन कहते हैं। पुश ऑपरेशन निम्नलिखित स्टेप्स की एक श्रृंखला है।
Step 1 – Checks if the stack is full.
Step 2 – If the stack is full, produces an error and exit.
Step 3 – If the stack is not full, increments top to point next empty space.
Step 4 – Adds data elements to the stack location, where top is pointing.
RBSE Solutions for Class 12 Computer Science Chapter 4 स्टैक और क्यू 3a
Stack Step 5 Returns success.
यदि स्टैक को लिंक लिस्ट से इम्पलीमेंट करते है तो स्टेप 3 में डायनामिक मेमोरी आवंटित करनी होगी।
प्रश्न 4.
पॉप ऑपरेशन क्या है?
उत्तर-
पॉप ऑपरेशन (Pop Operation) : स्टैक से एक डेटा तत्त्व को हटाने की प्रक्रिया को पॉप ऑपरेशन कहते है। जब पॉप ऑपरेशन को एक ऐरे की मदद से इम्पलीमेंट करते है तो वास्तव में डाटा तत्त्व को हटाने की बजाए टॉप वेरिएबल को एक से घटाते है। जबकि लिस्ट से इम्पलीमेंट करने पर वास्तव में डाटा तत्त्व को हटा कर मेमोरी को deallocated किया जाता है पॉप ऑपरेशन । निम्नलिखित स्टेप्स की एक श्रृंखला है।
Step 1 – Checks if the stack is empty.
Step 2 – If the stack is empty, produces an error and exit.
Step 3 – If the stack is not empty, accesses the data element at which top is pointing.
Step 4 – Decreases the value of top by 1.
Step 5 – Returns success.
RBSE Solutions for Class 12 Computer Science Chapter 4 स्टैक और क्यू 4a

RBSE Class 12 Computer Science Chapter 4 निबंधात्मक प्रश्न

प्रश्न 1.
स्टैक डेटा स्ट्रक्चर के एप्लिकेशन को समझाइए।
उत्तर-
स्टैक डाटा स्ट्रक्चर एप्लिकेशन-निम्नलिखित कार्यों के लिये स्टैक का उपयोग किया जा सकता है
(क) अंकगणित अभिव्यक्ति मूल्यांकन (अर्थमैटिक एक्सप्रेशन इवैल्यूएशन)
(ख) बकट्रैकिंग
(ग) स्मृति प्रबन्धन (मैमोरी मैनेजमेंट)
(क) अंकगणित अभिव्यक्ति मूल्यांकन (अर्थमैटिक एक्सप्रेशन इवैल्यूएशन) – अर्थमैटिक एक्सप्रेशन लिखने के तरीके को नोटेशन कहते है। एक अर्थमैटिक एक्सप्रेशन को तीन अलग-अलग तरीकों लेकिन समान नोटेशन में लिख सकते है बिना सार या आउटपुट के बदले।
निम्नलिखित तीन नोटेशन है-
इन्फिक्स नोटेशन
उपसर्ग (पोलिश) नोटेशन
पोस्टफिक्स (रिवर्स पोलिश) नोटेशन
इन एक्सप्रेशन का नाम ऑपरेटर के उपयोग के अनुसार दिया गया है।
इन्फिक्स नोटेशन
हम एक एक्सप्रेशन a-b+c लिखते है जिसमें ऑपरेटर ऑपरेंड के मध्य इस्तेमाल किया गया है। ये एक इन्फिक्स नोटेशन है। इसका मनुष्य के लिये पढ़ना, लिखना और बोलना आसान है लेकिन कम्प्यूटिंग उपकरणों के लिए मुश्किल है एक एल्गोरिथ्म में इन्फिक्स। एक्सप्रेशन को प्रोसेस करने के लिए अधिक टाइम और स्पेस की आवश्यकता होती है।
उपसर्ग (पोलिश) नोटेशन
इस नोटेशन में ऑपरेटर ऑपरेंड के आगे लिखा होता है उदाहरण के लिए + ab जो कि इन्फिक्स नोटेशन a + b के समान है। उपसर्ग नोटेशन को पोलिश नोटेशन भी कहते है।
पोस्टफिक्स नोटेशन
पोस्टफिक्स नोटेशन को रिवर्स पोलिश नोटेशन कहते है। इसमें ऑपरेटर ऑपरेंड के बाद में होता है उदाहरण के लिए ab+ जो की इन्फिक्स नोटेशन a + b के समान है।
स्टैक का उपयोग एक नोटेशन को दूसरे नोटेशन में रूपान्तरण के लिए किया जाता है।
(ख) बकट्रैकिंग : बकट्रैकिंग का प्रयोग एल्गोरिथ्म में किया जाता है जहाँ किसी पथ के साथ स्टेप्स होते है जो किसी स्टार्ट पॉइंट से किसी उद्देश्य तक हो। उदाहरण के लिए
एक भूलभुलैया के माध्यम से अपना रास्ता सर्च करना।
एक ग्राफ में एक पॉइंट से दूसरे पॉइंट तक रास्ता पता करना।
उपरोक्त सभी मामलों में एक पॉइंट से दूसरे पॉइंट तक जाने के लिए बहुत सारे विकल्प होते है यदि एक पॉइंट से दूसरे पॉइंट पर जाने के बाद वापस पहले पॉइंट पर आना हो और अन्य विकल्प चुनना हो।
फिर, समाधान के लिए स्टैक का इस्तेमाल किया जा सकता है। रिकर्शन एक अन्य ईस्ट समाधान है जिसको स्टैक की मदद से इम्पलीमेंट कर सकते है।
(ग) स्मृति प्रबन्धन – कोई भी आधुनिक कम्प्यूटर अपने प्रोग्राम को रन करने के लिए प्राथमिक स्मृति प्रबन्धन मॉडल के रूप में एक स्टैक उपयोग करता है।
प्रश्न 2.
स्टैक ऑपरेशन को विस्तार से समझाइए।
उत्तर-
स्टैक ऑपरेशन-स्टैक ऑपरेशन का उपयोग स्टैक को इनिशलायजिंग और डीइनिशलायजिंग करने के लिए किया जाता है। इसके अलावा एक स्टैक निम्नलिखित दो प्राथमिक कार्यों के लिए प्रयोग किया जाता है
Push () – एक तत्त्व स्टैक में जोड़ना
Pop () – एक तत्त्व स्टैक से हटाना
पुश ऑपरेशन (Push Operation) – स्टैक में एक नया डेटा तत्त्व जोड़ने या डालने की प्रक्रिया को पुश ऑपरेशन कहते है। पुश ऑपरेशन निम्नलिखित स्टेप्स की एक श्रृंखला है।
Step 1 – Checks if the stack is full.
Step 2 – If the stack is full, produces an error and exit.
Step 3 – If the stack is not full, increments top to point next empty space.
Step 4 – Adds data element to the stack location, where top is pointing.
RBSE Solutions for Class 12 Computer Science Chapter 4 स्टैक और क्यू 2b
Stack Step 5 – Returns success.
यदि स्टैक का लिंक लिस्ट से इम्पलीमेंट करते है तो स्टेप 3 में डायनामिक मैमोरी आवंटित करनी होगी।
पॉप ऑपरेशन (Pop Operation) : स्टैक से एक डेटा तत्त्व को हटाने की प्रक्रिया को पॉप ऑपरेशन कहते है। जब पॉप ऑपरेशन को एक ऐरे की मदद से इम्पलीमेंट करते है तो वास्तव में डाटा तत्त्व को हटाने की बजाए टॉप वेरिएबल को एक से घटते है जबकि लिंक लिस्ट से इम्पलीमेंट करने पर वास्तव में डाटा तत्त्व को हटा कर मैमोरी को deallocates किया जाता है। पॉप ऑपरेशन
निम्नलिखित स्टेप्स की एक श्रृंखला है
Step 1 – Checks if the stack is empty.
Step 2 – If the stack is empty, produces an error and exit.
Step 3 – If the stack is not empty, accesses the data element at which top is pointing.
Step 4 – Decreases the value of top by 1.
Step 5 – Returns success.
RBSE Solutions for Class 12 Computer Science Chapter 4 स्टैक और क्यू 2b.1
प्रश्न 3.
विस्तार से सर्म्युलर क्यू को समझाइए।
उत्तर-
सर्म्युलर क्यू (Circular Queue) – सर्म्युलर क्यू को हम रिंग बफर (ring buffer) भी कहते हैं। स लर क्यू में जो अन्तिम नोड़ होता है वह सबसे पहले नोड से जुड़ा हुआ रहता है जिससे की circle का निर्माण होता है। यह FIFO के सिद्धान्त पर कार्य करता है। सलर क्यू में item को rear end से add किया जाता है तथा item को front end से remove किया जाता है।
RBSE Solutions for Class 12 Computer Science Chapter 4 स्टैक और क्यू 3b
सक्यूलर क्यू पर मुख्यत: दो प्रकार के ऑपरेशन्स परफॉर्म किए जा सकते हैं।
1. इन्सर्ट ऑपरेशन (Insert Operation) – सर्म्युलर क्यू में किसी तत्त्व को इन्सर्ट करने के लिए insert operations का प्रयोग किया जाता है।
एल्गोरिथ्म (Algorithm)
Step 1 – If REAR= SIZE-1 then
REAR=0
Else
REAR= REAR+1
Step 2 – If FRONT = REAR then
write (“Circular Queue Overflow”)
Step 3 – CQ[REAR]=X
Step 4 – If FRONT =-1 then
FRONT=0
2. डिलीट ऑपरेशन (Delete Operation) – सक्यूलर क्यू में से किसी तत्त्व को हटाने के लिए Delete ऑपरेशन का प्रयोग किया जाता है।
एल्गोरिथ्म (Algorithm)
Step 1 – If FRONT=-1 then
Write (“Circular Queue Underflow”)
Step 2 – Return (CQ[FRONT])
Step 3 – If FRONT = Size – 1 then
FRONT=0
Else
FRONT=FRONT +1
प्रश्न 4.
डीक्यू को समझाइए।
उत्तर-
डीक्यू (Dequeue) ऑपरेशन-डाटा तत्त्व को क्यू से हटाने का काम दो भागों में किया जाता है। एक उस डाटा तत्त्व को एक्सेस करना जहाँ पॉइंटर पॉइंट कर रहा हो और दूसरा उसको वहाँ से हटाना। निम्नलिखित स्टेप्स से डीक्यू ऑपरेशन परफॉर्म किया जाता है
Step 1 – heck if the queue is empty.
Step 2 – If the queue is empty, produce underflow error and exit.
Step 3 – If the queue is not empty, access the data where front is pointing.
Step 4 – Increment front pointer to point to the next available data element.
Step 5 – Return success.
RBSE Solutions for Class 12 Computer Science Chapter 4 स्टैक और क्यू 4b
डीक्यू (Dequeue) ऑपरेशन के लिए एल्गोरिथ्यम
procedure dequeue
if queue is empty
return underflow
end if
data = queue[front]
front ← front+1
return true
end procedure
डीक्यू (Dequeue) ऑपरेशन का C भाषा में इम्पलीमेंटेशन
int dequeue ()
{
if(isempty())
return 0;
int data = queue[front];
front = front +1;
return data;
}

RBSE Class 12 Computer Science Chapter 4 अन्य महत्त्वपूर्ण प्रश्न

RBSE Class 12 Computer Science Chapter 4 अतिलघु उत्तरीय प्रश्न

प्रश्न 1.
एक स्टैक को कैसे इम्पलीमेंट किया जाता है?
उत्तर-
एक स्टैक को ऐरे, स्ट्रक्चर, पॉइंटर और लिंक्ड लिस्ट के माध्यम से इम्पलीमेंट किया जा सकता है।
प्रश्न 2.
स्टैक में peak () फंक्शन का कार्य बताइए।
उत्तर-
peak() फंक्शन का कार्य स्टैक के शीर्ष डेटा तत्त्व को हटाये बिना प्राप्त करना है।
प्रश्न 3.
स्टैक में is full() फंक्शन का क्या कार्य है?
उत्तर-
isfull () फंक्शन स्टैक के भरे होने की जाँच करता है।
प्रश्न 4.
स्टैक में isEmpty () फंक्शन का क्या कार्य है?
उत्तर-
स्टैक में isEmpty () फंक्शन स्टैक के खाली होने की जाँच करता है।
प्रश्न 5.
पॉप (Pop) ऑपरेशन को एक ऐरे की मदद से इम्पलीमेंट करने पर क्या होता है?
उत्तर-
जब पॉप (Pop) ऑपरेशन को एक ऐरे की मदद से इम्पलीमेंट करते है, तो वास्तव में डाटा तत्त्व को हटाने की बजाए टॉप वेरिएबल को एक से घटाते है।
प्रश्न 6.
पॉप (Pop) ऑपरेशन को लिंक लिस्ट में इम्पलीमेंट करने पर क्या होता है?
उत्तर-
जब पॉप (Pop) ऑपरेशन को लिंक लिस्ट से इम्पलीमेंट करते है तो वास्तव में डाटा तत्त्व को हटा कर मैमोरी को deallocate किया जाता है।
प्रश्न 7.
स्टैक ऑपरेशन का मुख्य उपयोग बताइए।
उत्तर-
स्टैक ऑपरेशन का उपयोग स्टैक को इनिशलायजिंग और डीइनिशलायजिंग करने के लिए किया जाता है।
प्रश्न 8.
नोटेशन किसे कहते हैं?
उत्तर-
अर्थमैटिक एक्सप्रेशन लिखने के तरीके को नोटेशन कहते है।
प्रश्न 9.
क्या क्यू को इम्पलीमेंट किया जा सकता है?
उत्तर-
एक स्टैक की तरह क्यू को भी ऐरे, स्ट्रक्चर, पॉइंटर और लिंक्ड लिस्ट के माध्यम में इम्पलीमेंट किया जा सकता है।
प्रश्न 10.
क्यू (Queue) में कितने डाटा पॉइंटर होते है?
उत्तर-
क्यू (Queue) में दो डाटा पाइंटर होते है।
  • फ्रंट (Front)
  • रियर (Rear)

RBSE Class 12 Computer Science Chapter 4 लघु उत्तरीय प्रश्न

प्रश्न 1.
peek () फंक्शन के लिए एल्गोरिथ्म और C भाषा में इम्पलीमेंटेशन लिखिए।
उत्तर-
peek () फंक्शन के लिए एल्गोरिथ्म
begin procedure peek
return stack[top]
end procedure
peek() फंक्शन का C भाषा में इम्प्लीमेंटशन
int peek()
{
return stack[top];
}
प्रश्न 2.
isfull () फंक्शन के लिए एल्गोरिथ्म और C भाषा में इम्पलीमेंटेशन लिखिए।
उत्तर-
isfull () फंक्शन के लिए एल्गोरिथम
begin procedure isfull
is top equals to MAXSIZE
return true
else
return false
endif
end procedure
isfull() फंक्शन का C भाषा में इम्प्लीमेंटेशन
bool isfull()
ifr(top== MAXSIZE)
return true;
else
return false;
}
प्रश्न 3.
isempty () फंक्शन के लिए एल्गोरिथ्म और C भाषा में इम्पलीमेंटेशन लिखिए।
उत्तर-
isempty () फंक्शन के लिए एल्गोरिथ्म
begin procedure isempty
if top less than 1
return true
else
return false
endif
end procedure
isempty() फंक्शन का C भाषा में इम्प्लीमेंटेशन
Example
bool isempty()
{
if(top==-1)
return true;
else
return false;
}
प्रश्न 4.
पुश (Push) ऑपरेशन के लिए एल्गोरिथ्म और C में इम्प्लीमेंटेशन लिखिए।
उत्तर-
पुश ऑपरेशन के लिए एल्गोरिथ्यम
begin procedure push : stack, data
if stack is full
return null
endif
top ← top + 1
stack[top] ← data
end procedure
एल्गोरिथ्म का C में इम्प्लीमेंटेशन
void push(int data)
{
if(!isFull())
{
top = top + 1;
stack[top] = data;
}
else
{
printf(“Could not insert data, Stack is full.\n”);
}
}
प्रश्न 5.
पॉप (Pop) ऑपरेशन के लिए एल्गोरिथ्म और C में इम्लीमेंटेशन लिखिए।
उत्तर-
पॉप ऑपरेशन के लिए एल्गोरिथ्म
begin procedure push : stack
if stack is empty
return null
endif
data ← stack[top]
top ← top – 1
return data
end procedure
एल्गोरिथ्म को C का इम्प्लीमेंटेशन
int pop(int data)
{
if(!isempty())
{
data = stack[top];
top = top – 1;
return data;
}
else
{
printf(“Could not retrieve data, Stack is empty.\n”)’;
}
}
प्रश्न 6.
इन्फिक्स नोटेशन के विषय में बताइए।
उत्तर-
इन्फिक्स नोटेशन
हम एक एक्प्रेशन a-b + c लिखते है जिसमें ऑपरेटर ऑपरेंड के मध्य इस्तेमाल किया गया है। ये एक इन्फिक्स नोटेशन है। इसका मनुष्य के लिये पढ़ना, लिखना और बोलना आसान है लेकिन कम्प्यूटिंग उपकरणों के लिए मुश्किल है। एक एल्गोरिथ्म में इन्फिक्स एक्सप्रेशन को प्रोसेस करने के लिए अधिक टाइम और स्पेस की आवश्यकता होती है।
प्रश्न 7.
उपसर्ग (पोलिश) नोटेशन किसे कहते है?
उत्तर-
उपसर्ग (पोलिश) नोटेशन-इस नोटेशन में ऑपरेटर ऑपरेंड के आगे लिखा होता है उदाहरण के लिए +ab जो कि इन्फिक्स नोटेशन a + b के समान है उपसर्ग नोटेशन को पोलिश नोटेशन भी कहते है।
प्रश्न 8.
पोस्टफिक्स नोटेशन किसे कहते है?
उत्तर-
पोस्टफिक्स नोटेशन-पोस्टफिक्स नोटेशन को रिवर्स पोलिश नोटेशन कहते है इसमें ऑपरेटर ऑपरेंड के बाद में होता है उदाहरण के लिए ab+ जो की इन्फिक्स नोंटेश a + b के समान है।

RBSE Class 12 Computer Science Chapter 4 निबंधात्मक प्रश्न

प्रश्न 1.
क्यू (Queue) के कुशलता से उपयोग के लिए प्रयुक्त फंक्शन बताइए।
अथवा
क्यू (Queue) में उपयोग होने वाले प्रमुख फंक्शन्स के विषय में बताइए।
उत्तर-
क्यू के कुशलता से उपयोग के लिए निम्नलिखित फंक्शनस का उपयोग करते हैं
Peek() – क्यू के शीर्ष डेटा तत्त्व को हटये बिना प्राप्त करना,
isfull() – क्यू के भरे होने की जाँच करना,
isempty () – क्यू के खाली होने की जाँच करना
क्यू के सपोर्टिव फंक्शनस निम्न है।
peek ()
peek() फंक्शन के लिए एल्गोरिथ्म –
begin procedure peek
return queue[front]
end procedure
peek() फंक्शन का C भाषा में इम्प्लीमेंटेशन –
Example
int peek()
{
return queue[front];
isfull() फंक्शन के लिए एल्गोरिथ्म
begin procedure isfull
ifrear equals to MAXSIZE
return true
else
return false
endif
end procedure
isfull() फंक्शन का C भाषा में इम्प्लीमेंटेशन-
bool isfull()
{
if(rear== MAXSIZE-1)
return true;
else
return false;
}
isempty () :
isempty () फंक्शन के लिए एल्गोरिथ्म-
being procedure isempty
if front if less than MIN OR front is greater than rear
return true
else
return false
endif
end procedure
यदि फ्रंट का मान 0 से कम है तो इसका मतलब क्यू को इनिशलायज नहीं किया है और क्यू खाली है।
isempty() फंक्शन को C भाषा में इम्प्लीमेंटेशन-
bool isempty()
{
if(front<0|| front>rear)
return true;
else
return false;
प्रश्न 2.
क्यू (Queue) के बुनियादी ऑपरेशन कौन से है? किसी एक का वर्णन कीजिए।
अथवा
enqueue () ऑपरेशन के विषय में विस्तार से बताइए।
उत्तर-
क्यू के बुनियादी ऑपरेशन : क्यू ऑपरेशन का उपयोग क्यू को इनिशलायजिंग और डीइनिशलायजिंग करने के लिए किया जाता है। निम्नलिखित क्यू के बुनियादी ऑपरेशन है।
enqueue () – एक तत्त्व क्यू में जोड़ना
dequeue () – एक तत्त्व क्यू से हटाना
एनक्यू (Enqueue) ऑपरेशन – क्यू में दो डाटा पॉइंटर फ्रंट और रियर होते है इसलिए इसके ऑपरेशन स्टैक से कठिन होते है। क्यू में डाटा तत्त्व को जोड़ने (insert) के लिए निम्नलिखित स्टेप्स का उपयोग करते हैं।
Step 1 – Check if the queue if full.
Step 2 – If the queue is full, produce overflow error and exit.
Step 3 – If the queue is not full, increment rear pointer to point the next empty space.
Step 4 – Add data element to the queue location, where the rear is pointing.
Step 5 – return success.
RBSE Solutions for Class 12 Computer Science Chapter 4 स्टैक और क्यू 2
एनक्यू (Enqueue) ऑपरेशन के लिए एल्गोरिथ्म
procedure enqueue (data)
if queue is full
return overflow
endif
rear←rear +1
queue[rear]←data
return true
end procedure
एनक्यू (Enqueue) ऑपरेशन की C भाषा में इम्प्लीमेंटेशन
int enqueue (int data)
if(isfull())
return 0;
rear=rear +1;
queue[rear] = data;
return 1;
end procedure

Labels: , ,