Russia 10 класс Informatics (advanced)
अध्याय: 4
1. Digital literacy
Computer architecture · Software and file systems · Networks · Information security and cryptography
- कंप्यूटर और संगणन: विकास, भाग और इनपुट-आउटपुट उपकरण – कंप्यूटर एक इलेक्ट्रॉनिक मशीन है जो इनपुट लेती है, प्रोग्राम के अनुसार उस पर काम करती है, डेटा सहेजती है और आउटपुट देती है। अबेकस से स्मार्टफ़ोन तक उपकरण बदलते गए। हर कंप्यूटर में इनपुट इकाई, CPU, मेमोरी और आउटपुट इकाई होती है, जो बस और पोर्ट से जुड़ी रहती हैं।
- सॉफ़्टवेयर: सिस्टम और एप्लिकेशन, सामान्य और विशिष्ट – सॉफ़्टवेयर प्रोग्रामों का समूह है। सिस्टम सॉफ़्टवेयर (ऑपरेटिंग सिस्टम, डिवाइस ड्राइवर, यूटिलिटी, भाषा अनुवादक) कंप्यूटर को चलाता और सँभालता है। एप्लिकेशन सॉफ़्टवेयर उपयोगकर्ता का काम करता है। एप्लिकेशन सॉफ़्टवेयर सामान्य उद्देश्य (बहुत लोगों के लिए तैयार) या विशिष्ट उद्देश्य (एक संस्था के लिए बनवाया) हो सकता है।
- कंप्यूटर नेटवर्क: प्रकार, उपकरण और टोपोलॉजी – कंप्यूटर नेटवर्क डेटा और साधन बाँटने के लिए जुड़े उपकरणों का समूह है। क्षेत्र के हिसाब से नेटवर्क PAN, LAN, MAN और WAN हैं। उपकरणों के काम अलग हैं: मॉडेम डिजिटल और एनालॉग सिग्नल बदलता है, रिपीटर कमज़ोर सिग्नल मज़बूत करता है, हब डेटा सभी पोर्ट पर भेजता है, स्विच सिर्फ़ सही उपकरण को भेजता है, राउटर नेटवर्क जोड़कर रास्ता चुनता है, और गेटवे अलग प्रोटोकॉल वाले नेटवर्क जोड़ता है। टोपोलॉजी जुड़ाव का ढाँचा है: स्टार, बस, ट्री और मेश, हर एक के अपने गुण-दोष।
- क्रिप्टोग्राफी: गुप्त संदेश हमारे डेटा को कैसे बचाते हैं – क्रिप्टोग्राफी संदेशों को गुप्त और भरोसेमंद रखने का विज्ञान है. सादा संदेश (प्लेनटेक्स्ट) कुंजी (की) से मिलकर गुप्त संदेश (सिफ़रटेक्स्ट) बनता है, इसे एन्क्रिप्शन कहते हैं. सही कुंजी से वापस पढ़ना डिक्रिप्शन है. पुराना सीज़र सिफ़र अक्षरों को आगे खिसकाता है. आज सममित एन्क्रिप्शन (एक साझा कुंजी) और असममित यानी पब्लिक-की एन्क्रिप्शन (ताला लगाने को पब्लिक की, खोलने को प्राइवेट की) चलते हैं. हैशिंग डेटा की तय लंबाई वाली उँगली-छाप बनाती है, और डिजिटल हस्ताक्षर बताता है कि संदेश किसने भेजा. https वाली साइट खोलते या UPI से पैसे भेजते समय आपका फ़ोन ये सब इस्तेमाल करता है.
2. Theoretical foundations
Coding · Number systems · Algebra of logic · Number representation
- डेटा निरूपण: कंप्यूटर संख्या, अक्षर, चित्र और आवाज़ कैसे रखता है – डेटा कच्चे तथ्य हैं; अर्थ मिलने पर वह सूचना (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; यूनिकोड में हर लिपि है। बिटमैप चित्र पिक्सेल का जाल है; साइज़ = चौड़ाई × ऊँचाई × कलर डेप्थ। ध्वनि के सैंपल लिए जाते हैं: साइज़ = सैंपल रेट × बिट डेप्थ × सेकंड। वेक्टर चित्र पिक्सेल की जगह आकृतियाँ रखता है। कम्प्रेशन फ़ाइल छोटी करता है: लॉसलेस हर बिट बचाता है, लॉसी कुछ बारीकी हटा देता है।
- संख्या पद्धति और कूटन (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 बाइट) में सहेजा जाता है।
- बूलियन तर्क (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'। गेटों को जोड़कर लॉजिक सर्किट बनते हैं।
3. Algorithms and programming
Development tools · Number algorithms · Files · Subprograms and recursion · Numerical methods · Strings · Arrays and sorting
- पायथन की मूल बातें: मोड, वेरिएबल, डेटा प्रकार और ऑपरेटर – पायथन इंटरैक्टिव मोड (एक-एक पंक्ति) या स्क्रिप्ट मोड (सहेजी गई .py फ़ाइल) में चलता है। ब्लॉक इंडेंटेशन से पहचाने जाते हैं। वेरिएबल मान से बँधे नाम हैं; हर मान का एक डेटा प्रकार होता है, और कुछ प्रकार परिवर्तनशील हैं। ऑपरेटर व्यंजक बनाते हैं जिन्हें पायथन प्राथमिकता के क्रम से हल करता है। input() टेक्स्ट पढ़ता है, int()/float()/str() प्रकार बदलते हैं, और डिबगिंग से सिंटैक्स, रनटाइम और तार्किक त्रुटियाँ ठीक होती हैं।
- समस्या समाधान का परिचय – कंप्यूटर से समस्या हल करने के चरण: समस्या का विश्लेषण (इनपुट, आउटपुट, नियम), एल्गोरिद्म बनाना (सीमित, स्पष्ट, क्रमबद्ध चरण), प्रोग्रामिंग भाषा में कोड करना, अलग-अलग इनपुट से जाँचना (टेस्ट), और डीबग (गलतियाँ ढूँढकर हटाना)। एल्गोरिद्म को फ़्लोचार्ट (अंडाकार = शुरू/रुको, समांतर चतुर्भुज = इनपुट/आउटपुट, आयत = प्रक्रिया, हीरा = निर्णय, तीर = दिशा) या स्यूडोकोड (सरल संरचित भाषा) में दिखाते हैं। विघटन बड़ी समस्या को छोटी उप-समस्याओं में तोड़ता है।
- पायथन में फ़ाइल प्रबंधन: ऐसा डेटा सहेजें जो टिके – प्रोग्राम ख़त्म होते ही वेरिएबल मिट जाते हैं; फ़ाइलें डेटा डिस्क पर रखती हैं। टेक्स्ट फ़ाइल पंक्तियों में अक्षर रखती है, बाइनरी फ़ाइल कच्चे बाइट (जैसे pickle किए पायथन ऑब्जेक्ट), और CSV फ़ाइल अल्पविराम से अलग तालिका की पंक्तियाँ। फ़ाइल open(path, mode) से खुलती है; पाथ absolute या relative, मोड r, w, a, r+, rb, wb आदि। with फ़ाइल को अपने-आप बंद करता है। टेक्स्ट फ़ाइल में write, writelines, read, readline, readlines। seek फ़ाइल पॉइंटर खिसकाता है, tell उसकी जगह बताता है। pickle.dump और pickle.load से ऑब्जेक्ट सहेजते-पढ़ते हैं, जिससे रिकॉर्ड खोजना, जोड़ना और बदलना होता है। csv मॉड्यूल का writer (writerow, writerows) और reader CSV सँभालते हैं।
- पायथन में फ़ंक्शन: अपनी मशीनें ख़ुद बनाइए – फ़ंक्शन एक नाम वाला कोड-खंड है जो एक काम करता है। पायथन में बिल्ट-इन फ़ंक्शन (print, len), मॉड्यूल के फ़ंक्शन (math.sqrt, random.randint) और def से बने यूज़र-डिफ़ाइंड फ़ंक्शन होते हैं। कॉल में भेजे मान आर्ग्युमेंट हैं; उन्हें पकड़ने वाले नाम पैरामीटर हैं। आर्ग्युमेंट स्थान के अनुसार (positional), नाम से (keyword) या डिफ़ॉल्ट मान से आते हैं। return मान वापस भेजता है। पायथन ऊपर से नीचे चलता है, कॉल पर फ़ंक्शन में कूदता है और फिर लौट आता है। फ़ंक्शन के अंदर बने नाम लोकल, बाहर बने ग्लोबल होते हैं।
- Python में स्ट्रिंग – स्ट्रिंग अक्षरों का इम्यूटेबल अनुक्रम है जो एकल, दोहरे या तिहरे उद्धरण चिह्नों में लिखा जाता है। हर अक्षर का धनात्मक इंडेक्स (बाएँ से 0) और ऋणात्मक इंडेक्स (दाएँ से −1) होता है। संक्रियाएँ: + (जोड़ना), * (दोहराना), in / not in (सदस्यता) और स्लाइसिंग s[start:stop:step], जो start से stop तक (stop शामिल नहीं) अक्षर लेती है। ट्रैवर्सल = लूप से हर अक्षर पर जाना। len(), upper(), lower(), title(), capitalize(), count(), find(), index(), replace(), split(), join(), strip(), startswith(), endswith(), isalpha(), isdigit(), isalnum(), islower(), isupper(), isspace() जैसे मेथड मूल स्ट्रिंग बदले बिना नया मान देते हैं।
- पायथन में list: बनाना, ट्रैवर्स, बदलना और list मेथड – list वर्ग कोष्ठक में लिखा क्रमबद्ध, बदलने योग्य संग्रह है, जैसे [10, 20, 30]। आइटम इंडेक्स (0 से, या अंत से ऋणात्मक) और स्लाइस से मिलते हैं। for लूप से list ट्रैवर्स करते हैं, list परिवर्तनशील है इसलिए आइटम वहीं बदलते हैं, और फ़ंक्शन (len, max, min, sum, sorted, list) व मेथड (append, insert, extend, remove, pop, sort, reverse, count, index, clear) से काम करते हैं।
4. Information technologies
Documents and data analysis
- डेटा विश्लेषण – डेटा विश्लेषण यानी कच्चे आँकड़ों को जवाब में बदलना। इसका एक चक्र है: सवाल पूछो, डेटा इकट्ठा करो, साफ़ करो (ग़लती, दोहराव और खाली जवाब हटाओ), व्यवस्थित करो, माध्य, माध्यिका, परास और पैटर्न से विश्लेषण करो, सही चार्ट बनाओ और सावधानी से निष्कर्ष निकालो। बाहरी मान, छोटे नमूने और पक्षपात पर नज़र रखो, और याद रखो कि दो चीज़ों का साथ बढ़ना (सहसंबंध) यह साबित नहीं करता कि एक दूसरे का कारण है। डेटा को सुरक्षित रखना और अनुमति से इस्तेमाल करना भी ज़रूरी है।