RBSE Class 12th 2020 (Supp.)-SS-01-2020 Previous Year Papers
Class 12th students hunting authentic previous year papers for (Supp.)-SS-01-2020 (2020) land here for a reason: the paper below matches how RBSE assessments are remembered from that year. RBSE Solution does not mix years on one page; each combination gets its own notes.
Skim the overview sections, then work through the scanned pages. Pair this practice with RBSE books and solutions when you need to relearn a concept a question exposed.
Paper details
Quick reference for this previous year papers page — confirm board, class, and year & subject before you study.
| Board | RBSE |
|---|---|
| Class | Class 12th |
| Exam year | 2020 |
| Subject | (Supp.)-SS-01-2020 |
| Resource type | Previous Year Papers |
| Category | RBSE Previous Year Question Papers |
| Website | RBSE Solution |
The table summarises this Previous Year Papers resource. Confirm RBSE, Class 12th, year 2020, and subject (Supp.)-SS-01-2020 before studying.
RBSE Solution organises previous year papers so each URL carries chapter-specific guidance — better for students and for search engines than one generic paragraph for the whole class.
Turning 2020 papers into insight
One (Supp.)-SS-01-2020 paper reveals style; several from the same year reveal pattern. After this page, open sibling subjects listed below to see whether marks cluster in certain units.
Keep rough work dated in your notebook. Examiners in Class 12th expect clear numbering even in practice sessions.
RBSE Class 12th 2020 (Supp.)-SS-01-2020
Scroll through the Previous Year Papers pages for (Supp.)-SS-01-2020 (2020).
Rajasthan Board Class 12th (Supp.)-SS-01-2020 2020 solved Previous Year Question Papers
सूचना प्रौद्योगिकी (INFORMATION TECHNOLOGY AND PROGRAMMING-ID) (Optional)
उच्च माध्यमिक पूरक परीक्षा, 2020
समय : 3½ घण्टे पूर्णांक : 56
No. of Questions — 30 No. of Printed Pages — 8
SS-(3-Info. Tech. (Opt.) (Supp.)
परीक्षार्थियों के लिए सामान्य निर्देश :
GENERAL INSTRUCTIONS TO THE EXAMINEES :
- परीक्षार्थी सर्वप्रथम अपने प्रश्न-पत्र पर नामांक अनिवार्यत: लिखें।
Candidate must write first his/her Roll No. on the question paper compulsorily. - सभी प्रश्न करने अनिवार्य हैं।
All the questions are compulsory.
SS-03-Info.Tech. (Opt.) (Supp.) [ Turn over
निर्देश / Instructions
(3) प्रत्येक प्रश्न का उत्तर दी गई उत्तर-पुस्तिका में ही लिखें ।
Write the answer to each question in the given answer-book only.
(4) जिन प्रश्नों में आन्तरिक खण्ड हैं, उन सभी के उत्तर एक साथ ही लिखें ।
For questions having more than one part, the answers to those parts are to be written together in continuity.
(5) प्रश्न-पत्र के हिन्दी व अंग्रेजी रूपांतर में किसी प्रकार की त्रुटि/अंतर/विरोधाभास होने पर हिन्दी भाषा के प्रश्न को ही सही मानें ।
If there is any error / difference / contradiction in Hindi & English versions of the question paper, the question of Hindi version should be treated valid.
(6) खण्ड प्रश्न संख्या अंक प्रत्येक प्रश्न
| खण्ड (Section) | प्रश्न संख्या (Q. Nos.) | अंक प्रति प्रश्न (Marks per question) |
|---|---|---|
| अ (A) | 1-3 | 1 |
| ब (B) | 4-24 | 2 |
| स (C) | 25-27 | 3 |
| द (D) | 28-30 | 4 |
(7) प्रश्न संख्या 28, 29 व 30 में आन्तरिक विकल्प हैं ।
Question Nos. 28, 29 and 30 have internal choices.
SS-03-Info.Tech. (Opt.) (Supp.)
खण्ड -अ
SECTION - A
-
लीनियर डाटा स्ट्रक्चर को परिभाषित कीजिए।
Define the Linear Data Structure.
उत्तर: लीनियर डाटा स्ट्रक्चर वह डाटा स्ट्रक्चर है जिसमें डेटा तत्व एक क्रम में व्यवस्थित होते हैं, जहाँ प्रत्येक तत्व का एक पूर्ववर्ती और एक अनुवर्ती होता है (पहले और अंतिम तत्व को छोड़कर)। उदाहरण: ऐरे, लिंक्ड लिस्ट, स्टैक, क्यू।
Answer: A linear data structure is one where data elements are arranged in a sequential order, where each element has a predecessor and a successor (except the first and last). Examples: Array, Linked List, Stack, Queue.
-
बाइनरी खोज की समय जटिलता क्या है?
What is the time complexity of Binary search?
उत्तर: बाइनरी खोज की समय जटिलता O(log n) है, जहाँ n तत्वों की संख्या है। यह केवल सॉर्ट किए गए डेटा पर लागू होती है।
Answer: The time complexity of Binary search is O(log n), where n is the number of elements. It is applicable only on sorted data.
-
स्टेबल सॉर्टिंग को परिभाषित कीजिए।
Define the stable sorting.
उत्तर: स्टेबल सॉर्टिंग वह सॉर्टिंग एल्गोरिथ्म है जो समान कुंजी वाले तत्वों के सापेक्ष क्रम को बनाए रखता है। उदाहरण: मर्ज सॉर्ट, इंसर्शन सॉर्ट।
Answer: Stable sorting is a sorting algorithm that maintains the relative order of elements with equal keys. Examples: Merge Sort, Insertion Sort.
-
एब्सट्रेक्ट डेटा स्ट्रक्चर का उदाहरण दीजिए।
Give the example of Abstract data structure.
उत्तर: एब्सट्रेक्ट डेटा स्ट्रक्चर (ADT) का उदाहरण: स्टैक, क्यू, लिस्ट, ट्री। ये डेटा और उन पर किए जाने वाले ऑपरेशनों को परिभाषित करते हैं, लेकिन कार्यान्वयन को छिपाते हैं।
Answer: Examples of Abstract Data Structure (ADT): Stack, Queue, List, Tree. These define data and operations on them, but hide the implementation.
-
डायनामिक डेटा स्ट्रक्चर का उदाहरण दीजिए।
Give the example of Dynamic data structure.
उत्तर: डायनामिक डेटा स्ट्रक्चर का उदाहरण: लिंक्ड लिस्ट, स्टैक (डायनामिक इम्प्लीमेंटेशन), क्यू (डायनामिक इम्प्लीमेंटेशन), ट्री। इनका आकार रनटाइम पर बदल सकता है।
Answer: Examples of Dynamic data structure: Linked List, Stack (dynamic implementation), Queue (dynamic implementation), Tree. Their size can change at runtime.
-
Linux OS में C++ प्रोग्राम को कम्पाइल करने की कमांड लिखिए।
Write the command to compile the C++ program in Linux OS.
उत्तर: Linux OS में C++ प्रोग्राम को कम्पाइल करने की कमांड है:
g++ filename.cpp -o outputfile(जहाँ filename.cpp स्रोत फ़ाइल है और outputfile आउटपुट फ़ाइल का नाम है)।Answer: The command to compile a C++ program in Linux OS is:
g++ filename.cpp -o outputfile(where filename.cpp is the source file and outputfile is the name of the output file). -
ऑपरेटर प्रिसीडेंस को परिभाषित कीजिए।
Define the Operator precedence.
उत्तर: ऑपरेटर प्रिसीडेंस वह नियम है जो यह निर्धारित करता है कि किसी एक्सप्रेशन में किस ऑपरेटर को पहले निष्पादित किया जाएगा। उदाहरण: गुणा और भाग, जोड़ और घटाव से पहले किए जाते हैं।
Answer: Operator precedence is the rule that determines which operator will be executed first in an expression. Example: Multiplication and division are performed before addition and subtraction.
-
फंक्शन ओवरलोडिंग क्या होती है?
What is the function overloading?
उत्तर: फंक्शन ओवरलोडिंग एक प्रोग्रामिंग अवधारणा है जिसमें एक ही नाम के कई फंक्शन होते हैं, लेकिन उनके पैरामीटर (प्रकार, संख्या या क्रम) अलग-अलग होते हैं। यह C++ में पॉलीमॉर्फिज्म का एक रूप है।
Answer: Function overloading is a programming concept where multiple functions have the same name but different parameters (type, number, or order). It is a form of polymorphism in C++.
SS-03-Info.Tech. (Opt.) (Supp.) [ Turn over
स्टैटिक मेम्बर फंक्शन को परिभाषित कीजिए |
Define the Static Member function.
Static Member Function: यह एक ऐसा सदस्य फंक्शन है जो किसी क्लास के सभी ऑब्जेक्ट्स के लिए साझा होता है। इसे static कीवर्ड से घोषित किया जाता है और यह केवल स्टैटिक डेटा मेम्बर्स तक ही पहुँच सकता है। इसे क्लास के नाम से सीधे कॉल किया जा सकता है, बिना ऑब्जेक्ट बनाए।
कॉपी कंस्ट्रक्टर क्या होता है ?
What is the copy constructor ?
Copy Constructor: यह एक विशेष प्रकार का कंस्ट्रक्टर है जो किसी ऑब्जेक्ट को उसी क्लास के किसी दूसरे ऑब्जेक्ट से कॉपी करके बनाने के लिए उपयोग होता है। इसे ClassName(const ClassName &obj) के रूप में परिभाषित किया जाता है। यह डीप कॉपी और शैलो कॉपी दोनों के लिए उपयोगी है।
ऐसे ऑपरेटर का नाम लिखिए जिसको ओवरलोड नहीं किया जा सकता है |
Give the name of operator that cannot be overloaded.
उत्तर: :: (स्कोप रिज़ॉल्यूशन ऑपरेटर), . (डॉट ऑपरेटर), .* (पॉइंटर टू मेंबर ऑपरेटर), ?: (टर्नरी ऑपरेटर), sizeof, और # (प्रीप्रोसेसर ऑपरेटर) को ओवरलोड नहीं किया जा सकता।
बहु मान एट्रीब्यूट को परिभाषित कीजिए |
Define the Multi valued attribute.
Multi-valued Attribute: यह एक ऐसा एट्रीब्यूट है जिसमें एक ही एंटिटी के लिए एक से अधिक मान हो सकते हैं। उदाहरण के लिए, किसी व्यक्ति के फोन नंबर (एक से अधिक नंबर) या किसी कर्मचारी के कौशल (एक से अधिक कौशल) बहु-मान एट्रीब्यूट हैं। इसे डेटाबेस में अलग तालिका के रूप में दर्शाया जाता है।
डाटा बेस स्कीमा क्या होती है ?
What is the Data Base Schema ?
Database Schema: यह डेटाबेस की संरचना का एक खाका (blueprint) है जो तालिकाओं, उनके कॉलम, डेटा प्रकार, संबंधों, और बाधाओं (constraints) को परिभाषित करता है। यह डेटाबेस के डिज़ाइन को दर्शाता है, न कि डेटा को।
खण्ड-ब
SECTION - B
समय जटिलता से आप क्या समझते हैं ?
What do you understand by Time Complexity ?
Time Complexity: यह किसी एल्गोरिथ्म के चलने में लगने वाले समय का माप है, जो इनपुट आकार (n) के फलन के रूप में व्यक्त किया जाता है। इसे बिग-ओ (Big-O) नोटेशन जैसे O(1), O(n), O(n²) आदि में दर्शाया जाता है। यह एल्गोरिथ्म की दक्षता को समझने में मदद करता है।
रिकर्शन फंक्शन के लिए शर्तें लिखिए |
Write the conditions for recursion functions.
रिकर्शन फंक्शन के लिए शर्तें:
- बेस केस (Base Case): एक ऐसी स्थिति होनी चाहिए जिसमें फंक्शन बिना खुद को कॉल किए सीधे परिणाम लौटा दे।
- रिकर्सिव केस (Recursive Case): फंक्शन को खुद को कॉल करना चाहिए, लेकिन हर कॉल में समस्या का आकार छोटा होना चाहिए।
- समाप्ति (Termination): रिकर्शन को अंततः बेस केस तक पहुँचना चाहिए, अन्यथा यह अनंत लूप में चला जाएगा।
इन-प्लेस सॉर्टिंग क्या होती है ?
What is the In-place sorting ?
In-place Sorting: यह एक सॉर्टिंग एल्गोरिथ्म है जो डेटा को सॉर्ट करने के लिए अतिरिक्त मेमोरी का उपयोग नहीं करता (या बहुत कम, जैसे O(1) या O(log n) अतिरिक्त स्थान) है। यह मूल डेटा संरचना में ही तत्वों को पुनर्व्यवस्थित करता है। उदाहरण: क्विक सॉर्ट, हीप सॉर्ट, इंसर्शन सॉर्ट।
SS-03-Info.Tech. (Opt.) (Supp.)
7. GRR और यूनियन में अन्तर स्पष्ट कीजिए | 2
Clear the difference between the Structure and Union.
Structure (संरचना): इसमें सभी सदस्यों के लिए अलग-अलग मेमोरी स्थान आवंटित होता है। सभी सदस्यों को एक साथ एक्सेस किया जा सकता है। इसका आकार सभी सदस्यों के आकार के योग के बराबर होता है।
Union (यूनियन): इसमें सभी सदस्य एक ही मेमोरी स्थान साझा करते हैं। एक समय में केवल एक सदस्य को एक्सेस किया जा सकता है। इसका आकार सबसे बड़े सदस्य के आकार के बराबर होता है।
8. स्कोप रिजोलुशन ऑपरेटर का क्या उपयोग है ? | 2
What is the use of Scope resolution operator ?
स्कोप रिजोलुशन ऑपरेटर (::) का उपयोग निम्नलिखित के लिए किया जाता है:
- किसी क्लास के बाहर उसके सदस्य फंक्शन को परिभाषित करने के लिए।
- ग्लोबल वेरिएबल को एक्सेस करने के लिए जब लोकल वेरिएबल का नाम समान हो।
- स्टैटिक वेरिएबल या फंक्शन को एक्सेस करने के लिए।
- नेमस्पेस में परिभाषित सदस्यों को एक्सेस करने के लिए।
9. फ्रेंड फंक्शन का क्या उपयोग है ? | 2
What is the use of Friend function ?
फ्रेंड फंक्शन का उपयोग किसी क्लास के प्राइवेट और प्रोटेक्टेड डेटा सदस्यों को क्लास के बाहर से एक्सेस करने के लिए किया जाता है। यह क्लास का सदस्य नहीं होता, लेकिन क्लास द्वारा इसे फ्रेंड घोषित किया जाता है, जिससे यह क्लास के सभी डेटा सदस्यों तक पहुँच प्राप्त कर लेता है। इसका उपयोग दो या अधिक क्लासों के बीच डेटा साझा करने के लिए किया जाता है।
20. SQL में SELECT स्टेटमेंट से आप क्या समझते हैं ? | 2
What do you understand by SELECT statement in SQL ?
SELECT स्टेटमेंट SQL में डेटा को क्वेरी करने और डेटाबेस तालिका से डेटा प्राप्त करने के लिए उपयोग किया जाता है। यह एक या अधिक कॉलम से डेटा को चुनने और प्रदर्शित करने की अनुमति देता है। इसका सामान्य सिंटैक्स है:
SELECT column1, column2, ... FROM table_name WHERE condition;
यह डेटा को फ़िल्टर, सॉर्ट और समूहित करने के लिए WHERE, ORDER BY, GROUP BY जैसे क्लॉज़ के साथ उपयोग किया जा सकता है।
21. MySQL में नया यूजर बनाने की कमांड लिखिए | 2
Write the command to create new user in MySQL.
MySQL में नया यूजर बनाने की कमांड निम्नलिखित है:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
उदाहरण:
CREATE USER 'raj'@'localhost' IDENTIFIED BY 'mypassword';
यह 'raj' नाम का एक नया यूजर बनाएगा जो केवल localhost से कनेक्ट हो सकता है और जिसका पासवर्ड 'mypassword' होगा।
22. कॉल-बाय वैल्यू और कॉल-बाय रेफरेंस में क्या अन्तर है ? | 2
What is the difference between call-by-value and call-by-reference ?
Call-by-value (मान द्वारा कॉल): इसमें फंक्शन को तर्कों की प्रतिलिपि भेजी जाती है। फंक्शन के अंदर किए गए परिवर्तन मूल वेरिएबल को प्रभावित नहीं करते। यह डेटा की सुरक्षा सुनिश्चित करता है लेकिन बड़े डेटा के लिए अधिक मेमोरी लेता है।
Call-by-reference (संदर्भ द्वारा कॉल): इसमें फंक्शन को तर्कों का पता (address) भेजा जाता है। फंक्शन के अंदर किए गए परिवर्तन मूल वेरिएबल को प्रभावित करते हैं। यह मेमोरी बचाता है लेकिन मूल डेटा को बदल सकता है।
23. PL/SQL में ट्रिगर्स को समझाइए | 2
Explain the Triggers in PL/SQL.
PL/SQL में ट्रिगर एक स्टोर्ड प्रोग्राम है जो किसी तालिका पर INSERT, UPDATE या DELETE जैसी घटना होने पर स्वचालित रूप से निष्पादित होता है। ट्रिगर निम्नलिखित प्रकार के होते हैं:
- BEFORE ट्रिगर: घटना से पहले निष्पादित होता है।
- AFTER ट्रिगर: घटना के बाद निष्पादित होता है।
- INSTEAD OF ट्रिगर: घटना के स्थान पर निष्पादित होता है (मुख्यतः व्यू पर)।
ट्रिगर का उपयोग डेटा अखंडता बनाए रखने, ऑडिट ट्रेल बनाने और व्यावसायिक नियमों को लागू करने के लिए किया जाता है।
24. PL/SQL में तीन प्रकार के exceptions के नाम लिखिए | 2
Write the name of three types of exceptions in PL/SQL.
PL/SQL में तीन प्रकार के exceptions (अपवाद) निम्नलिखित हैं:
- Pre-defined exceptions (पूर्व-परिभाषित अपवाद): जैसे NO_DATA_FOUND, TOO_MANY_ROWS, ZERO_DIVIDE आदि।
- User-defined exceptions (उपयोगकर्ता-परिभाषित अपवाद): प्रोग्रामर द्वारा अपनी आवश्यकता के अनुसार परिभाषित किए जाते हैं।
- Internal exceptions (आंतरिक अपवाद): सिस्टम द्वारा उत्पन्न होते हैं और इन्हें OTHERS हैंडलर द्वारा पकड़ा जा सकता है।
खण्ड-स
SECTION — C
-
25. °C भाषा में निम्न संख्याओं को त्वरित सॉर्टिंग विधि से सॉर्ट करने का प्रोग्राम लिखिए :
4, 6, 3, 2, 1, 9, 7Write the program in ‘C’ language to sort following numbers using Quick Sort.
4, 6, 3, 2, 1, 9, 7#include <stdio.h> void swap(int *a, int *b) { int t = *a; *a = *b; *b = t; } int partition(int arr[], int low, int high) { int pivot = arr[high]; int i = (low - 1); for (int j = low; j < high; j++) { if (arr[j] <= pivot) { i++; swap(&arr[i], &arr[j]); } } swap(&arr[i + 1], &arr[high]); return (i + 1); } void quickSort(int arr[], int low, int high) { if (low < high) { int pi = partition(arr, low, high); quickSort(arr, low, pi - 1); quickSort(arr, pi + 1, high); } } int main() { int arr[] = {4, 6, 3, 2, 1, 9, 7}; int n = sizeof(arr) / sizeof(arr[0]); quickSort(arr, 0, n - 1); printf("Sorted array: "); for (int i = 0; i < n; i++) printf("%d ", arr[i]); printf("\n"); return 0; }Output: 1 2 3 4 6 7 9
-
26. स्टैक के उपयोग को विस्तार से बताइए।
Explain the use of Stack in details.
स्टैक (Stack) एक LIFO (Last In First Out) डेटा संरचना है। इसके प्रमुख उपयोग निम्नलिखित हैं:
- फंक्शन कॉल्स (Function Calls): किसी प्रोग्राम में फंक्शन कॉल करने पर रिटर्न एड्रेस और लोकल वेरिएबल्स स्टैक में स्टोर होते हैं। फंक्शन रिटर्न होने पर ये पुनः प्राप्त होते हैं।
- एक्सप्रेशन इवैल्यूएशन (Expression Evaluation): इनफिक्स, पोस्टफिक्स और प्रीफिक्स एक्सप्रेशन को हल करने में स्टैक का उपयोग होता है।
- रिकर्शन (Recursion): रिकर्सिव फंक्शन कॉल्स को स्टैक के माध्यम से मैनेज किया जाता है।
- अंडू/रीडू (Undo/Redo): एडिटर या सॉफ्टवेयर में पिछली क्रियाओं को स्टैक में स्टोर करके अंडू/रीडू कार्य किया जाता है।
- पार्सिंग (Parsing): HTML, XML या कोड पार्स करने में स्टैक का उपयोग होता है (जैसे टैग मैचिंग)।
- बैकट्रैकिंग (Backtracking): पहेली सुलझाने, मेज़ से बाहर निकलने जैसी समस्याओं में स्टैक का उपयोग होता है।
-
27. लिंक लिस्ट में आप किसी नोड को कैसे डिलीट करते हैं? समझाइये।
How do you delete a node in Link List? Explain.
लिंक्ड लिस्ट में नोड डिलीट करने के तीन मुख्य मामले हैं:
- पहला नोड (Head) डिलीट करना: हेड पॉइंटर को अगले नोड पर शिफ्ट करें और पुराने हेड को फ्री करें।
- बीच का नोड डिलीट करना: डिलीट होने वाले नोड के पिछले नोड के next को डिलीट नोड के अगले नोड से जोड़ें, फिर डिलीट नोड को फ्री करें।
- अंतिम नोड डिलीट करना: अंतिम नोड से पहले वाले नोड के next को NULL करें और अंतिम नोड को फ्री करें।
उदाहरण (C में):
void deleteNode(struct Node** head_ref, int key) { struct Node *temp = *head_ref, *prev = NULL; // अगर हेड नोड ही डिलीट करना है if (temp != NULL && temp->data == key) { *head_ref = temp->next; free(temp); return; } // बीच या अंत का नोड ढूंढें while (temp != NULL && temp->data != key) { prev = temp; temp = temp->next; } if (temp == NULL) return; // key नहीं मिली prev->next = temp->next; free(temp); } -
28. पैरामीटराइज्ड कंस्ट्रक्टर को उदाहरण से समझाइये।
Explain the parameterized constructor with the help of example.
पैरामीटराइज्ड कंस्ट्रक्टर वह कंस्ट्रक्टर है जो ऑब्जेक्ट बनाते समय आर्गुमेंट (पैरामीटर) लेता है। इससे ऑब्जेक्ट को इनिशियल वैल्यू दे सकते हैं।
उदाहरण (C++):
#include <iostream> using namespace std; class Student { int roll; string name; public: // पैरामीटराइज्ड कंस्ट्रक्टर Student(int r, string n) { roll = r; name = n; } void display() { cout << "Roll: " << roll << ", Name: " << name << endl; } }; int main() { Student s1(101, "Ravi"); // कंस्ट्रक्टर को आर्गुमेंट दिए s1.display(); return 0; }व्याख्या:
Student(int r, string n)पैरामीटराइज्ड कंस्ट्रक्टर है। जबs1ऑब्जेक्ट बनता है, तो इसे101और"Ravi"वैल्यू मिलती हैं, जो मेंबर वेरिएबल्स को इनिशियलाइज़ करती हैं।अथवा / OR
बाइनरी प्लस (+) ऑपरेटर को ओवरलोड करते हुए निम्नलिखित दो मैट्रिक्स का योग करने का प्रोग्राम C++ में लिखिए :
| 1 2 3 | | 7 8 9 |
| 4 5 6 | + | 1 2 3 |Write a program to add following matrixes in C++ using binary + operator overloading.
#include <iostream> using namespace std; class Matrix { int arr[2][3]; public: void input() { cout << "Enter 6 elements (2x3): "; for(int i=0; i<2; i++) for(int j=0; j<3; j++) cin >> arr[i][j]; } void display() { for(int i=0; i<2; i++) { for(int j=0; j<3; j++) cout << arr[i][j] << " "; cout << endl; } } // + ऑपरेटर ओवरलोडिंग Matrix operator+(Matrix m) { Matrix temp; for(int i=0; i<2; i++) for(int j=0; j<3; j++) temp.arr[i][j] = arr[i][j] + m.arr[i][j]; return temp; } }; int main() { Matrix m1, m2, m3; cout << "Matrix 1:" << endl; m1.input(); cout << "Matrix 2:" << endl; m2.input(); m3 = m1 + m2; // ऑपरेटर ओवरलोडिंग का उपयोग cout << "Sum of matrices:" << endl; m3.display(); return 0; }व्याख्या:
operator+फंक्शन दो मैट्रिक्स के संगत तत्वों को जोड़ता है और नई मैट्रिक्स लौटाता है।m1 + m2कॉल करने पर यह ओवरलोडेड ऑपरेटर काम करता है।
SS-03-Info.Tech. (Opt.) (Supp.)
प्रश्न 29
एक स्कूल प्रबंधन प्रणाली के लिए E-R आरेख बनाइये | इस E-R आरेख में प्रयुक्त प्रत्येक प्रतीक की उपयोगिता समझाइए |
E-R आरेख (स्कूल प्रबंधन प्रणाली)
E-R आरेख में निम्नलिखित संस्थाएँ (Entities) और संबंध (Relationships) होंगे:
- संस्थाएँ: छात्र (Student), शिक्षक (Teacher), कक्षा (Class), विषय (Subject), पाठ्यक्रम (Course)
- संबंध:
- छात्र कक्षा में पढ़ता है (Many-to-One)
- शिक्षक विषय पढ़ाता है (One-to-Many)
- कक्षा में विषय पढ़ाए जाते हैं (Many-to-Many)
प्रतीकों की उपयोगिता:
- आयत (Rectangle): संस्था (Entity) को दर्शाता है, जैसे छात्र, शिक्षक।
- समचतुर्भुज (Diamond): संबंध (Relationship) को दर्शाता है, जैसे "पढ़ता है", "पढ़ाता है"।
- अंडाकार (Ellipse): गुण (Attribute) को दर्शाता है, जैसे छात्र का नाम, रोल नंबर।
- रेखा (Line): संस्था और संबंध या गुण को जोड़ती है।
- डबल आयत (Double Rectangle): कमजोर संस्था (Weak Entity) को दर्शाता है।
- डबल अंडाकार (Double Ellipse): बहुमान गुण (Multivalued Attribute) को दर्शाता है।
अथवा
द्वितीय नॉर्मल फॉर्म को उदाहरण सहित समझाइये |
द्वितीय नॉर्मल फॉर्म (2NF)
द्वितीय नॉर्मल फॉर्म (2NF) में टेबल को 1NF में होना चाहिए और सभी गैर-प्रमुख गुण (Non-prime attributes) पूर्ण रूप से प्राथमिक कुंजी (Primary Key) पर निर्भर होने चाहिए। इसका मतलब है कि कोई आंशिक निर्भरता (Partial Dependency) नहीं होनी चाहिए।
उदाहरण:
मान लीजिए एक टेबल छात्र_पाठ्यक्रम है:
| छात्र_ID | पाठ्यक्रम_ID | छात्र_नाम | पाठ्यक्रम_नाम |
|---|---|---|---|
| 101 | C01 | राम | गणित |
| 102 | C02 | श्याम | विज्ञान |
यहाँ प्राथमिक कुंजी (छात्र_ID, पाठ्यक्रम_ID) है। लेकिन छात्र_नाम केवल छात्र_ID पर निर्भर है, पूरी कुंजी पर नहीं। यह आंशिक निर्भरता है।
2NF में बदलने के लिए:
- टेबल 1: छात्र (छात्र_ID, छात्र_नाम)
- टेबल 2: पाठ्यक्रम (पाठ्यक्रम_ID, पाठ्यक्रम_नाम)
- टेबल 3: नामांकन (छात्र_ID, पाठ्यक्रम_ID)
अब कोई आंशिक निर्भरता नहीं है, इसलिए यह 2NF में है।
प्रश्न 30
मल्टीपल इनहेरिटेंस को उदाहरण द्वारा समझाइये |
मल्टीपल इनहेरिटेंस (Multiple Inheritance)
मल्टीपल इनहेरिटेंस एक ऐसी सुविधा है जिसमें एक क्लास एक से अधिक बेस क्लास से गुण और विधियाँ प्राप्त कर सकती है। यह C++ जैसी भाषाओं में समर्थित है, लेकिन Java में नहीं।
उदाहरण (C++ में):
class पिता {
public:
void पिता_गुण() {
cout << "पिता के गुण" << endl;
}
};
class माता {
public:
void माता_गुण() {
cout << "माता के गुण" << endl;
}
};
class बच्चा : public पिता, public माता {
public:
void बच्चा_गुण() {
cout << "बच्चा के गुण" << endl;
}
};
int main() {
बच्चा b;
b.पिता_गुण(); // पिता से
b.माता_गुण(); // माता से
b.बच्चा_गुण(); // अपने
return 0;
}
यहाँ बच्चा क्लास पिता और माता दोनों से इनहेरिट करता है, इसलिए यह मल्टीपल इनहेरिटेंस का उदाहरण है।
अथवा
सी प्रोग्रामिंग भाषा में प्रयुक्त मेमोरी एलोकेशन और प्रबन्धन के फंक्शन को समझाइये |
C में मेमोरी एलोकेशन और प्रबंधन फंक्शन
C भाषा में डायनामिक मेमोरी एलोकेशन के लिए निम्नलिखित फंक्शन का उपयोग किया जाता है, जो stdlib.h हेडर फाइल में परिभाषित हैं:
- malloc(): मेमोरी का एक ब्लॉक आवंटित करता है। सिंटैक्स:
void* malloc(size_t size); - calloc(): कई ब्लॉक आवंटित करता है और प्रत्येक को 0 से इनिशियलाइज़ करता है। सिंटैक्स:
void* calloc(size_t num, size_t size); - realloc(): पहले से आवंटित मेमोरी का आकार बदलता है। सिंटैक्स:
void* realloc(void* ptr, size_t new_size); - free(): आवंटित मेमोरी को मुक्त करता है। सिंटैक्स:
void free(void* ptr);
उदाहरण:
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr;
int n = 5;
// malloc का उपयोग
arr = (int*)malloc(n * sizeof(int));
if (arr == NULL) {
printf("मेमोरी आवंटन विफल\n");
return 1;
}
// मान सेट करना
for (int i = 0; i < n; i++) {
arr[i] = i + 1;
}
// मान प्रिंट करना
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
// मेमोरी मुक्त करना
free(arr);
return 0;
}
महत्वपूर्ण बिंदु:
mallocऔरcallocहमेशाvoid*लौटाते हैं, इसलिए टाइप कास्टिंग आवश्यक है।- मेमोरी लीक से बचने के लिए
free()का उपयोग अनिवार्य है। reallocका उपयोग मेमोरी का आकार बढ़ाने या घटाने के लिए किया जाता है।