शुरू करें

उदाहरण से जानें

किसी नई भाषा में प्रोग्राम करने का सबसे अच्छा तरीका, बहुत सारे प्रोग्राम और बहुत सारे उदाहरण देखना है. सबसे अच्छा तरीका यह है कि यहां दिए गए हर प्रोग्राम को कॉपी करके, किसी टेक्स्ट फ़ाइल में चिपकाएं और उसे कंपाइल करें. इसके बाद, एक्सपेरिमेंट आज़माएं. उदाहरण के तौर पर दिए गए इन प्रोग्राम को आगे बढ़ाने पर, आपको C++ के अलग-अलग पहलुओं के बारे में पता चल जाएगा. साथ ही, नए प्रोग्राम बनाने के लिए, आपको ज़्यादा आत्मविश्वास महसूस होगा.

उदाहरण 1: अपने कंपाइलर को चालू करें!

अगर आपने पहले से ऐसा नहीं किया है, तो नीचे दिए गए क्लासिक प्रोग्राम को कॉपी करके किसी टेक्स्ट फ़ाइल में चिपकाएं और उसे कंपाइल करें. कंपाइल करने के निर्देश यहां उपलब्ध हैं.

ऐसा हो सकता है कि आपने ट्यूटोरियल में इस प्रोग्राम के बारे में दी गई जानकारी पर काम किया हो. इसलिए, हम यहां पंक्ति के हिसाब से जानकारी नहीं देंगे. हालांकि, रीडबिलिटी से जुड़ी कुछ बातों का ध्यान रखना ज़रूरी है. इसका मतलब उन टिप्पणियों और फ़ॉर्मैट से है जिनकी मदद से प्रोग्राम को पढ़ना, समझना, और बनाए रखना आसान हो जाता है.

  • हम जो भी प्रोग्राम लिखते हैं उसकी शुरुआत एक हेडर टिप्पणी से होती है. इसमें लेखक का नाम, उनकी संपर्क जानकारी, कम शब्दों में जानकारी, और इस्तेमाल (अगर ज़रूरी हो) की जानकारी होती है. हर फ़ंक्शन की शुरुआत, कार्रवाई और उसके इस्तेमाल पर टिप्पणी करने से होती है.
  • जब कोड अपने-आप दस्तावेज़ नहीं बनाता, तो हम पूरे वाक्यों का इस्तेमाल करके टिप्पणियां जोड़ते हैं. उदाहरण के लिए, जब प्रोसेसिंग मुश्किल, समझ में न आने वाली, दिलचस्प या ज़रूरी हो.
  • हमेशा जानकारी देने वाले नाम का इस्तेमाल करें: वैरिएबल छोटे अक्षरों में लिखे गए शब्द होते हैं, जिन्हें _ से अलग किया जाता है, जैसे कि my_variable. फ़ंक्शन के नाम, शब्दों को MyExtingFunction() के तौर पर मार्क करने के लिए अपर-केस अक्षरों का इस्तेमाल करते हैं. कॉन्सटेंट की शुरुआत "k" से होती है और शब्दों को मार्क करने के लिए अपर-केस के अक्षरों का इस्तेमाल किया जाता है, जैसे कि kDaysInWeek.
  • इंडेंट दो के गुणज में होता है. पहला लेवल दो स्पेस है. अगर और इंडेंट की ज़रूरत है, तो हम चार स्पेस, छह स्पेस वगैरह का इस्तेमाल करते हैं.
// hello.cpp: Maggie Johnson
// Description: a program that prints the immortal saying "hello world"

#include <iostream>
using namespace std;

int main() {
  cout << "Hello World!" << endl;
  return 0;
}

आज़माने के लिए कुछ एक्सपेरिमेंट:

  • सबसे ज़रूरी बात यह है कि आप इस प्रोग्राम को कंपाइल करके चला सकें.
  • "नमस्ते दुनिया!" प्रिंट करने के लिए ऊपर दिए गए प्रोग्राम में बदलाव करें छह लाइन के लिए एक लाइन पर चार बार, जहां हर लाइन को 17 स्पेस वाले फ़ील्ड में प्रिंट किया जाता है. ऐसा करने के लिए लूप के लिए इस्तेमाल करें. कोट के साथ आउटपुट को फ़ॉर्मैट करने के बारे में जानने के लिए, यहां क्लिक करें. समस्या का हल देखने के लिए, यहां क्लिक करें.
  • आपने जिस प्रोग्राम को अभी-अभी पूरा किया है उसका इस्तेमाल करके, 17 स्पेस के फ़ील्ड में बाईं ओर अलाइन किए गए "नमस्ते दुनिया!" को प्रिंट करने का तरीका जानें. आम तौर पर, डिफ़ॉल्ट तौर पर दाईं ओर अलाइन किया जाता है. समाधान देखने के लिए यहां क्लिक करें.

उदाहरण 2: कुछ इनपुट पाएं

C++ में, सिन का इस्तेमाल करके कीबोर्ड से इनपुट पाना आसान है. उदाहरण के लिए:

// get_input.cpp: Maggie Johnson
// Description: Illustrate the use of cin to get input.

#include <iostream>
using namespace std;

int main() {
  int input_var = 0;
  // Enter the do while loop and stay there until either
  // a non-numeric is entered, or -1 is entered. Note that
  // cin will accept any integer, 4, 40, 400, etc.
  do {
    cout << "Enter a number (-1 = quit): ";
    // The following line accepts input from the keyboard into
    // variable input_var.
    // cin returns false if an input operation fails, that is, if
    // something other than an int (the type of input_var) is entered.
    if (!(cin >> input_var)) {
      cout << "You entered a non-numeric. Exiting..." << endl;
      break;
      // exit the do while loop
    }
    if (input_var != -1) {
      cout << "You entered " << input_var << endl;
    }
  } while (input_var != -1);
  cout << "All done." << endl;
  return 0;
}

एक्सपेरिमेंट:

  • जब कोई इनपुट गड़बड़ी होती है, तो स्ट्रीम "ब्रेक", सिन 'गलत' दिखाती है, और प्रोग्राम रुक जाता है. इस तरह की गड़बड़ियों से बचना बहुत ज़रूरी है, जैसा कि हमने ऊपर दिए गए प्रोग्राम में किया था. हालांकि, अगर हम प्रोग्राम को बंद करने के बजाय, गड़बड़ी को ठीक करना चाहें, तो क्या होगा? गड़बड़ी को ठीक करने के दो तरीके हैं:
    1. cin.clear() से गड़बड़ी साफ़ करें.
    2. स्ट्रीम से गलत वर्णों को हटा दें. ऐसा करने का एक तरीका cin.ignore() का इस्तेमाल करना है.

इन दो चरणों का इस्तेमाल करके, ऐसा प्रोग्राम लिखें जो खराब इनपुट के विकल्पों को ठीक कर दे. Google पर देखें कि ये तरीके कैसे काम करते हैं. हमारा समाधान यहां है.

उदाहरण 3: इस प्रोग्राम का क्या नतीजा होता है?

#include <iostream>
using namespace std;

int main() {
  cout << " 1\t2\t3\t4\t5\t6\t7\t8\t9" << endl << "" << endl;
  for (int c = 1; c < 10; c++) {
    cout << c << "| ";
    for (int i = 1; i < 10; i++) {
      cout << i * c << '\t';
    }
    cout << endl;
  }
  return 0;
} 

उदाहरण 4: डिकंपोज़ करने से सब कुछ आसान हो जाता है...

अब समय आ गया है कि हम कंप्यूटर गेम लिखना शुरू करें! यह पहला सवाल थोड़ा आसान है, लेकिन यह तो बस शुरुआत है. हमारा काम एक ऐसा प्रोग्राम तैयार करना है जिसमें अनुमान लगाने वाले गेम का इस्तेमाल किया जाए. हमारा प्रोग्राम 0 से 100 के बीच का कोई नंबर जनरेट करता है. खिलाड़ी को सीक्रेट नंबर का अनुमान लगाना होगा. इस प्रोग्राम में, "यह बहुत ज़्यादा है" या "यह बहुत कम है" जैसे संकेत तब तक दिए जाते हैं, जब तक खिलाड़ी सीक्रेट नंबर का अनुमान नहीं लगा लेता.

हम इस गेम पर तीन चरणों में काम करेंगे. 

  1. पता लगाएं कि वैल्यू की दी गई रेंज में कोई नंबर कैसे जनरेट किया जाता है.
  2. एक ऐसा मुख्य फ़ंक्शन बनाएं जो प्लेयर से लगाए गए एक अनुमान को प्रोसेस करे और संकेत दे.
  3. जोड़ें कि जब तक खिलाड़ी गेम की संख्या का अनुमान नहीं लगा लेता, तब तक कई बार अनुमान लगाने के लिए हमें क्या अनुमति देनी होगी.

डेवलपमेंट की इस प्रोसेस को डिकंपोज़िशन कहते हैं. इसका मतलब है, किसी टास्क को सब-टास्क में बांटना. हर टास्क को आसानी से पूरा किया जा सकता है.

पहले चरण से शुरुआत करते हुए Google पर खोजें और देखें कि C++ का इस्तेमाल करके, रैंडम नंबर कैसे जनरेट किए जाते हैं. "रैंड C++" पर खोजें. यहां हमारा तरीका है. 

चरण 2 के लिए, हमें प्लेयर से एक पूर्णांक इनपुट (सिन पर सही गड़बड़ी की जांच करने के साथ) पाना होगा और सीक्रेट नंबर के लिए उसकी जांच करनी होगी. हमारे समाधान की जांच करने से पहले, खुद गेम के इस हिस्से को खुद लिखने की कोशिश करें.

आखिर में, हमें एक लूप जोड़ना होगा, जो खिलाड़ी से तब तक अनुमान इकट्ठा करता रहेगा, जब तक वे सीक्रेट नंबर का अनुमान नहीं लगा लेते. प्रोग्राम के इस हिस्से को पूरा करने के बाद, हमारा समाधान देखें.

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

  • रोज़मर्रा के कई काम, डिकंपोज़िशन में कौशल विकसित करने के अवसर देते हैं. यह जानकर आपको हैरानी हो सकती है कि आपका दिमाग ऐसे ही काम करता है!

    उदाहरण के लिए, अगर मुझे किसी बहुत ही अस्त-व्यस्त रसोई को साफ़ करना हो (शायद कुछ छोटी लड़कियां अभी-अभी केक बना रही हों), तो मैं योजना बनाने के लिए रोज़मर्रा के कामों को व्यवस्थित करती हूँ और यह पक्का करती हूँ कि बाद में मुझे इस तरह के काम करने की ज़रूरत न पड़े. अगर काउंटर पर चीज़ों को साफ़ करने के लिए सभी तरह का सामान है, तो मैं पहले उसे नहीं धोना चाहता. मुमकिन है कि मुझे बाद में फ़्लोर को फिर से साफ़ करना पड़े. तो, शायद मैं पहले सभी सामग्री हटा दूं, सभी बर्तनों को सिंक में डाल दूं, काउंटर से सब कुछ साफ़ करें, बर्तन धोएं, और आखिर में फ़र्श साफ़ करें. इस काम को करने के दूसरे तरीके भी हैं. हालांकि, सबसे पहले इसके बारे में सोच लेने पर, मुझे एक ऐसा प्लान बनाने में मदद मिलेगी जिस पर फिर से काम करने की ज़रूरत न पड़े.

    रोज़मर्रा के कामों को उदाहरण के तौर पर, डिकंपोज़िशन स्किल को बढ़ाने के लिए इस्तेमाल करें. क्या पता - यह आपको घर में ज़्यादा बेहतर तरीके से काम करने में भी मदद कर सकता है!

  • दो पूर्णांकों का सबसे बड़ा सामान्य भाजक वह सबसे बड़ी संख्या है जो उन दोनों को समान रूप से भाग देती है. उदाहरण के लिए, gcd(12, 18) = 6, gcd(−4, 14) = 2. जीसीडी की गणना करने का सबसे अच्छा तरीका यूक्लिडियन एल्गोरिदम है. दो पूर्णांकों के लिए gcd की गिनती करने के लिए, फ़ंक्शन वाला प्रोग्राम लिखो. फ़ंक्शन को बार-बार होने से पहले करने की कोशिश करें - इससे आपको यह समझने में मदद मिलेगी कि एल्गोरिदम कैसे काम करता है.

    अपने सब-टास्क साफ़ तौर पर बताएं. उदाहरण के लिए, यूक्लिडीन एल्गोरिदम के लिए कोड ढूंढें; एल्गोरिदम के लिए ऐसा फ़ंक्शन बनाएं जो बार-बार न हो रहा हो वगैरह. हमारा समाधान यहां है.

उदाहरण 5: गणित की पहेलियां

कंप्यूटर की ताकतों में से एक यह है कि वह समस्या का समाधान खोजने के लिए ज़बरदस्त तरीके से खोज कर पाता है. कुछ समस्याओं में ही, जांच और गड़बड़ी ठीक करके काम करते हैं. सच तो यह है कि कंप्यूटर इस तरह की समस्याओं के लिए कारगर साबित हो सकते हैं. इस पर विचार करें:

घोड़ों की कीमत 10 डॉलर, सूअरों की कीमत 3 डॉलर, और खरगोशों की कीमत 0.50 डॉलर है. एक किसान ने 100 डॉलर में 100 जानवर खरीदे, हर जानवर ने कितना खरीदा? 

इस समस्या को हल करने का एक बहुत ही आसान तरीका है. देखें देखने से पहले कि क्या आपको यह दिखता है या नहीं.

यह तरीका आज़माएं:
शेल्फ़ पर छह अलग-अलग किताबों को बाएं से दाएं व्यवस्थित करने के कितने तरीके हैं?

इस बार हम आपको एक हल देंगे और आपको प्रोग्राम लिखने का मौका देंगे: 720.

उदाहरण 6: वे स्ट्रिंग जिन पर आपको विचार करना है

इस प्रोग्राम से क्या होता है?

#include <iostream>
using namespace std;

int main() {
  string str1 = "To be or not to be, that is the question";
  string str2 = "only ";
  string str3 = str1.substr(6, 12);
  str1.insert(32, str2);
  str1.replace(str1.find("to be", 0), 5, "to jump");
  str1.erase(9, 4);
  cout << str1 << endl;
  for (int i = 0; i < str3.length(); i++)
    cout << str3[i]; cout << endl;
}

कुछ मदद पाने के लिए, यहां क्लिक करें.

उदाहरण 7: अपघटन के साथ अगले चरण - काम पर आपका पहला दिन

आपको ExerShoe कंपनी के सेल्सपर्सन के तौर पर जगह मिली है. यह आपको कसरत के लिए महंगे जूते बनाने में महारत हासिल है. हर जोड़े की कीमत करीब 225 डॉलर है. आपके बॉस ने आपको मुआवज़े के तीन विकल्प दिए हैं. आपको पहला दिन शुरू करने से पहले इन विकल्पों को चुनना होगा:

  1. सीधे तौर पर हर हफ़्ते 600 डॉलर की सैलरी;
  2. हर घंटे 7.00 डॉलर की सैलरी और बिक्री पर 10% कमीशन;
  3. कोई सैलरी नहीं, लेकिन बेचे जाने वाले जूतों की हर जोड़ी के लिए 20% कमीशन और 20 डॉलर

C++ प्रोग्रामर होने के नाते, आपके पास एक प्रोग्राम बनाने का विकल्प है, जो पैसे चुकाने का सबसे अच्छा विकल्प चुनने में मदद करेगा.

किसी बड़े प्रोग्राम के लिए डेटा को डीकंपोज़ करने का एक सामान्य तरीका यह है कि एक मुख्य फ़ंक्शन बनाया जाए, जिससे समस्या को हल करने के तरीके के बारे में पता चल सके. इसके बाद, हम हर टास्क के लिए फ़ंक्शन लिखते हैं.

मुख्य कार्यक्रम का पहला पास यहां दिया गया है:

  GetInput(WeeklySales);
  CalcMethod1(WeeklySales);
  CalcMethod2(WeeklySales);
  CalcMethod3(WeeklySales); 

हमारा समाधान देखने से पहले देखें कि क्या इनमें से हर फ़ंक्शन को लागू किया जा सकता है.

उदाहरण 8: कौनसे प्रॉडक्ट कहां-कहां उपलब्ध हैं?

इस प्रोग्राम का आउटपुट क्या है?

// scope.cpp, Maggie Johnson
// Description: A program to illustrate different scopes

#include <iostream>
using namespace std;

int a = 18;
int b = 6;

int function1(int a, int b) {
  return a - b;
}

int function2() {
  int c;
  c = a + b;
  return c;
}

int main() {
  int b = 12;
  int c = 0;
  a = function1(b, a);
  c = function2();
  cout << "a: " << a << " b: " << b << " c: " << c << endl;
}

अपना जवाब पता करने के बाद, यहां कोड के उस वर्शन को देखें जिस पर टिप्पणी की गई है.

उदाहरण 9: फ़ाइलें प्रोसेस करना

C++ में फ़ाइल प्रोसेसिंग fstream का इस्तेमाल करके की गई है. किसी फ़ाइल में सेव करने के लिए, हम ऑफ़स्ट्रीम का एलान करते हैं और "आउट" मोड का इस्तेमाल करके उसे खोलते हैं. नीचे दिए गए उदाहरण में इसे देखें.

// file.cpp, Maggie Johnson
// Description: An illustration of file processing
#include <fstream>
#include <iostream>
using namespace std;

int main() {
  char first_name[30], last_name[30]; int age;
  char file_name[20];
  // Collect the data.
  cout << "Enter First Name: "; cin >> first_name;
  cout << "Enter Last Name: "; cin >> last_name;
  cout << "Enter Age: "; cin >> age;
  cout << endl << "Enter the name of the file: "; cin >> file_name;

  // Create an ofstream called People, open the stream for output.
  ofstream People(file_name, ios::out);
  // Write the output to the stream.
  People << first_name << endl << last_name << endl << age << endl; return 0;
} 
  • देखें कि क्या अभी-अभी बनाई गई फ़ाइल को खोलने और उसमें डेटा दिखाने का तरीका पता किया जा सकता है.यहां हमारा तरीका बताया गया है.
  • अब देखें कि क्या इस प्रोग्राम में बदलाव किया जा सकता है, ताकि उपयोगकर्ता लूप का इस्तेमाल करके डेटा के कई रिकॉर्ड डाल सके. हम पूरे डेटा को भी एक-एक करके एक रिकॉर्ड के तौर पर पढ़ना चाहते हैं.यहां हमारा तरीका बताया गया है.

अब आप खुद कुछ कसरत और प्रोजेक्ट को आज़माने के लिए तैयार हैं!

Google में सॉफ़्टवेयर इंजीनियर होने पर कैसा महसूस होता है

इस वेबसाइट पर पढ़ें कि Google में काम करने का अनुभव कैसा है.

व्यायाम और प्रोजेक्ट

नीचे दिए गए तरीकों से, आपको बेसिक C++ के साथ ज़्यादा प्रैक्टिस करने का मौका मिलेगा. हम इन कामों और प्रोजेक्ट के लिए कोई समाधान नहीं देते, क्योंकि हम चाहते हैं कि आप इस कोर्स में अन्य छात्र-छात्राओं के साथ भी काम करें.

  1. मौजूदा तापमान के अनुपात में कॉमन फ़ील्ड क्रिकेट की आवाज़ तेज़ होती है. एक मिनट में क्रिकेट के चियरिंग की संख्या में 40 जोड़ने पर, उस वैल्यू को 4 से भाग देने पर हमें तापमान का पता चलता है. एक ऐसा प्रोग्राम लिखो जो एक मिनट में होने वाले चिंप की संख्या का पता लगाता है और मौजूदा तापमान को प्रिंट करता है. उदाहरण के लिए,
    Number of chirps: 120
    The temperature is: 40.0 degrees. 
  2. एक ऐसा प्रोग्राम लिखें जो आपके प्रोग्रामिंग कोर्स के लिए आपके फ़ाइनल ग्रेड का पता लगाएगा. ग्रेडिंग स्कीम यहां दी गई है:
    Final grades will be based on the following:
    40% Assignments   15% Midterm Examination
    35% Final Examination
    10% Class Participation Grade 

    आपके प्रोग्राम में उपयोगकर्ता से चार असाइनमेंट स्कोर, मिडटर्म, फ़ाइनल, और सेक्शन ग्रेड के बारे में पूछा जाना चाहिए. फिर, फ़ाइनल स्कोर को कैलकुलेट करके उसे प्रिंट किया जाता है. हिसाब लगाने के लिए, चार असाइनमेंट के स्कोर का एक साथ औसत करें और फिर उन्हें 0.4 (40%) से गुणा करें. इसके बाद, मिडटर्म स्कोर को 0.15 से, फ़ाइनल में 0.35 से, और प्रोग्राम में हिस्सा लेने वाले ग्रेड को 0.1 से गुणा किया जाता है. इसके बाद, इन गुणा के सभी नतीजों को एक साथ जोड़ा जाता है.

    इस प्रोग्राम में जहां भी हो सके वहां फ़ंक्शन का इस्तेमाल करें. इनपुट पाने के लिए, कोई फ़ंक्शन बनाया जा सकता है. इसके लिए, स्ट्रिंग को पैरामीटर के तौर पर पास करके, स्ट्रिंग को विस्तार से बताएं. चलाने का एक उदाहरण यहां दिया गया है:

    Enter the score for the first assignment. 75
    Enter the score for the second assignment. 85
    Enter the score for the third assignment. 82
    Enter the score for the fourth assignment. 94
    Enter the score for the midterm. 81
    Enter the score for the final. 89
    Enter the score for the section grade. 100
    The final grade is: 86.9
  3. जैसे-जैसे इलेक्ट्रॉनिक स्टॉपवॉच सस्ते और ज़्यादा सटीक होते जाते हैं, हमें इस बात में कोई शक नहीं होगा कि समय का सटीक मेज़रमेंट करना नामुमकिन हो जाएगा. एक ऐसा प्रोग्राम लिखें जो इनपुट के तौर पर, सेकंड में दी गई समयावधि का इस्तेमाल करता है और इसके लिए घंटे, मिनट, और सेकंड की संख्या बताता है. उदाहरण के लिए,
    Number of seconds: 3662
    Hours: 1
    Minutes: 1
    Seconds: 2     
  4. नीचे दिए गए चार्ट में, प्रोग्राम को लिखने से पहले डिकंपोज़ करें. अच्छी तरह से स्ट्रक्चर किए गए प्रोग्राम बनाने के लिए, जहां भी मुमकिन हो फ़ंक्शन का इस्तेमाल करें.

  5. मान लें कि हम इनके लिए एक बैनर प्रिंट करना चाहते थे:

    "फ़्रीज़ी ब्रीज़ ने तीन पेड़ों को फ़्रीज़ किया"

    हम चाहते हैं कि अक्षर काफ़ी बड़े हों, क्योंकि यह एक बैनर है:

    FFFFF
    F
    FFF
    F
    F
    
    EEEEE
    E
    EEE
    E
    EEEEE
    
    वगैरह.

    एक अच्छा डिकंपोज़र होने के नाते, आपने देखा होगा कि सभी क्यूट को मुख्य फ़ंक्शन में रखने के बजाय, उन्हें फ़ंक्शन में शामिल करना ज़्यादा बेहतर होगा. इसलिए, हमारे पास "printE" फ़ंक्शन और "printZ" फ़ंक्शन वगैरह इस्तेमाल करने का विकल्प होता.

    फ़ंक्शन वाला एक प्रोग्राम लिखो, जो किसी शब्द या वाक्यांश का बैनर बनाता हो और उसमें कई अक्षर दोहराए गए हों. कुछ संभावनाएं:

    FREEZY BREEZE MAKES FLEAS
    SNEEZE TWEETLE BEETLE PADDLE BATTLE
    SIX SICK CHICKS KICK
    SUE SEWS SUE'S SOCKS
    BEN BENDS BIM'S BROOM 
  6. यह रही "मैजिक नंबर" की समस्या: किसी उपयोगकर्ता से, तीन अंकों वाला ऐसा नंबर डालने के लिए कहें जिसका पहला अंक अपने पिछले अंक से बड़ा हो. आपका प्रोग्राम इस संख्या को रिवर्स कर देगा और मूल संख्या से रिवर्सल को घटा देगा. आखिर में, इस संख्या को उलटा करें और इसे इसके उलटे फ़ॉर्म में जोड़ें. आउटपुट के तौर पर फ़ाइनल नतीजा पाएं. उपयोगकर्ता जो मूल नंबर डालता है वह पूर्णांक होना चाहिए, न कि तीन वर्ण. एक ऐसा फ़ंक्शन लिखने का तरीका सोचें जो इनपुट के रूप में एक पूर्णांक लेता है और उस संख्या का उलटा बताता है. उदाहरण:
    input number: 901
    reverse it: 109
    subtract: 901 - 109 = 792
    reverse it: 297
    add: 297 + 792 = 1089   
  7. कानून के मुताबिक, फ़ूड प्रॉडक्ट मैन्युफ़ैक्चरर अपने प्रॉडक्ट के खत्म होने की तारीख तय कर सकते हैं. हालांकि, कानून में इसका एक नुकसान है: प्रॉडक्ट के खत्म होने की तारीख किसी खास फ़ॉर्मैट में होना ज़रूरी नहीं है. इसलिए, इसे स्वाहिली भाषा में लिखा जा सकता है, फिर भी इसे कानूनी तौर पर माना जा सकता है.

    राल्फ़ नाडर के तीसरे कज़न, नीलम एक खुद फ़ूड क्वालिटी जासूस हैं. उन्हें पता चला कि फ़ूड प्रॉडक्ट बनाने वाली कई कंपनियों ने प्रॉडक्ट के खत्म होने की तारीखों को कोड में बदलना शुरू कर दिया है, ताकि खरीदारों को यह पता न चल पाए कि प्रॉडक्ट कितना पुराना है.

    हालांकि, डेटा को कोड में बदलने की वजह से, किराने के मालिक किसी वजह से समयसीमा खत्म होने की तारीखों का पता लगा पाते हैं.

    कोड में बदलने का एक लोकप्रिय तरीका:

    • जनवरी से दिसंबर तक के महीनों को 'A' से 'L' तक एन्कोड करें
    • तारीख के हर अंक को 'Q' से लेकर 'Z' तक एन्कोड करें
    • साल को 'A' से लेकर 'Z' तक एन्कोड करें. इसका मतलब 1 से 26 होता है और फिर इसे 1995 में जोड़ दिया जाता है.

    नडीन को इस तारीख के साथ ब्रेड का एक ऐसा टुकड़ा मिला जिसे लेकर लोगों में बहुत सवाल है: ARZM. तारीख तय करने के लिए एक प्रोग्राम लिखें.

  8. यह किसी मशहूर कार्ड ट्रिक की संख्याओं के उदाहरण हैं. उपयोगकर्ता से तीन अंकों वाला नंबर डालने के लिए कहें. संख्या को ABC मानें (जहां A, B, C संख्या के तीन अंक हैं). अब, ABC, BCA, और CAB से बनी संख्याओं को 11 से भाग देने पर बाकी बचे संख्याओं का पता लगाएं. हम इन रेशल को X, Y, Z कहेंगे. उन्हें X+Y, Y+Z, Z+X के तौर पर जोड़ें. अगर कोई भी योग विषम है, तो उसे 11 तक बढ़ाएं या घटाएं (किसी भी कार्रवाई पर जाने पर, 20 से कम की पॉज़िटिव संख्या मिलती है. ध्यान दें कि अगर उसका योग 9 हो, तो उसकी रिपोर्ट करें और प्रोसेस बंद करें). आखिर में, हर योग को आधे में भाग दें. नतीजे के तौर पर A, B, C अंक होते हैं. एक ऐसा प्रोग्राम लिखो जो इस एल्गोरिदम को लागू करता हो.

ऐप्लिकेशन: ऐनिमेशन के साथ संगीत को विज़ुअलाइज़ करना

सॉफ़्टवेयर इंजीनियर अक्सर कई तरह के दिलचस्प और नए ऐप्लिकेशन बनाते हैं. इस कोर्स के हर मॉड्यूल में, हम एक अलग ऐप्लिकेशन के बारे में बताते हैं जिसे इंजीनियरों ने डिज़ाइन और लागू किया है. इससे आपको यह समझने में मदद मिलेगी कि इंजीनियर किन अलग-अलग क्षेत्रों में काम करते हैं.

यहां एक दिलचस्प ऐप्लिकेशन है, जिसे संगीत को विज़ुअलाइज़ करने के लिए बनाया गया है.