National Year 12 Computer Science
अध्याय: 9
1. 4.1 Fundamentals of programming
4.1.1 Programming · 4.1.2 Procedural programming
- पायथन की मूल बातें: मोड, वेरिएबल, डेटा प्रकार और ऑपरेटर – पायथन इंटरैक्टिव मोड (एक-एक पंक्ति) या स्क्रिप्ट मोड (सहेजी गई .py फ़ाइल) में चलता है। ब्लॉक इंडेंटेशन से पहचाने जाते हैं। वेरिएबल मान से बँधे नाम हैं; हर मान का एक डेटा प्रकार होता है, और कुछ प्रकार परिवर्तनशील हैं। ऑपरेटर व्यंजक बनाते हैं जिन्हें पायथन प्राथमिकता के क्रम से हल करता है। input() टेक्स्ट पढ़ता है, int()/float()/str() प्रकार बदलते हैं, और डिबगिंग से सिंटैक्स, रनटाइम और तार्किक त्रुटियाँ ठीक होती हैं।
- सॉफ़्टवेयर विकास: विचार से चलते ऐप तक – अच्छा सॉफ़्टवेयर चरणों में बनता है: समस्या का विश्लेषण करके आवश्यकताएँ लिखो, हल डिज़ाइन करो, छोटे हिस्सों में कोड करो, सामान्य, सीमा और गलत डेटा से परीक्षण करो, उपयोगकर्ताओं तक पहुँचाओ और रखरखाव करो। वॉटरफ़ॉल हर चरण एक बार क्रम से करता है; एजाइल छोटे चक्र दोहराता है। मज़बूत प्रोग्राम इनपुट जाँचते हैं, और टीमें वर्ज़न कंट्रोल, साफ़ भूमिकाएँ और उपयोगकर्ता की राय इस्तेमाल करती हैं।
2. 4.2 Fundamentals of data structures (part 1)
Arrays and files
- डेटा संरचना: ऐरे, लिस्ट, स्टैक, क्यू और ट्री – डेटा संरचना मेमोरी में डेटा को ऐसे जमाने का तरीका है कि प्रोग्राम उसे अच्छे से इस्तेमाल कर सके। ऐरे चीज़ों को क्रमांकित डिब्बों में रखता है ताकि सूचकांक से तुरंत पहुँच हो। लिंक्ड लिस्ट नोड्स को पॉइंटर से जोड़ती है, इसलिए बीच में डालना आसान है। स्टैक LIFO (अंतिम आया, पहले गया) और क्यू FIFO (पहले आया, पहले गया) पर चलते हैं। डिक्शनरी कुंजी (key) से मान खोजती है और ट्री डेटा को स्तरों में रखता है ताकि खोज तेज़ हो।
3. 4.13 Systematic approach to problem solving
Software development stages
- सॉफ़्टवेयर विकास: विचार से चलते ऐप तक – अच्छा सॉफ़्टवेयर चरणों में बनता है: समस्या का विश्लेषण करके आवश्यकताएँ लिखो, हल डिज़ाइन करो, छोटे हिस्सों में कोड करो, सामान्य, सीमा और गलत डेटा से परीक्षण करो, उपयोगकर्ताओं तक पहुँचाओ और रखरखाव करो। वॉटरफ़ॉल हर चरण एक बार क्रम से करता है; एजाइल छोटे चक्र दोहराता है। मज़बूत प्रोग्राम इनपुट जाँचते हैं, और टीमें वर्ज़न कंट्रोल, साफ़ भूमिकाएँ और उपयोगकर्ता की राय इस्तेमाल करती हैं।
4. 4.4 Theory of computation (part 1)
4.4.1 Abstraction and automation · 4.4.2 Finite state machines
- परिमित अवस्था मशीन और औपचारिक भाषाएँ – परिमित अवस्था मशीन (FSM) में अवस्थाओं का एक सीमित समूह, इनपुट चिह्नों की वर्णमाला, एक आरंभ अवस्था, हर चिह्न पर अगली अवस्था बताने वाला संक्रमण नियम, और (स्वीकारक के लिए) स्वीकार अवस्थाएँ होती हैं। यह इनपुट स्ट्रिंग को एक-एक चिह्न पढ़ती है; अंत में स्वीकार अवस्था में हो तो स्ट्रिंग स्वीकार। मीली मशीन हर संक्रमण पर आउटपुट भी देती है। FSM जिन स्ट्रिंग्स को स्वीकार करती है वे रेगुलर भाषा बनाती हैं, जिसे रेगुलर एक्सप्रेशन से भी लिखा जा सकता है। कोष्ठकों जैसी नेस्टिंग वाली भाषाएँ कॉन्टेक्स्ट-फ़्री हैं और BNF नियमों या सिंटैक्स आरेख से लिखी जाती हैं।
5. 4.5 Fundamentals of data representation
Number systems and bases · Binary number system · Information coding · Images, sound and other data
- संख्या पद्धति और कूटन (Encoding) – संख्या पद्धति अंकों और आधार से संख्याएँ लिखने का तरीका है। दशमलव (आधार 10) में 0–9, बाइनरी (आधार 2) में 0 और 1, ऑक्टल (आधार 8) में 0–7, और हेक्साडेसिमल (आधार 16) में 0–9 और A–F। दशमलव से किसी आधार में: आधार से बार-बार भाग देकर शेष नीचे से ऊपर पढ़ें; भिन्न भाग के लिए आधार से गुणा करके पूर्णांक ऊपर से नीचे पढ़ें। दशमलव में: हर अंक × स्थानीय मान, फिर जोड़ें। बाइनरी ↔ ऑक्टल में 3 बिट के समूह, बाइनरी ↔ हेक्स में 4 बिट के। टेक्स्ट कूटन से रखा जाता है: ASCII (7 बिट, 128 अक्षर), ISCII (8 बिट, भारतीय लिपियाँ) और यूनिकोड (हर लिपि), जो UTF-8 (1–4 बाइट) या UTF-32 (4 बाइट) में सहेजा जाता है।
- डेटा निरूपण: कंप्यूटर संख्या, अक्षर, चित्र और आवाज़ कैसे रखता है – डेटा कच्चे तथ्य हैं; अर्थ मिलने पर वह सूचना (information) बनता है; जिस सूचना से हम काम ले सकें वह ज्ञान है। कंप्यूटर सारा डेटा बिट (0 या 1) में रखता है। 8 बिट = 1 बाइट; 1 kB = 1000 बाइट, 1 MB = 1000 kB, 1 GB = 1000 MB, 1 TB = 1000 GB। संख्याएँ बाइनरी में रहती हैं, जहाँ स्थानीय मान दोगुने होते जाते हैं: 1, 2, 4, 8… अक्षरों के लिए कैरेक्टर सेट होता है: ASCII में 'A' = 65; यूनिकोड में हर लिपि है। बिटमैप चित्र पिक्सेल का जाल है; साइज़ = चौड़ाई × ऊँचाई × कलर डेप्थ। ध्वनि के सैंपल लिए जाते हैं: साइज़ = सैंपल रेट × बिट डेप्थ × सेकंड। वेक्टर चित्र पिक्सेल की जगह आकृतियाँ रखता है। कम्प्रेशन फ़ाइल छोटी करता है: लॉसलेस हर बिट बचाता है, लॉसी कुछ बारीकी हटा देता है।
6. 4.6 Fundamentals of computer systems
Hardware and software · Languages and translators · Logic gates and Boolean algebra
- सॉफ़्टवेयर: सिस्टम और एप्लिकेशन, सामान्य और विशिष्ट – सॉफ़्टवेयर प्रोग्रामों का समूह है। सिस्टम सॉफ़्टवेयर (ऑपरेटिंग सिस्टम, डिवाइस ड्राइवर, यूटिलिटी, भाषा अनुवादक) कंप्यूटर को चलाता और सँभालता है। एप्लिकेशन सॉफ़्टवेयर उपयोगकर्ता का काम करता है। एप्लिकेशन सॉफ़्टवेयर सामान्य उद्देश्य (बहुत लोगों के लिए तैयार) या विशिष्ट उद्देश्य (एक संस्था के लिए बनवाया) हो सकता है।
- प्रोग्रामिंग भाषाएँ और अनुवादक (Translators) – CPU सिर्फ़ मशीन कोड चला सकता है: बाइनरी निर्देश। निम्न-स्तरीय भाषाएँ हैं मशीन कोड और असेंबली (LOAD, ADD जैसे छोटे शब्द, हर एक मशीन निर्देश के बराबर)। Python, Java, C जैसी उच्च-स्तरीय भाषाएँ लोगों के लिए पढ़ने-लिखने में आसान हैं, और एक पंक्ति कई मशीन निर्देश बन सकती है। अनुवादक कोड बदलते हैं: असेंबलर असेंबली को मशीन कोड में; कंपाइलर पूरे प्रोग्राम को चलने से पहले एक्ज़ीक्यूटेबल में; इंटरप्रेटर एक-एक पंक्ति अनुवाद करके चलाता है। कुछ भाषाएँ बाइटकोड बनाती हैं, जिसे वर्चुअल मशीन चलाती है।
- बूलियन तर्क (Boolean Logic) – बूलियन तर्क में केवल दो मान हैं: 1 (सत्य) और 0 (असत्य)। लॉजिक गेट इन पर काम करते हैं: NOT मान उलटता है; AND तभी 1 जब सभी इनपुट 1; OR तब 1 जब कोई भी इनपुट 1; NAND और NOR, AND और OR के उल्टे हैं; XOR तब 1 जब इनपुट अलग हों। सत्य सारणी हर इनपुट संयोजन का आउटपुट बताती है (n इनपुट पर 2ⁿ पंक्तियाँ)। डी मॉर्गन: (A·B)' = A' + B' और (A + B)' = A'·B'। गेटों को जोड़कर लॉजिक सर्किट बनते हैं।
7. 4.7 Computer organisation and architecture
Internal hardware and stored program · Processor and its components · External hardware
- कंप्यूटर और संगणन: विकास, भाग और इनपुट-आउटपुट उपकरण – कंप्यूटर एक इलेक्ट्रॉनिक मशीन है जो इनपुट लेती है, प्रोग्राम के अनुसार उस पर काम करती है, डेटा सहेजती है और आउटपुट देती है। अबेकस से स्मार्टफ़ोन तक उपकरण बदलते गए। हर कंप्यूटर में इनपुट इकाई, CPU, मेमोरी और आउटपुट इकाई होती है, जो बस और पोर्ट से जुड़ी रहती हैं।
- प्रोसेसर के अंदर: रजिस्टर, फ़ेच-एक्ज़िक्यूट चक्र, पता-विधान और इंटरप्ट – प्रोसेसर में ALU, नियंत्रण इकाई (CU), घड़ी और रजिस्टर (PC, MAR, MDR, CIR, संचायक ACC, स्टेटस रजिस्टर) होते हैं, जो पता बस, डेटा बस और नियंत्रण बस से मुख्य मेमोरी से जुड़े हैं। हर निर्देश फ़ेच होता है (MAR ← [PC]; MDR ← [मेमोरी], PC ← [PC] + 1; CIR ← [MDR]), opcode और operand में डिकोड होता है, फिर एक्ज़िक्यूट। ऑपरेंड तात्कालिक (ख़ुद मान) या प्रत्यक्ष (मेमोरी पता) हो सकता है। असेंबली में LDR, STR, ADD, SUB, CMP, B, BEQ जैसे संक्षेप हैं। प्रदर्शन कोर, कैश, घड़ी गति, शब्द लंबाई और बस चौड़ाई पर निर्भर है। इंटरप्ट में प्रोसेसर अस्थिर वातावरण स्टैक पर सहेजकर ISR चलाता है और फिर लौटता है।
- कंप्यूटर मेमोरी: इकाइयाँ, प्राथमिक और द्वितीयक, डेटा रिकवरी – कंप्यूटर सब कुछ बिट (0 या 1) में रखता है। 8 बिट = 1 बाइट, और हर बड़ी इकाई पिछली से 1024 गुना होती है। प्राथमिक मेमोरी (RAM, ROM, कैश) सीधे CPU के साथ काम करती है; द्वितीयक भंडारण (HDD, SSD, पेन ड्राइव) फ़ाइलें लंबे समय तक रखता है। डिलीट की गई फ़ाइल ओवरराइट होने तक अक्सर वापस मिल सकती है, इसलिए डेटा की सुरक्षा ज़रूरी है।
8. 4.8 Consequences of uses of computing
Moral, ethical, legal and cultural issues
जल्द आ रहा है
9. 4.9 Communication and networking (AS part)
Communication and networks
- नेटवर्क के प्रकार, टोपोलॉजी और प्रोटोकॉल: आकार, ढाँचा और नियम – नेटवर्क आकार से बँटते हैं: PAN (एक व्यक्ति के आस-पास कुछ मीटर), LAN (कमरा, इमारत या परिसर), MAN (शहर) और WAN (देश या दुनिया)। टोपोलॉजी नोड्स के जुड़ने का ढाँचा है: बस (सब एक बैकबोन केबल पर), स्टार (सब एक केंद्रीय हब या स्विच से) और ट्री (स्तरों में जुड़े स्टार)। प्रोटोकॉल नियमों का समूह है: TCP/IP इंटरनेट पर डेटा तोड़ता और रास्ता देता है, HTTP और HTTPS वेब पेज लाते हैं, FTP फ़ाइलें भेजता है, SMTP ईमेल भेजता है, POP3 ईमेल डाउनलोड करता है, PPP दो उपकरण सीधे जोड़ता है, TELNET दूर के कंप्यूटर में लॉग-इन कराता है, और VoIP इंटरनेट पर आवाज़ ले जाता है।