programming problem solve करने से पहले

इस लेख में में उस गलती के बारे में बताने जा रहा हूँ जो कि लगभग हर विद्यार्थी किसी programming problem को solve करते समय करता है

अक्सर देखा गया है कि विद्यार्थी programming problem मिलने के बाद सीधा कंप्यूटर के सामने जा कर बैठ जाते हैं और program लिखना शुरू कर देते हैं, अपनी समझ से उल्टा-सीधा program लिखने के बाद एक लम्बा सिलसिला चलता है compile, run और rewrite करने का जो या तो programming problem के हल हो जाने पर रुकता है या फिर student के यह मान लेने पर कि "यह (programming) मेरे बस का रोग नहीं है"

हालांकि यह तरीका लाभदायक और नुकसान दायक दोनों ही हो सकता है-

लाभदायक: लाभदायक तब तक है जब तक कि student किसी प्रोग्राम को हल करने बैठे और उसके परेशान होने से पहले ही problem solve हो जाये क्यूंकि इस बीच उसने जो गलतियाँ कि हैं वह उसे दुबारा याद रहेगी और आगे इन गलतियों के repeat होने की संभावना बहुत कम है

नुकसानदायक: यदि problem हल करते करते विद्यार्थी इतना परेशान हो गया है कि वह यह मान ले कि यह मेरे बस का रोग नहीं है तब तो हो गया काम, programming problem को solve करना गणित के सवाल को हल करने जैसा ही है जब तक सवाल हल होते रहते है मजा आता रहता है जैसे ही किसी सवाल पर अटक गए और लाख कोशिश करने पर भी हल ना हुआ कि रूचि ख़त्म अब गणित से ही नफरत हो जाती है, ठीक ऐसे ही एक बार आपके दिमाग ने मान लिया कि programming problem solve करना आपके बस का रोग नहीं है फिर आप कभी problem solve करने की कोशिश ही नहीं करेंगे और game over.

यदि आप ऐसे अवस्था में नहीं पहुंचना चाहते तो programming problem को solve करने से पहले Flow chart या psuedo code को लिखें-

Flow chart (अभिकलन):

कोई भी programming problem मिलने के बाद सबसे पहले कॉपी और पेन उठा लें और एक Flow Chart बनाना शुरू करें जिसके जरिये आप दी गयी programming problem को solve कर सकते हैं. असल में आप Flow chart बनाते समय सिर्फ उस problem को हल करने वाले logic (तर्क) को develop कर रहे होते हैं, और programming problems में logic ही सब कुछ होता है.

Flow chart, problem के solution का graphical representation होता है, Flow Chart के लिए सबसे अच्छी बात यह है कि आपको programming language के बारे में कोई जानकारी ना हो तो भी चलेगा आपको तो सिर्फ flow chart बनाना है जिसके logic को आप बाद में किसी भी programming language में उस programming language की जानकारी होने पर लिख सकते हैं

Psuedo Code:

psuedo code में भी हम logic को develop करते हैं, सिर्फ अंतर इतना होता है कि यहाँ पर visual representation नहीं  होती बल्कि psuedo code में logic को कुछ statements में सरल भाषा में लिख दिया जाता है जिनको बाद में किसी भी language में लिखा जा सकता है.

Psuedo Code, programming language के ज्यादा करीब होता है और इसके जरिये complex problems को solve किया जाता है, यदि आप computer science या information technology के second या third year के student हैं तो आप अब तक कई standard problems के psuedo code के बारे में पढ़ चुके होंगे और हो सकता है कि उनको किसी programming language में भी लिखा हो

ध्यान में रखने लायक बातें:-

  • यदि programming problem complex है तो पहले उसको छोटे छोटे logical units में तोड़ लें, उसके बाद हर unit के लिए flow chart या psuedo code लिख लें और अंत में किसी programming language को प्रयोग में लाते हुए उसका प्रोग्राम बनाएं, उसके बाद उसमे छोटी छोटी गलतियाँ ही निकलेंगी जिनको आप आसानी से ठीक कर सकते हैं
  • flow chart या psuedo code बनाने के बाद उसको खुद ठीक से analyze कर लें, उसके फ्लो को समझे जब आपको लगे कि logic सही काम कर रहा है सिर्फ तब ही program बनाना start करें
  • flow chart या psuedo code में जिन variable का प्रयोग किया है उनके लिए अलग अलग values मान कर पूरे फ्लो को analyze करें यदि कहीं पर गलती होगी तो logic develop करते समय ही मिल जाएगी जिससे बाद में व्यर्थ की परेशानी नहीं होगी
  • जितनी ज्यादा प्रॉब्लम को आप सोल्वे करते जायेंगे उतना ही आपका confidence level बढ़ता जायेगा जो successful होने की पहली requirement है

विशेष:

  • मैंने अपने एक लेख में एक ऐसे टूल ( WizBang ) के बारे में बताया था जिसके जरिये आप Flow Chart को ना सिर्फ बना सकते हैं बल्कि उसके फ्लो को आप animation के जरिये देख भी सकते हैं, यही नहीं आप बनाये गए logic को C, C++ या JAVA के code में बदल भी सकते हैं, तो क्यूँ ना इसको try किया जाये? पढ़िए मेरी यह पोस्ट http://en.learnbywatch.com/content/wizbang-बनायें-खुद-को-तार्किक-स्तर-पर-बेहतर
  •  इस विडियो में मैंने factorial की प्रॉब्लम को solve करने से पहले उसके लिए logic develop किया है जिसको आप यहाँ देख सकते हैं http://en.learnbywatch.com/content/create-logic

Comments

i cant understand about

i cant understand about programming language how can i understand?

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <java>, <javascript>, <php>, <python>, <ruby>. The supported tag styles are: <foo>, [foo].
  • You may use <swf file="song.mp3"> to display Flash files inline

More information about formatting options