सामग्री पर जाएँ
Topos Uranos

सारांश

यह पाठ पाठ्यक्रम की सातवीं इकाई खोलता है, जो टेक्स्ट और फ़ाइलों को समर्पित है। यह समझाता है कि इकाई किसलिए है: टेक्स्ट को उसकी वास्तविक एन्कोडिंग के साथ डेटा के रूप में बरतना सिखाना, और ऐसे प्रोग्राम बनाना जो खराब फ़ॉर्मेट वाले इनपुट के सामने ढहे बिना फ़ाइलें पढ़ें और लिखें; इकाई के चार पाठ और उन्हें जोड़ने वाला सूत्र प्रस्तुत करता है; याद दिलाता है कि इकाई क्या पहले से ज्ञात मानती है, ख़ास तौर पर यह कि मशीन के लिए एक वर्ण एक संख्या है, और इकाई 5 और 6 के वेक्टर, रिकॉर्ड और फ़ंक्शन; उस समस्या को सामने रखता है जिसे इकाई हल करती है, यानी ऐसा प्रोग्राम जो सही दिखता है पर बिना चेतावनी के डेटा खो देता है, पहली अप्रत्याशित पंक्ति पर रुक जाता है और ASCII से बाहर के वर्णों वाले नामों को गलत मापता है; पहले से बताता है कि एक अक्षर हमेशा एक बाइट नहीं लेता; और दिखाता है कि इकाई कहाँ ले जाती है, इकाई 8 में और C++ में प्रोग्रामिंग II पाठ्यक्रम में।

अधिगम उद्देश्य

  1. इकाई की विषय-वस्तु के क्रम का वर्णन करना और समझाना कि हर पाठ अपने बाद वाले पाठ को क्या देता है।
  2. वर्णों के संख्यात्मक कोड के रूप में निरूपण (पाठ 2.4) को याद करना और किसी कोड को द्विआधारी और षोडशआधारी में लिखना।
  3. एक उदाहरण के सहारे पहले से समझ लेना कि एक अक्षर हमेशा एक बाइट नहीं होता, और इसलिए बाइट गिनना अक्षर गिनना नहीं है।
  4. पहचानना कि इकाई पूरी करने पर क्या कर पाना अपेक्षित है, और उसे उससे अलग करना जो आगे की इकाई में और C++ में प्रोग्रामिंग II में सीखा जाएगा।

प्रवेश मूल्यांकन

इकाई शुरू करने से पहले आरंभ-बिंदु को माप लेना उपयोगी है। यह मूल्यांकन एक स्व-मूल्यांकन है: इसमें अंक नहीं दिए जाते, और इसका एकमात्र उद्देश्य अध्ययन को दिशा देना है। पहले छह प्रश्न उसे जाँचते हैं जिसे इकाई ज्ञात मानती है: किसी वर्ण का कोड, किसी संख्या को द्विआधारी और षोडशआधारी में लिखना, बिट मास्क, अपने तत्वों को छाँटने वाला वेक्टर का ट्रैवर्सल, संख्या की जगह अक्षर मिलने पर पढ़ने के साथ क्या होता है, और रिकॉर्ड की परिभाषा। उसके बाद के चार प्रश्न, पाठों के क्रम में, इकाई के केंद्रीय विचारों को छूते हैं: कुछ न पाने वाली खोज क्या लौटाती है, ASCII से बाहर के अक्षर वाले शब्द का आकार, पढ़ने के दो तरीक़ों को मिलाने पर दिखने वाली खाली पंक्ति, और वह फ़ाइल जो खोली नहीं जा सकी। इन चार का सही उत्तर अभी देना किसी के लिए ज़रूरी नहीं, और कुछ में “मुझे अभी नहीं पता” एक ईमानदार उत्तर है: हर उत्तर, सही हो या ग़लत, बात को समझाता है और उस पाठ का नाम बताता है जिसमें वह बात आती है। यही कौशल अंत में, सारांश वाले पाठ में, फिर से मापे जाते हैं।

प्रवेश मूल्यांकन

इकाई शुरू करने से पहले अपना आरंभ बिंदु मापें। यह एक छोटा स्व-मूल्यांकन है: इस पर अंक नहीं दिए जाते और इसका परिणाम केवल आपके ब्राउज़र में रहता है।

  1. प्रश्न 1पिछली इकाइयों सेstd::println("{:d} {:d}", 'A', 'a'); क्या लिखता है?

  2. प्रश्न 2पिछली इकाइयों से233 को द्विआधारी और षोडशआधारी में कैसे लिखते हैं?

  3. प्रश्न 3पिछली इकाइयों से0xB1 & 0xC0 का मान क्या है?

  4. प्रश्न 4पिछली इकाइयों सेstd::vector<int> v{4, 7, 10, 3}; std::vector<int> w{}; for (const int x : v) { if (x % 2 == 0) { w.push_back(x); } } std::println("{}", w); क्या लिखता है?

  5. प्रश्न 5पिछली इकाइयों सेint n{-1}; std::cin >> n; के बाद उपयोगकर्ता abc टाइप करता है। n का मान क्या है और बाद की रीडिंग के साथ क्या होता है?

  6. प्रश्न 6पिछली इकाइयों सेनीचे दी गई परिभाषाओं में से कौन-सी शीर्षक और वर्ष वाले रिकॉर्ड को सही ढंग से घोषित करती है?

  7. प्रश्न 7यदि s है std::string s{"casa azul"};, तो s.find("x") क्या लौटाता है?

  8. प्रश्न 8UTF-8 में सहेजे गए प्रोग्राम में, जैसे इस पाठ्यक्रम के प्रोग्राम हैं, std::println("{}", std::string{"año"}.size()); क्या लिखता है?

  9. प्रश्न 9एक प्रोग्राम int age{}; std::string name{}; std::cin >> age; std::getline(std::cin, name); चलाता है और उपयोगकर्ता 36 टाइप करता है, Enter दबाता है, अनु टाइप करता है और Enter दबाता है। name में क्या बचता है?

  10. प्रश्न 10एक प्रोग्राम std::ifstream in{"data.txt"}; int x{-1}; in >> x; चलाता है, पर जिस फ़ोल्डर से वह चलाया जाता है उसमें data.txt मौजूद नहीं है। क्या होता है?