Transcript for:
Introduction to DSA Series

Hi everyone, welcome to Tupna College and today we are finally going to start with our new DSA series. In this series, we are going to read all our data structures and algorithms concepts in a very in-depth but simple way. Why did we need this series? To resolve three problems, we decided to make this series.

सबसे पहली problem की कई बार YouTube के उपर अगर हम कोई DSA की series जाकर देखते हैं, तो वहाँ पर pseudo code पर चीजों को खतम कर दिया जाता है, और सिर्फ pseudo code करना एक student को एक false sense of security देता है, चीजें incomplete रह जाती है, तो हम वैसी चीज नहीं करेंगे, हम बिल्कुल completely जाकर चीजों को पढ़ने लेकिन this series is not sponsored, is not promoted by anyone, यहाँ पे सिर्फ एक ही objective है कि quality DSA content students तक पहुँचना चाहिए, and third problem that we are trying to resolve is of practice questions, कई जगे आपको दिखेगा कुछ series में बहुत lack of practice questions होता है, कई जगे आपको दिखेगा कि जरूरत से ज़ादा videos है, जरूरत से ज़ादा questions हमें करा दिये, जिससे सिर्फ student उसको अपनी series के अंदर करने वाले हैं तो series हमारी in-depth होने वाली है चीजों को आप मेरे साथ बहुत ही simple तरीके से समझने वाले हैं आज हो सकता है चीजें हमें मुश्किल लगे क्योंकि हम first time DSA को पढ़ना start कर रहे हैं लेकिन I can assure you कि इस series के complete होने के बाद हमें काफी confident महसूस होगा हमें महसूस होगा कि हाँ DSA के अंदर हमने चीजें सीखी हैं हमसे सबाल solve हो पा रहे हैं हमें concepts अच्छे से समझ में आ रहे हैं और interview point of view से confidence will help you achieve your long term goals तो अब जब हम DSA पढ़ने ही वाले हैं, तो सबसे पहले जान लेते हैं हमें DSA पढ़ने की ज़रूरत क्यों पढ़ती है, जब भी जेनरली हमें सौफ्टवेर एंजिनेरिंग फील्ड के अंदर जाना है, जब भी हमें टेक के अंदर काम करना है किसी अच्छे रोल पर, तो मि अभी इतनी सारी companies, DSA generally candidates से इसलिए पूछते हैं क्योंकि जितने अच्छे आपके data structures and algorithms के concept होंगे उतने अच्छे आप problem solver होंगे as a software engineer क्योंकि engineers का tech companies में जाने के बाद एक ही primary काम होता है वो होता है to solve problems तो companies के अंदर जाने के बाद जितने अच्छे level पर हम problems को solve करेंगे जितने efficiently optimal तरीके से उन problems को solve करेंगे companies के अंदर जो software engineers को high salary दी जाती है वो उनही problems को solve करने की दी जाती है तो interview point of view से हमें अपनी problems को solve करना है, तो generally tech interviews के अंदर हमें एक problem दी जाएगी, हमें उसके लिए decide करना है कि इस problem के अंदर कौन-कौन से हमें data structures use करने है, कौन-कौन से हमें algorithms use करने है, और optimal तरीके से हमें उस problem को solve करना है, जब हमें data structures के overview की बात करें, तो ये मोटा-मोटी वो data यह में देखने में first time as a beginner देखने में हो सकता है बहुत complex लगे, पर यह chart आपको अभी समझ में नहीं आएगा, जैसे हम अपनी series को पूरा complete कर लेंगे, उसके बाद आपको यह chart बहुत अच्छे से समझ में आ जाएगा, क्योंकि यह सारे के सारे topics को हम complete कर चुके होंगे, इसके अलावा और additional data structures भी complete कर चुके होंगे, plus कई सारी जो algorithms होती हैं, जैसे dynamic programming हो गई, जैसे greedy algorithm होगी, जैसे two pointer approach होगी, और इसके अलावा भी बहुत सारी different different approaches होंगी, algorithms होंगे, जिनको हम इस पूरी की पूरी सीरीज के अंदर पढ़ने वाले हैं, पर ये सारी चीज़े मैं आपको डे वन पे नहीं बताना चाहती, जिससे हम ओवरवेल्म हो जाए, हमें बहुत ही सिंपल, बिलकुल बेबी स्टेप्स के साथ हम स्टार्ट करेंगे, और धीरे धीरे एडव अब as a student data structures and algorithms को हम directly सीखना शुरू नहीं करते उससे पहले हमारी एक किसी न किसी programming language पर अच्छी पकड़ होनी चाहिए उसके बाद हम DSA concepts को जाकर सीखते हैं क्योंकि तब ही हम उनका code लिख पाएंगे तब ही हम उनको implement कर पाएंगे तो इसी लिए इस series के अंदर हम सबसे पहले अपनी C++ programming language के उपर पकड़ बनाएंगे शुरुवात के कुछ lectures में और उसके बाद we'll start with our data structures and algorithms journey अब जब भी as a student हम कोई नई series start करते हैं एक सवाल हमारे दिमाग में होता है कि हमें notes कब बनाने चाहिए और किस तरीके से बनाने चाहिए तो मैं आपको शुरू में ही वो चीज बता देती हूँ कि शुरू के जो chapters हैं ये chapters इतने easy हैं in fact इन topics के मैं नाम भी बता देती हूँ शुरू में आज का chapter यानि flowchart and pseudocode हो गया इसके बाद हम variables, data types, operators पढ़ेंगे conditional statements पढ़ेंगे, loops पढ़ेंगे, functions पढ़ेंगे functions तक हमें कोई notes बनाने की ज़रूरत नहीं है, सिर्फ आपको एक rough notebook लेकर बैटना है, और मेरे साथ paper pen पर आप concepts को practice कर सकते हैं, लेकिन as such हमें fair notes बनाने की इसलिए ज़रूरत नहीं है, क्योंकि ये जो इतने concepts हैं, इनके बाद वाले lectures के अंदर, यानि starting from binary number system, starting from pointers, starting from arrays, हम इन ही same topics को श� तो आपको शुरू में बिल्कुल गबराने की ज़रूरत नहीं है कि जब हम इफेल्स शुरू कर रहे हैं, मैंने क्या लिख लिया, जब हम फ्लो चार्ट देख रहे हैं, ये तो डायग्राम बहुत मुश्किल सा लग रहा है, शुरू में चीज़ें मुश्किल लगेंगी, ले practice कैसे करेंगे, class में जो चीज़ें कराई जा रही हैं, उनको अच्छे से practice करना है, जो homework problems दिये जा रहे हैं, उन्हें अच्छे से practice करना है, and इसके साथ में आगे के जो हम chapters करेंगे, उसके थूँ तो हमारी practice होई जाएगी, तो यह एक important point है, जिसको बता दिया गया है, ताकि किसी भी student का कोई भी extra time waste ना हो, तो सबसे पहले एक logic build करते हैं overall, कि as a programmer, जब भी हम किसी problem को देखते हैं, तो उसको solve करनी की पीछे हमारा क्या process रहता है? उसके लिए एक बहुत simple सा example लेंगे, let's suppose हमें ये problem दी गई है और इस problem को मुझे solve करना है, we have to find the sum of two numbers A and B, ये हमारी problem है, अब इस problem को जैसे ही हम देखेंगे, हमने life में बहुत सारी problem solve कर रखे हैं, तो ये तो बहुत ही चोटी सी problem है, हमें पता है दो numbers का sum कैसे calculate करना है, तो इ उसके बाद हम analyze करते हैं, भाई ठीक है, दो numbers का sum calculate करना है, पर वो कौन से दो numbers हैं, यानि सबसे पहला जो step होता है, towards solving a problem, that is basically to understand what the problem is saying, वो तो हमें समझ में आ गया, दूसरा step होता है ये देखना कि ठीक है, sum तो निकालना है, पर कौन से numbers का निकालना है, basically हमारे पास क्या given value है, और इनी given values को हम अपना input कह देते हैं, कि हमें input की clarity होनी चाहिए, कि हमें क्या दिया जा रहा है, हमें A और B दो numbers दिये ज अब A और B को अगर हमें calculate करना है दोनों का sum, उसका solution हमें पता है, बहुत easy होता है, क्या होता है solution, हम simply sum ले सकते हैं, और sum में हम लिख देंगे A plus B, तो हमने क्या किया, दो numbers का sum निकाल लिया, तो overall ये हमारा process होता है किसी भी problem को solve करने का, real life के अंदर भी और programming के अंदर भी, ब लेकिन इसको finally मुझे एक C++ या एक Java या एक Python के code के अंदर convert करना है, अब ये जो code के अंदर convert करने वाला part है, इसको हम बाद में सीखेंगे, आज इस lecture के अंदर जो हम focus करने वाले हैं, वो हम इन steps के उपर focus करने वाले हैं, यानि programmer का काम होता है, पहले paper pen के उपर solution निकालना, अ और यह जो किसी भी problem का सबसे पहले paper pen के उपर solution निकलता है, यह निकलता है in the form of flowcharts and pseudocode, तो आज के lecture के अंदर हम introduction to programming रख रहे होंगे, logic building रख रहे होंगे, flowcharts and pseudocodes के बारे में बात करेंगे, क्यों इनको हम use करते हैं, किस तरीके से flowchart and pseudocode को बनाया जाता है, या लिख conditional statements लिखने आते हैं, loops लिखने आते हैं, functions लिखने आते हैं, क्योंकि अगर आपको ये concepts already आते हैं, तो आपको basics of logic building आता है, तो तब हम इस lecture को skip कर सकते हैं, लेकिन अगर हम first time अपनी programming journey की शुरुवात कर रहे हैं, तो आज का lecture हमारे लिए important इसलिए हो सकता है, क्योंकि ये हमें basic logic building के अंदर help करेगा, कि flow charts generally interviews के अंदर नहीं पूछे जाते, pseudo code important होता है, प्लस इससे भी ज़्यादा important होता है interviews के अंदर direct code को लिख पाना तो उन दोनों के उपर हमारा सबसे ज़्यादा focus रहेगा यहाँ पर lecture के अंदर वो point आ गया है जब हमें अपनी rough copy निकाल लेनी है अपने paper pen के साथ तयार रहना है और अब हमें बनाने हैं बहुत सारे flow charts and pseudo codes तो सबसे पहले बात करते हैं कि एक flow chart क्या होता है flow chart इस तरीके का एक diagram होता है अब हमने problem के लिए दिमाग में सोच के कुछ ना कुछ solution तो बना लिया होगा उसी solution का जब हम diagram बना लेते हैं, तो उस diagram को हम flow chart कह देते हैं, it is like a chart, it is like a diagram, जैसे अपनी पुरानी problem पर आ जाते हैं, यानि sum of two numbers, sum of two numbers के लिए हमें पता है हमने पहले क्या किया होगा, हमने पहले problem का solution निकालना शुरू किया होगा, तो जब भी हम कोई भी solution निकालते हैं, स� उसके बाद हमने input किया होगा a और b, यानि मेरे जो 2 input हैं, कौन से 2 numbers थे हमारे input, a और b 2 numbers थे, उनको मुझे input करना था, फिर इन से मुझे sum निकालना था, तो मेरा sum हो जाता है, sum is equal to a plus b, फिर हम चाहें, तो इस sum को print करवा सकते हैं, या चाहें तो ऐसे ही चीजों को छोड़ सक तो ये मेरा logical solution था, अब वैसे तो जब हम दो numbers का sum निकालते हैं, हमारे दिमाग में सिर्फ इतना ही logic आता है, ये start और end हम generally नहीं लिखते, पर क्योंकि हम computers के साथ deal करने वाले हैं, हम program के साथ deal करने वाले हैं, तो flow chart में convention होता है कि बह शुरू कर रहे हो तो start लिख दो, और end कर चार्ट होता है तो हमें इन सारे steps को ये क्या है steps हैं जिनने हमें diagram के अंदर convert करना पड़ेगा और उसके लिए हम use करेंगे कुछ components का कुछ डबों का और वो components कैसे दिखते हैं वो components कुछ ऐसे दिखते हैं सबसे पहला सबसे easy component होता है हमारा start या exit का component हम basically एक oval बनाते हैं और हमेशा start और exit को solution का start या end दिखाना चाते हैं तो इसे एक बार create भी कर लेते हैं, यह हमारे solution का start था, तो मैंने यहाँ पर एक oval बना दिया, यह हमारे solution का exit था, तो मैंने यहाँ पर भी एक oval बना दिया, तो यह दो shapes हमने बना दी, next हमारा component होता है input और output का, जो भी हम programs लिखेंगे, चाहिए वो DSA के program हो गए, यह generally अगर हम companies तो जब भी हमें input दिखाना होता है, या जब भी logic के अंदर हमें output दिखाना होता है, उसके लिए हम ये parallelogram वाली shape यूज़ करते हैं, तो जब भी हम input करना चाहते हैं, या जब भी हम कुछ output या नहीं print करवाना चाहते हैं, तो उसे हम ऐसे print करवाते हैं, तो अब हमें पता है, अब जितने भी process होते, process यानि कोई भी आपने calculation करी, कोई भी आपने काम किया, जो input output की category के अंदर नहीं आता, कोई आपने variable लिखा, तो इस तरीके की चीज़े हम दिखाते हैं एक rectangle की form में, जैसे for example मुझे दिखाना है कि name के अंदर मुझे Tony Stark store कराना है, अब यहाँ पर कोई input कुछ इस तरीके से, तो ये सारे के सारी चीजों को हमने किसी न किसी component या किसी न किसी block के अंदर डाल दिया, अब चार्ट के अंदर special चीज एक और ये होती कि पूरा चार्ट connected होता है, और connect करने के लिए use करते हैं हम arrows का, basically हमें flow दिखाना है, ये important word है, हमें अपने solution का flow दिख तो हमारी एक arrow होगी, जो start से यहां तक जाएगी, फिर input के बाद हमें sum calculate करना है, फिर sum के बाद मुझे print करना है, फिर print के बाद मुझे exit कर देना है, तो यह मैंने arrows दिखा दिये, तो यह पूरा flow chart हमारा complete हो चुका है यहाँ पर, अब flow chart के अंदर इन components के साथ में, एक और additional component होता है, जिसको हम decision component कहते हैं, इसमें basically हम एक diamond की shape बनाते हैं, और decision component का काम होता है, किसी न किसी condition को check करना, condition कहने का मतलब है, अगर हमें check करना है, कोई number एक दूसरे number से बड़ा है, क्या A greater than B है, या फिर ऐसी किसी चीज को check करना, जिसका answer सिर्फ yes या no हो सकता है, जैसे for example, मेरे पास कोई sum है, मुझे check करना है, क्या sum 0 से बड़ा है, तो greater than equal to 0 लिख दिया मैंने, अब या तो ये मुझे yes दे सकता है, या ये मुझे no दे सकता है, तो depending upon ये जो condition है, या no देती है उसके बाद क्या काम होना चाहिए, तो इस तरीके से हम दो arrows निकाल सकते हैं, from this diamond shape, और इसको हम अपना decision block कहते हैं, decision block को अभी और detail में हम कुछ सवालों के अंदर करने वाले हैं, तो और clarity आ जाएगी, पर ये जो simple components थे, इनको I hope हमने understand कर लिया हो, और ये पूरा का पूरा जो हमारा flow chart है, कि how a flow chart is a diagram of a solution, अब next बात करते हैं कि एक pseudo code क्या होता है, अब pseudo code की अगर बात करें तो pseudo code का मतलब होता है general logic of a solution, यह जो pseudo code होता है इसको basically हम English लाइक लांग्विज के अंदर लिखते हैं और इस pseudo code को कोई भी समझ सकता है, जेनरली companies के अंदर अगर हम जाते हैं, ज़रूरी नहीं है सारे की सारे developers एकी language पर काम कर रहे हो, हो सकता है किसी को C++ आती हो, हो सकता है किसी को Java आती हो, हो सकता है किसी को Python आती है, जेनरली किसी problem का solution अगर हम C++ में लिख देंगे तो वो Python developer को समझ आएगा ही नहीं, तो logic and code के जो बीच की चीज होती है, उसे हम pseudo code कहते हैं, और pseudo code सारे developers को समझ में आ सकता है, irrespective of the language, इसलिए इसको हम solution का general logic कहते हैं और इसे हम English like language के अंदर सीखते हैं, तो यह हमारा flow chart था, इसी flow chart से हम directly pseudo code बना सकते हैं, तो शुरुआत करते हैं कि कैसे हम अपना pseudo code लिख सकते हैं, pseudo codes को हम English के अंदर steps की form मे�� लिखते हैं, तो सबसे पहले हम अपना first step लिखेंगे, first step में generally इस step हो जाएगा input a and b, उसके बाद next step हो जाएगा sum निकाल लो, which is going to be a plus b, तो next step में हम लिखेंगे sum is equal to a plus b, third step हो जाएगा कि you sum को print करवा दो तो यहाँ पर हम print करवा देंगे अपने sum को, अच्छा यहाँ पर यह जो मैंने s लिखा है, यह सारे के सारे हमारे small s हैं, in case to exit, exit हम रखेंगे, थोड़ा सा convention होता है, start हम ignore कर देंगे, बाकि अगर आप ये exit भी यहां से अटा देते हैं, तो भी हमारे code के, pseudo code के ऊपर कोई फरक नहीं पड़ेगा, क्योंकि pseudo code के as such कोई fixed rules नहीं होते, हमें सिर्फ इसी flow chart के logic को pseudo code के अंदर convert करना होता है, तो ये हमारा sum of two numbers का pseudo code है, जो कुछ ऐसा दिखाई देगा, और बहुत ही simple था, इसमें कोई परिशानी की बात नहीं है, कुछ बहुत high five हम नहीं कर रहे हैं, बहुत simple तरीके से चीज़ू को कर रहे हैं, यहाँ पे कुछ students के दिमाग में सवाल आ रहा होगा कि ma'am जब हमारे पास problem आएगी फिर interviews के अंदर, तो क्या हम problem को समझ के पहले उसका flow chart बनाएंगे, फिर उसका pseudo code लिखेंगे, फिर उसका code लिखेंगे, तो उसका जवाब है बिल्कुल भी नहीं, flow chart को शायद हम इस chapter के बा और फिर हम चीजों को code के अंदर convert करते हैं, तो सारी चीज़ें हमें करने की ज़रूरत नहीं है, हम अभी सिर्फ understanding बनाने की कुशिश कर रहे हैं, तो ये तो हमने यहाँ पर ऐसे pseudo code लिख दिया, पर क्योंकि pseudo code के कोई fixed तरीके नहीं होते, तो कोई अगर student है, जो पहले मान लो उसका flow chart भी बना लिया, उसका pseudo code भी लिख दिया, अब इन दोनों चीजों की practice के लिए हम बहुत सारे practice questions को solve करने वाले हैं, जिसमें से first question है हमारा area of a square का, हमारे पास problem दी गई है कि हमें एक square का area निकालना है, तो सबसे पहले problem तो clear है, अगर हम इसकी एक side को a कहें, तो इसकी कि square का जो area होता है, it is equal to a square, यानि a multiplied by a, यह formula हमें already आता होगा, तो problem को तो हम समझ गए हैं, दूसरा देखेंगे, input में हमें क्या दिया जाएगा, तो जब area of a square के लिए हमें पता है, हमें side चाहिए, तो input के अंदर हमें side लेनी पड़ेगी, हमें echo input कराना पड़ेगा, तो हम problem को कैसे solve करेंगे, यह वाला component हम use करते हैं, उसके बाद area निकालने के लिए हमें input करनी पड़ेगी side, तो side को हम a भी कह सकते है, side को हम side भी कह सकते है, तो simplicity के लिए इसको a बोल देते है, एक लिए हम अपना parallelogram, input वाला component यूज़ करेंगे, एक बार हमारे पास a आ गया, उससे हम area निकाल सकते है, area क्या होता है, area is equal to a square, a square यानि a multiplied by a, तो इसे हम क्योंकि calculation कर रहे हैं, and फिर finally हम इस area को print करवा सकते है, तो print करवा देंगे अपने इस, area को and इसे अपने इस वाले component के अंदर हम store कर लेंगे, बहुत ही असान था, and finally हम कर जाएंगे exit, exit करने के लिए दुबारा से हमारे पास हमारा overall वाला block हो जाएगा, तो ये हमारा overall flow chart है, जो इस problem के लिए बनेगा, अच्छा ये problem अगर आपको लग रहा था कि आप खुद से solve कर तो वहाँ पर lecture को pause करना है और खुद से उसका solution लिख देना है, और फिर directly जाकर आप मेरे solution से ही अपना solution match कर सकते हैं, तो उससे हमारा और ज़ादा extra time save हो सकता है, अब इसी solution को, अगर हम convert करें, यानि ये तो हमने flow chart बना दिया, इसको अगर हम convert करें to the pseudo code, तो वो क्या होगा, अच्छे pseudo code के बारे में एक और interesting चीज, इसके शब्द भी अगर हम देखें, pseudo का मतलब होता है नकली code, तो pseudo code जब हम English like code लिख रहे हैं, वो basically नकली code हम लिख रहे हैं, तो उसको ह second step हम area निकाल लेंगे, तो the area is going to be A into A, third step हम print कर देंगे अपने area को, तो print कर दिया मैंने अपने area को, fourth step में हम exit कर जाएंगे, तो यह हमारा pseudo code तैयार हो गया, और यह ऐसा code है जो किसी को भी English आती होगी, तो उसको यह solution समझ में आ जाएगा, कि overall जो solution होना चाहिए, वो ऐसा होना चाहिए, और जिसको जब हम C++ code के अंदर भी convert करेंगे, तो इसका C++ code भी असान ही होगा, तो इस code को भी बाद में हम देख रहे होंगे, तो इस तरीके से हम area of square calculate कर सकते हैं, यानि उसका flow chart and pseudo code, उस problem का solution हम present कर सकते हैं, next problem को discuss करते हैं, next problem है minimum of two numbers की problem, यह special होने वाली है क्योंकि इसके अंदर हम अपने decision block को use करेंगे, अब minimum of two numbers यह हमारी problem है, हमें दो numbers का minimum number जो है उस input clear है solution देखते हैं मान लो अगर हमें दो numbers यह जाते है 4 और 5 चार और 5 दे देते हैं तो हमें कैसे पता चलता है दोनों में से minimum यानि कम कौन है हम basically दोनों को compare कर लेते हैं हम या तो ये check कर सकते हैं क्या 4 less than 5 है या फिर हम ये भी check कर सकते हैं कि 4 क्या greater than 5 है मतलब अगर 4 less than 5 है इसने मुझे yes दे दिया और अगर 4 greater than 5 है, इसने मुझे no दे दिया, तो छोटे वाला number कौन हो जाएगा, छोटे वाला number फिर से 4 हो जाएगा, तो पहले तो मुझे decide करना है, मुझे less than use करना है, या greater than use करना है, दोनों में से मैं कुछ भी use कर सकती हूँ, क्योंकि logic तो same ही रहना है, हम क्या करते हैं, less than वाला logic use कर लेते हैं, अब 4 और 5 में less than से yes या no करके मैं निकाल सकती हूँ, कि 4 less than 5 है क्या, या तो ये yes होगा, या ये no होगा, तो उस case में छोटा number कौन होगा 4 और अगर 4 less than 5 नहीं है तो उस case में छोटा number कौन होगा 5 अब बस इस 4 और 5 को मैं replace कर दूँ अगर A और B से तो मेरे पास मेरा solution आ जाएगा कि कोई भी दो number A और B हूँ 4 और 5 नहीं 1, 2 है, 4, 10 है 10 और 5 है, कुछ भी numbers है किसी number को check कर लो अगर वो छोटा है, yes तो वो छोटा number है, ये छोटा number है अगर छोटा नहीं है, no तो B छोटा number है, बहुत straightforward solution है, तो इसका flow chart कैसा दिखेगा, सबसे पहले तो हम start ही कर देंगे, start करने के बाद, मुझे क्या चाहिए होंगे, मुझे ये दोनो numbers चाहिए होंगे, comparison से पहले number चाहिए, तो numbers के लिए इन दोनो numbers को हम input कर लेते हैं, A and B को, तो इसके लिए अपना input block बना लेते हैं, next step होता है कि अब इन्हें हम compare करेंगे, अब compare करने के लिए जो हम block use करते हैं, कभी भी अगर हम yes no वाली चीज पूछनी होती है, तो उसके लिए जो हम block use करते हैं, this is called a decision block or a diamond block, तो इसके हम diamond जैसी कोई भी shape है जिसको बना सकते हैं, और जो भी चीज हमें check करनी है, जो भी condition, इसको हम कहते हैं, जो भी condition हमें check करनी है, या फिर इसका answer no हो सकता है, 2 ही हो सकते हैं, और in fact और simplicity के लिए क्या करते हैं, यह yes वाली जो arrow है न, यह यहां से निकाल देते हैं, या तो इसका answer yes हो सकता है, या फिर इसका answer no हो सकता है, 2 ही answers हो सकते हैं, अगर a less than b है, yes, तो छोटी value एक ही हुई, a minimum हो गया, तो उस case में हम print तो उस case में हम print करवाएंगे A को, नहीं तो हम print करवाएंगे B को, तो यह हमारा एक output block हो गया, यह हमारा दूसरा output block हो गया, तो इस तरीके से हमने यहाँ पर एक decision लिया कि answer yes में है या no में है, उसके basis पर output decide होगा, अब एक बार output print हो गया, तो मुझे क्या करना है, मुझे करना and यही same exit हम जाएं तो इसमें भी use कर सकते हैं कि यह print हो गया फिर exit कर दो यह यह print हो गया तो फिर exit कर दो एक चीज notice करेंगे आप इस solution में कभी भी दो numbers A और B के लिए दोनों numbers कभी print नहीं हो सकते, क्यों print नहीं हो सकते, क्योंकि यहाँ पर इस block पर decide हो रहा है कि हमें left direction में जाना है या हमें right direction में जाना है, तो यहाँ पर दोनों directions में जाना possible नहीं है, मतलब दोनों में से जो भी minimum होगा, सिर्फ वही आकर print हो रहा होगा, और इसको test भी कर सकते ह 10 less than 5 नहीं है, तो हम no वाली arrow की तरफ जाएंगे, और हम print करवा देंगे b को, b को मतलब 5 को, तो हमारा answer हो जाएगा 5, तो दोनो numbers में से minimum कौन है, minimum है हमारा 5, तो बहुत straightforward solution था, अब इसका हम pseudo code लिखते हैं, तो pseudo code के लिए, start को तो हम ignore करते हैं, तो उसे ignore कर दिया, first step है input a and b, a less than b है, तो इसको English में कैसे बोलेंगे, इसको English में ऐसे बोलेंगे, is a less than b, हो गए English, हो गया pseudo code, तो इसका answer या तो yes आएगा या no आएगा, तो yes या no को pseudo code में जेनरली हम कैसे लिखते हैं, ये तो हमने condition लिख दी, yes आने के बाद जो answer है, या हम थोड़ी सी space छोड़ते हैं, य एको एंड फिर लिखते हैं हम एल्स एल्स का मतलब है अगर यह नहीं हुआ तो क्या करना है अगर यह नहीं हुआ तो मुझे यह करना है प्रिंट करवाना है बी को तो उसको भी हम थोड़ी सी स्पेस छोड़ते हैं एंड फिर प्रिंट करवाते हैं बी को पे हो जाए तब यह काम करना है नहीं तो यह काम करना है यह हमारा डिसिजन लॉक हो गया एंड थर्ड स्टेप है basically to exit तो यह हमारा पूरा का पूरा pseudo code हो गया for the minimum of two numbers तो इस सवाल से जो हमें नई चीज़ सीखने को मिली वो है कि decision block को flow chart के अंदर कैसे use करते हैं and secondly pseudo code के अंदर जब हमें दिखानी होती है अपनी decision block तो उसको is else या चाहें तो उसे if else की form में भी लिख सकते हैं अब यह if else ही क्यों उसके पीछे का एक logic है जो जब हम C++ पढ़ेंगे तो C++ के अंदर एक हमारा chapter आएगा called conditional statements, और conditional statements वाले chapter के अंदर basically हम if-else पढ़ते हैं, मतलब decisions बनाने सीखते हैं yes or no वाले, तो वहाँ पर क्योंकि if-else आता है, तो शुरुवात से ही हम if-else लिखने की practice डाल सकते हैं, and this is how we completed our flowchart and pseudocode, अब next सवाल की तरफ बढ़ते हैं, next question है जिसमें हमें find करना है, हमें जो number दिया हुआ है, हमें एक number दिया जाएगा, let's call this number n, इसको कुछ भी कह सकते हैं, n बोल दिया इसको, हमें पता करना है, यह number odd है या even number है, यह हमारे पास problem है, यह problem हमें समझ में आ गई, बहुत simple problem है, अब मुझे बस analyze करना है कि मेरे पास input क्या है, input मेरे पास एक ही ची 1, 3, 5, 7, 9, 11, कुछ even numbers लिखके देख लेते हैं, 2, 4, 6, 8, 10, 12, इस तरीके से, कि जितने भी even numbers होते हैं, मतलब positive even numbers के हम बात कर रहे हैं, सारे के सारे even numbers 2 की table में आते हैं, और यही से हमें हमारे solution का hint मिलेगा, अगर सारे के सारे numbers 2 की table में आते हैं, तो कोई भी जो number n है, वो एक तब होगा जब ये n 2 से divide कर दे और completely divide कर जाए मतलब remainder में 0 दे उसका मैं logic बताती हूँ let's suppose मेरा n है 10 तो 10 को जब हम 2 से divide करेंगे ये पूरा का पूरा divide हो जाएगा और remainder में क्या value आएगी remainder में value आएगी 0 लेकिन अगर मेरा n odd होता let's suppose 9 हो था तो 9 को जब हम 2 से divide करते हैं बहुत बच्चों वाली first second class वाली math मैं कर रही हूँ तो 2 से divide करते हैं, तो यहाँ 8 minus होता है, और remainder में value क्या आती, remainder में value आती 1, अगर कोई number 2 से divide करके remainder में 0 दे रहा है, मतलब वो एक even number है, अगर कोई divide करके remainder में 1 दे रहा है, मतलब वो एक odd number है, तो हमें अब किसी भी number को बस 2 से divide करके, उसका remainder चेक करना है, कि वो 0 है या वो 1 है, अब math के अंदर तो divide करने के लिए हम इस तरीके से operations देखते हैं, और फिर अपना remainder निकालते हैं, लेकिन programming के अंदर एक shortcut होता है remainder निकालने का, और वो shortcut क्या होता है, वो एक operator होता है basically, operator क्या होते हैं बाद में पढ़ेंगे detail में जिसे मान लो मुझे दो numbers को add करना है तो मैं ये plus वाला sign यूज़ कर देती हूँ मुझे दो numbers को multiply करना है तो मैं ये sign यूज़ कर देती हूँ मुझे दो numbers को divide करना है तो मैं ये वाला sign यूज़ कर देती हूँ तो वैसे ही programming में एक और symbol होता है जिसको हम अपना percentage symbol कहते हैं A को B से divide करके remainder क्या आएगा तो ये वाले symbol को हम अपना remainder symbol या अपना modulo symbol कहते हैं, modulo का मतलब यहाँ पे हम remainder समझ सकते हैं, कि a को जब b से divide करेंगे तो remainder क्या आएगा, तो अगर कहीं भी लिखा हुआ है a modulo b, तो उसका मतलब है कि हम remainder की बात कर रहे हैं, तो जैसे मैंने लिख दिया 10 modulo 2, तो मैं किस की ब अगर मैंने लिख दिया 9 modulo 2, तो मैं 1 की बात कर रही हूँ, क्योंकि remainder 1 आएगा, तो जब भी modulo लिखते हैं, हम basically remainder की बात करते हैं, तो यहां से हमें एक चीज सीखने को मिल गई, तो solution के लिए हमें क्या बात की थी, solution के लिए हमने बात की थी, कि अगर हमें odd even निकालना है, त अब चेक कर लेंगे क्या ये value 0 है, is this value equal to 0, अब math के अंदर हम single equal to use करते हैं, लेकिन programming के अंदर हम 2 equal to use करते हैं, उसके पीछे का logic भी आपको भी समझ में आएगा दीरे दीरे programming करते हुए, पर ये चीज याद रखनी है, ये modulo का symbol होता है, और जब भी हमें ये लिखना होता है कोई space नहीं देते, तो जब लिख रहे हैं तो इनको पास-पास लिख सकते हैं, तो यह लिखने का मतलब है कि क्या यह value इस value के equal है, तो या तो इसका answer yes हो सकता है, या फिर इसका answer no हो सकता है, या b क्या होगा यहाँ पर, b basically होगा हमारे पास 2, तो कोई भी number n है, उसको अगर हम तो ये क्या किया हमने एक overall approach अपने दिमाग में सोच ली कि इस तरीके की approach हमारी बनेगी अगर मुझे निकालना है n odd है या even तो अब इसका flow chart कैसा देखेगा flow chart को draw कर लेते हैं बहुत simple होने वाला है almost पूरी problem को मैंने solve ही कर दिया आप चाहें तो pause करके खुद भी draw कर सकते हैं कि हम n modulo 2 निखालें और check करें क्या ये value equal to 0 है, तो हमें check करना है कि क्या n modulo 2 is this equal to 0, तो yes या no वाली चीज़ों के लिए हम क्या करते हैं, हम अपने diamond block को use करते हैं, तो diamond block के अंदर ये जो हमारी पूरी की पूरी condition है, इसको हम लिख सकते हैं, या तो इसका answer yes आएगा या इसका answer no आएगा, let's suppose इसका answer या तो yes आता है या इसका answer no आता है, होता है, अब yes वाला case में हम क्या print करवाएंगे, yes वाले case में हम even print करवाएंगे, तो यहाँ पे हम print करवा सकते हैं even, और दूसरी तरफ हम print करवा देंगे odd, क्योंकि यह odd number है, तो इस तरीके से हमने क्या किया, हमने अपने flow chart को draw कर लिया है, and इसको थोड़ा सा और complete कर देते है तो दोनों ही flows को arrows को हम जोड़ देंगे अपने exit के साथ, तो ये हमारा flow chart होता है for the solution to find if a number is order even, इसको एक बार run भी कर लेते हैं solution काम कर रहा है नहीं कर रहा, let's suppose मेरे पास number है n is equal to 150, this is my number, तो सबसे पहले तो मैंने n input ले लिया, 150 आ गया, अब मुझे चेक करना है कि 150 को जब 2 150, 2 से completely divide हो जाएगा, last में 0 आ रहा है, completely divide हो जाएगा, answer 0 ही आएगा, yes में जाएगे, print करवा देंगे even, तो मेरे पास 150 के लिए even print हो जाएगा, because 150 is an even number, तो यह तो इसका flow chart हो गया, solution बिल्कुल ठीक काम कर रहा है, अब इसके लिए इसका हम pseudo code लिख लेते हैं, pseudo code के लिए first जो step होगा, वो होगा to input n, तो यहाँ पर हम input कर देंगे अपने n को, second step जो होगा, वो ये value condition है, हमें already पता है if condition कैसे लिखते हैं, यहां हम लिखेंगे if, या is भी लिख सकते हैं, is, if दोनों same है, if n modulo 2, बिलकुल math की तरह operation लिख सकते हैं, is this equal to 0, अगर yes आता है, तो मुझे even print करवाना है, तो थोड़ी सी space दे देंगे, और print करवाएंगे, even, और odd value, और finally मुझे करवाना है, एकजिट यहां से, तो यह मेरा पूरा कपूरा pseudo code हो गया for this particular problem, तो यह जो pseudo code है, यह बिल्कुल इस जैसा हमें लिख रहा होगा, एक single FL statement है, जो पूरा logic control कर रही है, यहाँ पे भी एक single FL statement है, जो पूरा logic control कर रही है, तो इस तरीके से, and यह standard तरीका होता है, आगे जाके जब ह चाहे कितनी भी बड़ी से बड़ी problem हो, अगर कभी odd even find करना होगा, कि कोई number है या नहीं है, तो हम हमेशा उसका 2 के साथ modulo लेकर, उसे 0 के साथ ही compare करते हैं, ऐसे ही find out किया जाता है odd even, तो यह काफी standard चीज़ है, जिसको हमने सीख लिया है, और इसको आगे के लिए इस logic को हमें याद रख लेना है, तो यह तो हो गया odd even, next problem, जो हमें बहुत अच्छे level की चीज़ें और सिखाने वाली है, वो है to find the sum of numbers from 1 to n, जहांपर n कुछ भी हो सकता है, n अगर 5 हुआ तो 1 से 5 का sum निकालना है, n अगर 100 हुआ तो 1 से 100 का sum निकालना है, n अगर 1000 हुआ तो 1 से 1000 का sum निकालना है, एक चीज वैसे अभी तक आपने notice की होगी, कि योए जो हम solutions लिख रहे हैं, ये solution किसी एक value के लिए dependent नहीं है, कि ऐसा नहीं है कि n अगर odd even है, तो मुझ तो हम वैसे ही solutions build कर रहे हैं, जो irrespective of value work करते हैं, तो n की value चाहे कुछ भी हो, हमारा sum काम करना चाहिए, हमारा sum अच्छे से सही तरीके से calculate होना चाहिए, optimal तरीके से, अब वैसे तो sum of n numbers calculate करने का, मैथ के अंदर एक direct formula होता है, n into n plus 1 divided by 2, लेकिन हम इस direct formula को use नहीं करेंगे, एक confusion होता है students को, students को लगता है DSA के अंदर math होती है, DSA के अंदर math नहीं होती, DSA के अंदर logic होता है, तो हम math नहीं सीख रहे हैं, हमें formula use नहीं करने, हमें तो भी logic देखना है कि कैसे उसी काम को एक program, एक computer से करवाया जा सकता है, अब computer से करवाने से पहले हमें खुद अपना द इसे एक example से समझ लेते हैं, let's suppose हमें n की value 5 given है, और मुझे 1 से लेकर n तक का sum निकालना है, तो इसके पहले 1 को add करेंगे, फिर 2 को add करेंगे, basically यह मेरा sum है, जिसके अंदर मैं पहले 1 add कर रही हूँ, 2 add कर रही हूँ, 3 add कर रही हूँ, 4 add कर रही हूँ, 5 add कर रही हूँ, मैं कु तो ये सारे के सारे numbers को मैंने add कर दिया, मुझे पता है मेरा answer 15 होना चाहिए, और 15 को finally हम जाके print करवा देगे, ये overall logic होता है, math में, paper pen पे करना होता है, तो ऐसे करते हैं, अब इसमें input क्या होगा, input भी मुझे पता है, ये मेरा variable value क्या है, variable मतलब जो चीज change हो सकती है, change क्या हो सकता है, सिर्फ ये n change हो सकता है, शुरुवात तो हमेशा 1 से ही करनी है, वो तो fixed है, तो input में मुझे करवाना है, अपना n या इसको capital N लिख लेते हैं, जहां तक मुझे अपने sub को calculate करना है, अब sum calculate करने का logical तरीका है कि एक number लो, पहले 1 लो, उसको sum में add करो, फिर 2 लो, उसको sum में add करो, फिर 3 लो, उसको sum में add करो, फिर 4 लो, उसको sum में add करो, तो क्यों ना हम कोई variable ले ले ले, या कोई ऐसा placeholder ले ले, placeholder कह सकते है container type, कि मैंने कोई number ले लिया, let's suppose इस number को मैंने count कह sum को मैं zero से शुरू कर सकती हूँ, क्योंकि शुरुवात में कोई भी number नहीं है, तो sum zero होता है, अब एक एक करके इस count को, मतलब इस one को मैं sum में store करना शुरू कर दू, तो पहले मैंने क्या किया, sum के अंदर one store कर दिया, फिर इस count को बढ़ा के मैं two कर दू, फिर मैंने two को sum में add और इस count को मुझे तब तक बढ़ाते जाना है, जब तक last में मेरे पास n नहीं आ जाता, क्योंकि मुझे तो n numbers का sum चाहिए, उसके आगे मुझे कोई मतलब नहीं है, कि आगे कौन से numbers आने वाले हैं, मुझे तो 0 से लेके n तक का sum चाहिए, और ये sum में, इनका final sum calculate हो गया होगा, logic यह हुआ कि कोई दूसरा variable एक count ले लो, जिसको 1 से शुरू कर लो, और बार बार इस count को add कर दो अपने sum में यह मेरा logic है, और यह logic अगर आपको थोड़ा सा यहाँ पे confused feel अगर हो रहा हो किसी student को, और उन्हें लग रहा हो कि, ma'am यह तो मैं शुरू से कैसे solve कर पाऊंगा, यह तो मैं कैसे शुरू से सोच पाऊंगा, तो मैं आपको बता दू, यह शुरू से कोई नहीं सोच पाता, अ� तो यहाँ पे कोई गबराने की ज़रूरत नहीं है कि यह मैं खुद से कैसे सोचूंगा, odd even का logic मुझे खुद से कैसे hit करेगा, नहीं करेगा, इसलिए पहले lecture के अंदर वो concepts, जो खुद से hit नहीं करते हैं, उनको हम lecture के अंदर पढ़ते हैं, और फिर वो concepts जो हमें hit कर सकते थे, उनको हम as a homework problem practice करते हैं, जो हम खुद से नहीं सोच पाएंगे, और चाहे कोई programmer आज की date में किस्तनी भी बड़ी company के अंदर बैठा हो, चाहे वो CTO लेवल पे क्यों ना चला गया हो, कितना भी कोई genius हो, कितना भी किसी के अंदर IQ हो, majority programmers जब शुरुवात करते हैं, जब वो start करते हैं coding को सीखना, तो majority problems उनसे खुछ से solve नहीं होती, majority problems के उन्हें solution समझने पड़ते हैं, फिर उस solution से related problems को खुछ से solve करनी की कोशिश करनी होती है, और हो सकता है जब आप related problems, homework problem करो, उसके बाद हम धीरे धीरे धीरे धीरे बार बार उन problems को solve करते हैं, फिर कुछ नई problems try करते हैं, तब जाके logic build होना शुरू होता है, logic एक class में एकदम से build नहीं होता, और कोई भी nursery class से coding सीख के नहीं आया होता, सारी coding जो सीखते हैं, वो as a beginner mindset ही हर कोई सीखना शुरू करता है, तो ये overall logic है, जिसमें हम क्या करेंगे, account variable ले लेंगे, 1 से शुरू करेंगे, बार बार इसकी value बढ़ाएंगे, और sum में finally हमारा solution आ जाएगा, अब ये जो logic है, इसका flow chart भी आपको थोड़ा सा interesting, और थोड़ा सा complex लग सकता है, पर बाकि उसमें एक बार कर लिया तो complex लगने वाली कोई बात नहीं है, तो इस solution का flow chart कैसे दिखेगा, basically पहले तो मुझे start ही करना है, ये काम मेरा favorite है, क्योंकि इसमें कुछ सोचना नहीं है, दूसरा, हमें ये n चाहिए, हमें input चाहिए, तो ये number input n लेना पड़ेगा, उसके बाद, अब क्योंकि मुझे sum calculate करना है, शुरुआत में sum की value 0 होगी, तो मुझे एक variable define करना है basically sum नाम का, math के अंदर variables होते हैं जो कोई भी value hold कर सकते हैं, तो sum नाम की एक चीज define करनी है जिसके अंदर value है 0, यह मेरा sum हो गया, और एक count define करना है जिसको हम शुरू करेंगे कहां से, इसको हम 1 से शुरू करेंगे, तो यह हो गया मेरा count is equal to 1, और sum is equal to 0 और इतना जो logic है, ये मेरे लिए straightforward logic है, अब ये जो process block में हमने चीज़ें लिखी हैं न, programming के अंदर इस step को initialization कहते हैं, initialization का मतलब होता है कुछ starting values दे देना, जैसे sum को starting value मैंने 0 दे दी, अगर मैं कुछ और calculate कर रही होती तो जरूरी नहीं ये value 0 होती, कई बार हो सकता है initialization में पर इतना detail में हमें जाने की ज़रूरत नहीं है, हम बाद में सीख लेंगे, initialization क्या होता है, अब मुझे क्या करना है बार-बार, मुझे पता है, मुझे मेरे sum के अंदर अपने count को add करना है, क्या मैं कह सकती हूँ, मुझे ऐसा कुछ काम करना है, कि sum की नई value क्या बने, sum की value मे पुराने वाले को delete नहीं कर देना, उसमें चीज़ें आड़ करनी है, तो मेरे लिए काम क्या है, काम मुझे basically यह करना है, कि मुझे sum के अंदर, sum plus count कर देनी है इसकी value, और यह statement मैंने थोड़ा सा side में क्यों लिखी, उसका logic भी समझ में आएगा, मुझे यह काम तो करना है, पर तब ही करना है जब count की value less than equal to n हो, जैसे ही count greater than n हो गया, मुझे काम नहीं करना, जैसे 5 को मैंने add कर दिया, अब count की value तो बढ़के 6 भी होगी, count की value तो बढ़के 7 भी होगी, तो क्या मुझे 6 और 7 को भी sum के अंदर add करना है, नहीं, क्योंकि वो n से बढ़े हो गए, तो मुझे क्या मेरे count की जो value है is it less than equal to n पहले तो हमें condition ही check करनी बड़ेगी तो इसको तो बहले condition block के अंदर हमें लिखना होता है तो यह मेरी condition है कि क्या count की value less than equal to n है, इसके दो ही जवाब हो सकते हैं, या तो yes या no, अगर yes है तब तो काम करना है, तो यह मेरी yes वाली line हो गई, अगर no है तब मुझे काम नहीं कर, तो यहाँ पर जैसे ही हमने initialize कर दिया values को, सबसे पहले हमें check करना है कि count less than equal to n है न, and इसे जिसमें हमने count को शुरू किया 1 से, sum को शुरू किया 0 से, क्या count less than equal to n है, yes, yes है, तो भाई काम कर लो, तो हमने अपना काम कर दिया, और नहीं है, तो कुछ नहीं करना, मतलब sum अभी तक calculate हो गया होगा, जैसे ये 6 बनेगा, जैसे count 6 बनेगा, sum calculate हो चुका होगा, तो हमें print करवा दीना है अपनी sum को, और इसके लिए अपना parallelogram, यानि output block ले आते हैं, और last में, हम कर सकते हैं end, क्योंकि कभी ना कभी ऐसा point तो आएगा ही, जब हमारा count n से बड़ा हो जाएगा, अब ये तो मैंने sum calculate कर लिया, और count को add कर दिया, पर count की शिरुवात कहां से हुई थी, count पहले था 1, तो मैंने 1 को sum के अंदर add कर दिया, अब मुझे इस count को 2 बनाना पड़ेग कि count की जो भी पुरानी value थी, उसमें plus 1 add कर दो, तो वो बढ़ गया, मैं क्या करूँगी, जैसे ही मैंने यह काम कर लिया, उसके बाद next step हमेशा होता है, कि count को अब 1 से बढ़ा दो, फिर दुबारा यही step करो, फिर दुबारा count को 1 से बढ़ा दो, और यह बहुत important concept है, यह concept हमें loops वाले chapter के अंदर help करेगा, हम C++ के अंदर बहुत important concept है, which is loops, वहाँ पर यह logic building हमें help करेगी, sum के अंदर count को add कर दिया, अब count की value को बढ़ा देंगे, count की value को बढ़ाने के लिए, हम यहाँ से एक arrow निकाल सकते हैं, और हम लिख सकते हैं, count is equal to count plus 1, यह भी हमारा process ब्लॉक हो जाएगा, क्योंकि कुछ input output नहीं है, और एक बार हमने दुबारा count को plus 1 कर दिया, अब count की value मान लो 2 हो गई, sum के अंदर add करने से पहले, basically मेरी यह arrow यहाँ पर आकर जुड़ेगी, ठीक है sum के अंदर तो add करना है, पर उससे पहले दुबारा condition को check करना पड़ेगा, condition ठीक है, तभी count add होगा, फिर count update होगा, फिर condition check होगी, तो I hope यह overall logic हमें समझ में आ रहा है, इस logic को एक बार, थोड़ा साम क्या करते हैं, dry run कर लेते हैं, यह शब्द भी आपको बार बार सुनने को मिलेगा, dry run करने का मतलब होता है, example लेके अपने solution को analyze करना, मान लो n मिला है 3, n3 मिला है, छोटी value ले ली, छोड़ा solution ले लिया, input कर लिया n को, count क्या हो गया, count हो गया 1, तो मेरा एक count है, count is equal to 1, sum है शुरुआत में 0, अब सबसे पहले तो हम check कर रहे हैं solution में, क्या count less than equal to n है, क्या 1 less than equal to 3 है, yes, 1 is less than equal to 3, तो भाई sum के अंदर 1 को add कर दो, तो sum के अंदर count add अब दुबारा से चेक करना पड़ेगा, क्या ये जो 2 है, क्या ये 2 less than n है, 2 less than 3 है, yes, 2 is less than 3, तो दुबारा से हम क्या कर गए, loop में आ गए, loop का मतलब होता है गोल चक्कर में आ गए एक तरीके से, तो हम क्या कर गए, इधर से गए थे और इसी रास्ते अब वापस आ गए, द जब बार बार same काम करना होता है, तो उसको हम loop कहते हैं, और वो loop flow chart के अंदर कुछ ऐसा दिखाई देता है, तो दुबारा check करेंगे, 2 less than 3 है, yes, तो 2 को sum के अंदर add कर देंगे, तो 2 यहाँ आ गया, फिर 2 को दुबारा increase कर देंगे, count increase हुआ, count की value अब 3 हो गई, क्या 3 less than equal to 3 है, yes, less than नहीं है, अब चेक होगा क्या count की value less than equal to n है, less than equal to 3 है, इसका जवाब आएगा no, no का मतलब है, अब हमें loop नहीं चला ना, अब हमें इस loop से बाहर निकल गए, अब हम यहां आ जाएगे, अपने sum को print करवा देंगे, sum की क्या value print होगी, 1 plus 2 plus 3, this is equal to 6, final answer 6 print हो जाएगा, और हम कर जाएगे exit लॉजिकली प्रिंट हो गया है, लॉजिकली निकल गया है, तो इस तरीके से हमारी जो प्रॉब्लम है, उसका हम सॉल्यूशन निकाल सकते हैं, अब इस पूरे सॉल्यूशन के लिए सूड मैंने आपको पहली बताये था, यह जो problem है, शुरुवात में थोड़ी से difficult लगती है, sum of n numbers, क्योंकि हम first time देख रहे होते हैं इसी problem, loop को basically हम first time लिखना सीख रहे हैं, पर बहुत असान है, कुछ जादा difficult है नहीं इसमें, तो इसके लिए pseudo code लिखते हैं, in fact एक interesting चीज बताऊं, तो इसलिए interviews के अंदर या DSA के सवाल सॉल करते ताइम हम flow chart नहीं बनाते, पर क्योंकि हम शुरुआत कर रहे हैं, तो मैंने आपको यह flow chart बना कर दिखाए, pseudo code के लिए क्या करेंगे, pseudo code के लिए सबसे पहला step तो यही है, input कर लो n को, तो हमने input कर लिया अपने n को, second step है, कुछ variables को initialize कर दो, count 1 ले लो, sum 0 ले लो, is equal to 1, and sum को initialize कर दिया हमने as 0, थर्ड स्टेप में basically हम ये condition चेक कर रहे हैं, पर क्या हम सिर्फ condition चेक कर रहे हैं, हम सिर्फ condition चेक नहीं कर रहे हैं, हम क्या कर रहे हैं, एक loop में condition को चेक कर रहे हैं, arrows अगर आप notice करोगे, ये arrow यहां जा रही है, ये arrow यहां जा रही है, ये arrow दुबारा इधर आ रही है, तो ए if else का मतलब होता है condition एक बार check हो रही है, लेकिन while का मतलब होता है वो condition बार बार check हो रही है, कौन सी condition है वो, वो condition ये वाली condition है, क्योंकि ये condition बार बार check हो रही है, और इसी के उपर पूरा loop टिका हुआ है, ये condition जब yes देती है तो loop चलता है, ये condition जब no देती है तो loop नहीं चलता, तो ये बहुत important condition है, तो इस condition को हम लिखेंगे with the help of this word called while, while का मतलब English के अंदर होता है, जब तक, जब तक ये condition सच है, तब तक मेरा loop चलेगा, जैसे ही condition false होगी, हम loop से बाहर आ जाएगे, बहुत simple चीज है, तो while condition क्या है, जब तक count की value less than equal to n है, अगर इसने yes दे दिया, तो yes दे दिया तो क्या क्या होगा, yes दे दिया तो ये वाला काम लिखते देते हैं, लूप के अंदर पहला काम होगा, कि सम के अंदर हम count को add कर देंगे, और दूसरा काम होगा, कि count के अंदर हम value को कर देंगे, count plus 1, अब ये वो सारे काम है, जो लूप जब तक चलता रहेगा, तब तक ये काम बार बार repeat होकर होते रहेंगे, पर जै और fifth step होगा कि हम यहां से exit कर जाएंगे, तो यह overall हमारा pseudo code होने वाला है, for this particular problem, अच्छे यहां पे एक और चीज़ मैं आपको सिखाती हूँ, जो थोड़ी सी additional है, जो generally हम C++ करते टाइम सीखते हैं, जब भी हमारे पास इस तरीके की कुछ situation होती है, कि मैंने लिख दिया a is equal to a plus 5, तो इसी को short form में लिखने का तरीका होता है, a plus equal to 5, और यह तरीका code में हम लिखते हैं, तो code में इसी चीज को लिखने का एक छोटा तरीका यह होता है, plus equal to operator, इसे हम एक तरीके का assignment operator कहते हैं, पर operator क्या होते हैं, वो बाद में सीखेंगे, पर इसी चीज को अगर आप short में लिखना जाते हैं, तो आप plus equal to लिख सकते हैं, short में मतलब, जब left में भी वही value हो, right में भी वही value हो, तो इसको एक बार लिखो, और plus equal to कर दो, कि उसी value में plus हो रही है, यह वाली value, तो basically अपने flow chart के अंदर हम ये दो statement लिख रहे हैं, और pseudo code में भी ये दो statement लिख रहे हैं, अब इसी sum is equal to sum plus count को लिखने का दूसरा तरीका है, sum plus equal to count, इसे दूसरी तरीके से लिखने का तरीका है, count plus equal to 1, same way में यहाँ पर इस line को हम लिख सकते हैं, sum plus equal to count, और इस line को हम लिख सकते हैं, count plus equal to, वन, तो यह क्या हो जाएगा, थोड़ी सी चीज शॉर्ट हो जाएगी, यह अभी आप उतना अप्रिशेट नहीं करेंगे, क्योंकि अभी तो हम पेपर पेन पे चीज़ें लिख रहे हैं, पर code में अगर हम ऐसे चीज़ें लिखते हैं, तो वो देखने में और ज़ाधा बेट प्राइम नंबर्स, वैसे तो हमें पता होगा, पर मैथ के अंदर प्राइम नंबर्स वो नंबर्स होते हैं, जो सिर्फ अपनी, अगर कोई नंबर n है, तो या तो वो अपनी टेबल में आएगा, या वो उसके अलावा वो किसी और number की table में नहीं आता, यह सबसे simple definition है इसकी, या फिर कह सकते हैं कि उसके सिर्फ दो ही factors होते हैं, या तो वो number खुद, या फिर one, जैसे for example, three is a prime number, three किस-किस की table में आता है, three एक तो एक की table में आता है, एक तीन की table में आता है, इसके अलावा three किसी की table में नहीं आता, तो हम कह सकते हैं कि three is a prime number, या अगर हम यहाँ पर seven का example लें, 7 हम सबको पता है कि एक तो 1 की table में आता है, एक खुद की table में आता है, उसके अलावा किसी और की table में नहीं आता है, या फिर हम 7 को लिख सकते हैं as 1 into 7 or 7 into 1 in the form of its factors, factors होते हैं, वो numbers जिसे किसी बड़े number को divide किया जाता है, तो 7 को सिर्फ 1 or 7 से ही divide किया जा सकता है, और किसी से वो divide करके remainder 0 नहीं देता, तो 7 हो गया, 3 हो गया, 13 हो गया, ये सारे के सारे क्या हैं, ये सारे के सारे prime numbers हैं, 2 भी एक special prime number होता है, जो अकेला even prime होता है, even prime कहने का मतलब है कि 2 से अगर कोई बड़ा even number होगा, तो वो तो हमेशा 2 की table में extra आई जाएगा, तो 2 से कोई बड़ा even number नहीं होता, जो एक prime number होता है, 2 अकेला even prime number होता है, which is special about 2, and prime numbers obviously हम 2 या 2 से बड़े numbers के लिए ही हमेशा check करते हैं, तो ये तो हो ग अब बात करते हैं, जो non-primes होते हैं, इनको non-prime या composite numbers कहते हैं, पर वो important नहीं है, जैसे मानलो 4 हो गया, 4, 1 और 4 की table में तो आते हैं, पर 2 की table में भी आता है, जैसे 6 हो गया, 6, 1 की table में और 6 की table में आता है, पर साथ के साथ यह 2 की table में भी आता है, यह 3 की table में भी आता है, अब किसी भी number के लिए कैसे find out करेंगे कि कोई भी number एक prime number है या नहीं है, basic condition की हमने बात की मान लो कोई भी number n मुझे given है, let's suppose I am given a number 7, 7 मुझे given है, अब 7 के लिए अगर मुझे logically देखना है कि 7 prime है या नहीं है, तो मुझे ये देखना है कि 7 सिर्फ 1 और 7 की table में आ रहा है या तो हमें इस 7 को बार बार कुछ-कुछ number से divide करके check करना पड़ेगा कि ये उनकी table में आ रहा है या नहीं आ रहा है अब सबसे पहले इसे 1 से divide करके check कर सकते हैं 7 वन की table में तो आएगा ही फिर 2 से check करेंगे, फिर 3 से check करेंगे, फिर 4, 5, 6 क्या 7 7 की table में आएगा? 7 की table में तो हमेशा आएगा ही क्या 8 की table में आ सकता है 7?

No, because 7 is smaller than 8 जिसे 7 8 की table में नहीं आ सकता तो basically उसके आगे मुझे check करने की ज़रूरत नहीं है इसको मैं repeat करके कह देती हूँ कि क्योंकि मुझे 7 के लिए check करना है और मुझे पता है 7 अपने से बड़े numbers की table में तो नहीं आएगा, उसको कहने का mathematical term यह है कि 7 के कोई भी factor 7 से बड़ा नहीं हो सकता, तो बड़े numbers से तो मुझे multiply करना है ही नहीं, और 7 से भी मुझे नहीं multiply करन अगर यहाँ पर 6 होता, तो उसको भी 1 से मुझे multiply करके check करने की ज़रूरत नहीं है, ना 6 से check करने की ज़रूरत है, और 6 से बड़े number से भी check करने की ज़रूरत नहीं है, मुझे इस number को सिर्फ 2 से लेकर n-1 तक check करने की ज़रूरत है, यहाँ पर भी 2 से लेकर n-1 मतलब 6 तक check कर फिर मैं 3 से डिवाइड करूँगी, पता चले का completely डिवाइड नहीं होता, कैसे completely डिवाइड नहीं होता, क्योंकि 7 modulo 3 0 नहीं होता, 7 modulo 3 0 ना होने का मतलब है कि 7 3 से completely डिवाइड नहीं होता, remainder 0 नहीं देता, remainder की कहानी हम सब ने पढ़ लिये, 7 4 से भी completely डिवाइड नहीं होत and that is why 7 is a prime number, अब 6 के लिए देखते हैं, 6 के लिए, या किसी भी number के लिए, मुझे कहां से कहां तक देखना होता है, 2 से लेकर n-1 तक, तो 6 के लिए, मुझे 2, 3, 4 और 5 के लिए चेक करना पड़ेगा, क्या 6, 2 से डिवाइड हो जाता है, यस, 6, 2 से डिवाइड हो जाता है, 6 modulo 2, 0 होता है, 6 एक non-prime number है, 6 prime number नहीं है, तो basically यहाँ पर logically इसको समझें, तो logically मुझे क्या करना है, logically मुझे एक number दिया जाएगा n, मुझे इस number को 2 से लेकर n-1 तक, सारे numbers से इसका modulo निकालना है, अगर इन सारे numbers को हम किसी variable let's suppose i के अंदर ले लें, जैसे हमने count लिया था sum के लिए, वैसे हमने i ले लिया, छोटा है, तो i को पहले हम 2 रखेंगे, फिर इसको हम 3 रखेंगे, फिर इसको हम 4 रखेंगे, और ऐसे इसको n-1 तक ले कर जाएंगे, अपने n को modulo लेना है i के साथ, और check करना है कि क्या ये modulo 0 आता है, या ये modulo 0 नहीं आता, या ये no होगा, अगर modulo 0 आ गया, मतलब yes हो गया, तो उसका मतलब number क्या है, उसका मतलब number 1, non-prime number है, और मुझे आगे check करनी की जरूरत नहीं है, क्योंकि 6 अगर 2 से ही divide हो गया, तो non-prime हो गया, उसके बाद मुझे उसको 3 से भी divide करनी की जरूरत नहीं होती, सिर्फ 1 से ही division क process को, यह हमारा overall logic होने वाला है, इस logic को एक बार pseudo code में convert करने की कोशिश करते हैं, also one more additional thing, यह जो prime number का logic हमने discuss किया है, this is not the most optimal solution to find prime numbers, इससे भी better, ज़्यादा optimized solutions हैं, जो exist करते हैं, पर क्योंकि अभी हम beginner stage पे हैं, उन solutions को बाद में discuss करेंगे, अभी के लिए ऐसा solution discuss कर रहे हैं, प्राइम नंबर के लिए कैसे चेक करेंगे, सबसे पहले तो स्टार्ट कर देंगे, very simple, उसके बाद मुझे क्या करना है, उसके बाद मुझे input ले लेना है अपना कोई भी नंबर n, जिसके लिए मुझे चेक करना है प्राइम या नॉन प्राइम, तो इसके लिए परलेलोग्र 2 से लेकर n-1 तक numbers को divide करना है, यह हमारा process block हो गया, अब next step हमारे लिए basically चेक करना होगा कि ठीक है, मुझे n को i से modulo लेकर divide करना है, पर मुझे यह भी तो चेक करना पड़ेगा, मेरा i तो ठीक है न, i तो ठीक है, मतलब i की value अगर n-1 के less than equal to है, i अगर less than equal to n-1 है, मतलब n अ तो वो condition मुझे check करनी पड़ेगी, condition है कि अगर i less than equal to n minus 1 है, तब ही मुझे n modulo i लेना है, नहीं तो नहीं लेना, तो n modulo i के लिए हमें क्या करना है, यहाँ पर यह मेरा एक diamond block आ गया, जिसमें या तो yes की condition आएगी, या इसमें या तो yes की condition आएगी, या फिर इसमें no की condition आएगी, इन फाक्ट इस पूरे flow chart को हम यहाँ पर थोड़ा सा resize कर लेते हैं, कुछ इतना, तो सबसे पहले तो मुझे चेक करने है, मेरा i वालिड है क्या, i less than equal to n-1 है क्या, या तो इसका answer no आएगा, या इसका answer yes आएगा, no कहने का मतलब है, कि i बड़ा हो गया, i की value n पहुँच गई, अब कोई modulo नहीं लेना, अब सबसे पहले अपना yes वाला काम खतम करते हैं, अग अगर I वालिड है, मतलब यहाँ पर yes है, तो अब मुझे N modulo I के लिए चेक करना है कि क्या यह value equal to 0 है, तो यहाँ पर एक और decision block मुझे बनाना पड़ेगा, या तो यह value equal to 0 है, या यह value equal to 0 नहीं है, तो एक तो case हो जाएगा यहाँ पर no का, और एक case हमारी पास हो जाएगा यह तो क्या करना है, 2 को बढ़ाओ, 2 को 3 करो, और 7 को 3 से डिवाइड करो, तो मुझे भी वही काम करने है, मुझे अपने i को बढ़ाना है, i को बढ़ाकर क्या करना है, इससे यहाँ पर लियाते हैं, i को बढ़ाकर क्या करना है, i को बढ़ाकर मुझे i plus equal to 1 करना है, and फिर दुब और फिर भी no आया तो फिर से दुबारे check करेंगे, तो ये loop मेरा एक चलता रहेगा, कब चलेगा loop, तब चलेगा जब मेरा जो i है, n is equal to 7 के लिए, अगर i की value, let me remove all of this, n is equal to 7 के लिए, जो i की value है, वो पहले 2, 3, 4, 5 और 6 तक जानी चाहिए, तो जब तक i की value वालिड है, और मान लो जैसे ही ये सा आ गया, ये modulo डिवाइड करके जैसे ही ये स वहाँ तो मेरा number कभी prime हो नहीं सकता, मानलो यहाँ पर 6 है, और 6 2 से divide करके 0 आ गया, तो मुझे पता चल गया, non prime number है, non prime number है, yes वाला case, तो यहाँ क्या करेंगे, यहाँ print करवा देंगे, non prime, तो मैंने non prime print करवा दिया, तो this is my diamond block, इस तरीके से कर लेंगे, तो यह मेरी condition हो गई, लेकिन अगर वो number n is equal to 7 की तरह निकला, कि पहले 2 से भी divide नहीं हुआ, फिर 3 से भी नहीं हुआ, फिर 4 से भी नहीं हुआ, फिर 5 से भी नहीं हुआ, फिर 6 से भी नहीं हुआ, और finally इस i को बढ़ कर 7 होना पड़ा, अब तो division नहीं होगा, तो उस case में हम print करवा देंगे, प्राइम, इसे भी अपने एक output block के अंदर store कर लेते हैं और finally क्या आ जाएगा, finally आ जाएगा exit last में और हम सारे के सारे print वाले statements को इस exit के साथ combine कर देंगे तो I hope ये logic हमें समझ में आया होगा इस logic को मैं एक बार repeat करके भी दिखा देती हूँ basically overall हम क्या करने की कोशिश कर रहे हैं एक number है जिसको 2 से लेकर n-1 सारे numbers तक हम divide करने की कोशिश कर रहे हैं तो जब तक i की value, जब तक वो 2 से लेके n-1 तक की range में है हमारा i, तब तक उससे modulo ले रहे हैं, अगर divide नहीं हो रहा तो दुबारा check करेंगे, दुबारा check करेंगे, कब तक check करते रहेंगे, जब तक i7 नहीं बन जाता, अगर i7 बन गया तो prime number है, फिर तो हमें बाहर निकलना तो i की value कहां से शुरू होगी, i की value 2 से start होगी, i is equal to 2 है, सबसे पहले देखेंगे, क्या 2 less than equal to 4 है, हमें i को कहां तक लेकर जाना है, 2 से लेकर n-1 यानि 4 तक, तो क्या 2 की value less than equal to 4 है, yes, yes है, तो क्या 5 modulo 2 0 हो जाता है, 5 modulo 2 0 नहीं होता, 5 modulo 2 1 होता है, क्योंकि 5 2 से divide करके remainder 1 छोड़ता है, यहाँ पे भी no आ गया, तो हम i को कर देंगे plus plus, i plus plus हो गया, मतलब i की value अब 3 हो गई, तो दुबारा जाके चेक करेंगे, कि क्या 3 less than equal to 4 है, बच्चों वाली math है, yes है, तो yes वाले में चले जाएंगे, क्या अब 5 modulo 3, 0 आता है, नहीं आता, तो 9 पे चले जाएंगे, अब दुबारा i को plus plus कर देंगे, i बढ़कर अब 4 हो गया तो उसके लिए yes मिल गया, अब यहाँ check करेंगे, क्या 5 modulo 4 equal to 0 है, 5 modulo 4 equal to 0 नहीं होता, 5 modulo 4 equal to 1 होता है, क्योंकि 5 4 से divide करके remainder में 1 छोड़ता है, तो इसका answer भी no आ गया, no आ गया, तो दुबारा i को बढ़ाएंगे, इस बार i को बढ़ा के मैंने 5 कर दिया, i की शक्तियों को no, इसका answer no है, जैसे ही no हुआ, वैसे ही मुझे पता है अब ये number prime number, तो मुझे क्या print करवाना है, मुझे इसके लिए print करवाना है, that this number is a prime number, and now I am going to exit my program, ये मेरा overall logic है, आपके लिए मैं homework problem दे रही हूँ, कि यहाँ पे pause करना है, और एक बार n is equal to 8 के लिए analyze करना है, कि क्या आ समझ पा रहे हैं इसके ऊपर arrows से आप run कर पा रहे हैं कि logic कहां से कहां गूम रहा है, n is equal to 8 के लिए i को आपको लेके जाना है 2 से लेकर 7 तक, और analyze करना है कि कहां पर क्या आप prime print करवा रहे हैं, क्या आप non prime print करवा रहे हैं, क्या आपका answer आ रहा है, answer मुझे पता है non prime आना चाहिए क्योंकि a tech non prime number हो, पर क्या आप इस loop के थूँ घूम पा रहे हैं, सारी चीज़ें हो पा रही हैं, वो एक बार आपको dry run करना है, तो ये अब ये सबसे best तरीका नहीं है prime को check करने का इससे भी और better तरीके exist करते हैं पर उनको हम बाद वाले lectures के अंदर पड़ेंगे अब यहाँ पे इसका pseudo code लिख लेते हैं pseudo code is also going to be very easy pseudo code के लिए सबसे पहला step है कि मुझे input करना है n को दूसरा step है कि अपने i को initialize कर दो 2 के साथ तीसरा step है कि मुझे condition चेक करनी है पर क्या ये condition मुझे एकी बार चेक करनी है नहीं यह condition मुझे बार बार बार बार चेक करनी है क्योंकि यह condition कहाँ है, यह condition loop की main condition है, अगर यह condition सच होती है तो loop चलता है, अगर यह condition false होती है तो loop रुक जाता है, loop मतलब यह गोल चक्कर जो हमें flow chart के अंदर दिखाई दे रहा है, यह arrow यहां जा रही है, यह arrow यहां जा रही है, i less than equal to n minus 1, इसको bracket के साथ भी लिख सकते हैं, बिना bracket के भी लिख सकते हैं, it will not make a difference, while i is, clarity के लिए I like the brackets, while i is less than equal to n minus 1, मुझे ये दोनों काम करने हैं, सबसे पहले ये काम करना है, ये क्या काम है, ये काम है कि पहले तो check करो, n modulo i equal to equal to 0 है क्या, तो यहाँ पे, अब ये जो condition है ये वैसे तो loop का part है पर ये loop की main condition नहीं है loop की main condition ये है जिससे loop चलता है और रुकता है इससे loop चल या रुक नहीं रहा directly इसको loop की condition नहीं कहेंगे इसको हम if else से ही लिखेंगे तो if n modulo i equal to equal to 0 अगर n modulo i equal to equal to 0 हो गया तो हम क्या करेंगे yes वाली case में हमें print करवाना है non-prime येस वाले case में हमने क्या print करवाया, non-prime, और एक और चीज यहाँ पे note करनी है, जैसे ही non-prime print करवाया, आगे तो और कुछ करने की ज़रूरत है नहीं, मुझे तो क्या करना है, non-prime print करवाके सीधा exit करना है, तो अपना एक exit मैं यहीं पर लिख सकती हूँ, कि भाई जैसे ही इसके लिए अगर no आया, तो पहले i plus equal to 1 हमें करना है, तो else वाले case में i is going to be i plus 1, तो यह i plus 1 हो गया, और वापस से गूम के क्या करेगा, उसी condition को check करेगा, तो जैसे i is equal to i plus 1 हो गया, यह वापस से जाएगा, while condition को check करेगा, दुबारा से यह वाली condition check होगी, अगर यह सच है, दुबारा i को बढ़ाओ, दुबारा check करो, दुबारा i को बढ़ाओ, दुबारा check करो, तो इस तरीके से हमारा loop गोल चक्कर में चलता रहेगा, मान लो यह while condition खतम हो गई, मतलब यह वाली जो main condition थी यह खतम हो गई, और इसने no दे दिया, तो अब हमें क्या करना है, अब हमें तो ना ये काम होगा, ना ये काम होगा, सारे काम skip हो जाते हैं, जैसे ही exit आ गया, exit के बाद अगर आप कुछ लिखते हैं, तो वो कुछ नहीं होता, तो जैसे ही अगर यहाँ पे non-prime print हो गया होगा, और exit आ गया होगा, वैसे ही अब कुछ भी काम नहीं होगा, तो या तो non-pr लूप्स जो हैं, वो जेनरली फ्लो चार्ट और सूडो कोड से थोड़े से मुश्किल लगते हैं स्टूडेंस को, पर मैं आपको पहले एशौर कर रही हूँ, ये देखने में थोड़ी सी डरावनी चीज लग रही है यहाँ पर, और ये है, पेपर पेंड पे थोड़ा सा डर C++ Code को, Java Code को, Languages के Code को judge करने की ज़रूरत नहीं है, यह ठीक है, हम पढ़ते हैं Logic Building के लिए, पर C++ Code के अंदर जो Loops का Syntax होता है, जो Loops को लिखने का तरीका होता है, वो मुझे personally बहुत ज़ादा असान लगता है as compared to Flowchart and Pseudo Code, तो Code पे विश्वास रखना है कि Code आएगा और एक तो मैं आपको कुछ homework problems दूँगी, जिसमें से सबसे पहली problem है to calculate simple interest, basically हमारे पास 3 input होंगे, principle, rate and time, इनको हम PRT कहते हैं, और formula होता है, कि simple interest is equal to P into R into T, यह simple सा formula होता है, तो आपको simple interest calculate करके print करवाना है, यह first problem है, second problem है, जैसे minimum of 2 numbers हमने किया था, वैसे आपको maximum of 2 numbers करना है, third you have to calculate the factorial of a number n, अब n factorial क्या होता है, इसको math के अंदर हम exclamation से लिखते हैं, इसको पढ़ा कैसे जाता है, पढ़ते हैं हम इसको, n factorial कहते हैं हम इसको, n factorial का मतलब होता है, 1 x 2 x 3 x 4 x 5, जब तक हम n तक नहीं आ जाते हैं, तो n factorial का मतलब होता है, 1 से लेके n तक सारे numbers को multiply करके, जो answer आएगा, उसको हम n factorial कहते हैं, Math के अंदर बहुत easy concept था जो पढ़ा था, इसको calculate करने के लिए हमें flowchart and pseudocode लिखना है, यह बहुत असान भी लग सकता है, आपको challenging लग सकता है थोड़ा सा, इसका जो logic होगा वो prime number और हमारे sum of n numbers जैसा होगा, तो basically loop लगाना है इसमें आपको, मैं hint भी दे देती हूँ, 1 से तो यह हमें factorial के लिए solve करना है, एक और additional चीज मैं आपको दे रही हूँ, मान लो आपको last जो question है, for a given person's age, find if they should get a driving license or not, basically आपको किसी भी input में किसी भी व्यक्ति की age दी जाएगी, आपको बताना है, driving license मिल सकता है yes, या नहीं मिल सकता no, तो आपको किस basis पे check करना है, इंडिया का standard ले, तो age अगर greater than or equal to 18 होती है, तब तो driving license मिल जाता है, नहीं तो नहीं मिलता, तो basically ये चीज, ये check आपको लगाना है for the age to solve this problem, ये चार problems हैं, जिनको as homework problem आपको solve करना है, इनका flow chart and pseudo code दोनों लिखकर आपको देखना है, तो ये तो हमने homework set कर दिया, first अपना chapter complete कर दिया, plus इसके साथ में कुछ और additional चीज़ें हैं, जो second chapter start होने से पहले मैं आपके साथ share करन code करना शुरू कर सकें, जब भी code लिखा जाता है, जब भी हम किसी problem को solve करते हैं, पहले तो problem को हम understand करते हैं, फिर उसके हम input analyze करते हैं, फिर हम उसका कोई ना कोई solution लिखते हैं, और फिर finally उस solution को code के अंदर convert किया जाता है, अब यह जो code होता है, यह different different languages में लिखा जा सकता है, ह notebook का use नहीं करेंगे, हम एक digital notebook का use करेंगे, digital notebook कहने का मतलब है, हमारे पास कुछ editors होते हैं, editors softwares होते हैं, जो हम अपने laptop या computer के अंदर install करते हैं, इन में इसे काफी famous editor होता है, called visual studio code, इसके बारे में मैं अभी आपको बताऊंगी, we also call it VS code for short, इसको आपको install करना पड़ेगा, क्या होता है code के अंदर, कैसे लिखते हैं, उसको बाद में सीखेंगे, पर मान लो मैंने C++ का code लिख दिया, पर फिर भी यह जो C++ है न, यह मेरे computer को समझ में नहीं आती, क्योंकि computers क्या है, electronic machine है, उनको languages समझ नहीं आती, हम बोलते हैं ऐसे हैं कि C++, Java, Python, यह सारी languages computers को समझ में या electricity पास नहीं हो रही, तो उसको समझता है, basically अगर computer के अंदर electricity पास करती है, या signal पास करता है, current पास करता है, तो उसको हम 1 कहते हैं, और पास नहीं करता है, तो उसको हम state 0 कहते हैं, तो computers को सिर्फ 0 और 1 वाली state समझ में आती है, उसको बस यह समझ में आता है, मैं computer हूँ, मै तो basically 0 और 1 की भाषा में इस C++ code को पहले convert किया जाता है, फिर ये computer को समझ में आता है, तो computer के पास इसे भेजने से पहले, बीच में क्या होता है, बीच में translator होता है, जैसे translators होते हैं, हिंदी से English का अनुवाद कर दिया, translation कर दिया, Gujarati से English के अंदर convert कर दिया, Bengali से English के अंदर जो इस C++ कोड को 0 और 1 वाले कोड के अंदर convert करते हैं, और फिर उस कोड को computer को दिया जाता है, यह 0 और 1 वाला कोड है, जिसको computer को दिया जाता है, और यह जो 0 और 1 वाला कोड है, इसको हम executable कहते हैं, तो हमारी C++ की जो file होगी, उसको हम एक executable file के अंदर convert करेंगे, और यह executable file इस translator को भी आपको install करना पड़ेगा, translator basically एक C++ compiler होता है, इस compiler को हम translator कहते हैं, और इस compiler का काम होता है that it converts your C++ code to an executable file, जो run हो सके, जिसको computer समझ सके, तो internally पहले C++ code executable में convert होता है, फिर उसको computer हमारा run करता है, तो अपने system पे, चाहे आप Mac यूज़ कर रहे हैं, चाहे आप Windows यूज़ कर रहे हैं, चाहे आप Linux यूज़ कर रहे हैं, दो चीजे हमें install करनी पड़ेगी, सबसे पहला visual studio code, जिसको आपको download करना पड़ेगा, visual studio code Microsoft का एक free software है, जिसको download करने के लिए आपको कोई charges नहीं है, बिलकुल free में कोई भी इसे अपने system के उपर download कर सकता है, और एक और चीज मैं आपको बता देती हूँ, यह इतना अच्छा तो इसको download करना बहुत ज़्यादा important है, in fact मैं आपको दिखा भी देती हूँ कि Visual Studio Code को हम कहां से download करेंगे, हमें जाना है इस link पर, which is basically code.visualstudio.com slash download, इस website पर जाकर बहुत सारे options हमारे पास होंगे, अगर हम एक Mac user हैं, तो हम Mac के लिए download कर सकते हैं, depending upon हमारे पास Intel chip है, या we have Apple Silicon, अगर हम Linux पर हैं, तो हम download कर सकते हैं, अगर हम Windows पर हैं, तो हम Windows के लिए download कर सकते हैं, जिस भी system पर हैं, आपको simply download पर click करना है, Visual Studio Code का already download करने के लि तो उस वीडियो का link भी मैं आपको description के अंदर दे दूँगी, वहाँ से जाकर हम help place करें, बाकि download करना बहुत easy होने वाला है, and second चीज़ जो हमें download करनी है, that is setting up C++ compiler in your system, C++ compiler हमें setup करना पड़ेगा, install करना पड़ेगा, तो ये इसका जो process होता है, वो Windows वाले user के लिए अलग process होगा, और Mac वाले users के लिए अलग process होगा, दोनों का जो process है थोड़ से different होने वाला है, तो दोनों को आप कैसे कर सकते हैं, Windows वाली user कैसे setup करें, Mac वाली user कैसे setup करें, उसके अलग-अलग installation के videos हैं, जो हमने already बनाए हुए हैं, उनका link भी आपको दी दिया जाएगा, तो depending upon आपका क्या system है, आप जाके चीज़ें download कर सकते हैं, तो आपको वही step by step process जो है, उसको follow करना बीच में हो सकता कोई error आ जाए, बीच में हो सकता कोई problem आ जाए, जो कि completely normal चीज है, लेकिन उससे घबराना नहीं है, और वहाँ पर ऐसा नहीं करना कि भाई मेरा तो error आ गया, मैंने छोड़ दिया, हम यहाँ पर DSA सीख रहे हैं, लेकिन DSA से भी बढ़कर, यहाँ पर हम problems को solve उस error को copy करना है और उस error को जाके simply google करना है, internet पर almost हर एक चीज़ का solution होता है, जो आप software install करने जा रहे हैं, वो आप से पहले लाखों लोगों ने install किये हैं, तो उनके solutions भी आपको internet पर मिल जाएंगे, once again इन्हें जो download करने के step by step links हैं, step by step tutorial हैं, उसका link आपको दी दिया गया है, description box में, आपको इन्हें download करना है, अच्छा एक और additional चीज़, जैसे visual studio code तो हमें अपने system के उपर download करना होता है, कुछ browser based tools हैं या browser based websites हैं जो exist करती हैं जहाँ पे बिना कुछ install के हुए आप directly code लिख सकते हैं अब वैसे तो ये ठीक लगता है कि ठीक है मुझे कुछ install भी नहीं करना पड़ा और मैंने directly code कर दिया लेकिन DSA हम long term आपने एक दो महीने सीखा बाद में next company में भी apply करते हैं तब भी हमसे DSA के rounds पूछे जा सकते हैं तो इसलिए DSA के जो आपके codes हैं, उनको सभाल के आप अपने system के ऊपर रख सकते हैं, तो इस तरीके से browser based websites मैं आपको recommend नहीं करूँगी, मैं आपको यही recommend करूँगी कि आप visual studio code को download करें, चाहे उसमें आपको extra time ही क्यों न लग जाए, क्योंकि वो आपको long term में बहुत जादा जिस पर हमें mastery लेके ही आनी पड़ेगी, तो यही चीज, visual studio code ही, मैं आपको recommend करूँगी for long term, मैं आपको recommend नहीं करूँगी, कि आप browser based websites पर जाकर code करें, शिरुवात में as a beginner, थोड़ा साइड difficult लग सकता है, पर long term में आप मुझे thank you बोलेंगे, because it is going to help us as a student, हम बहुत सारे concepts हैं, जिनको सीखने वाले हैं, consistency बनाने के लिए, हम दो additional चीजें और करने वाले हैं, सबसे पहला तो, जैसे ही आपका कोई भी lecture खतम हो जाता है, let's suppose आपने lecture 1 complete कर दिया, आप क्या कर सकते हैं, for a sense of achievement as a student, हम जाकर comment कर सकते हैं, कि यह हमारी date है, आज हमने lecture 1 है, और इसको हमने complete कर दिया है, तो उससे क्या होगा, छोटे-छोट तो वो comment करना, वो लिखना कि मेरा lecture 1 आज इस date पर complete हुआ है और मैंने इस topic को complete किया है, वो एक तरीके से internally हम खुद को बता रहे हैं, repeat करके कि मैंने एक goal दिमाग में सोचा था, कि मुझे इस lecture को complete करना है और उस goal को मैंने complete कर लिया है, तो वो feeling of consistency हमारे अंदर लेकर आएगा, तो एक तो ये चीज additional हम कर सकते हैं, and एक और additional चीज जो हम कर सकते हैं, that is taking the consistency challenge, so basically हमने एक twitter account start किया था, to track the progress for all of the students, जो इस series को follow कर रहे हैं, तो आपको किसी भी lecture के अंदर, अगर आपको लगता है आपने कुछ सीखा है, आपकी कोई नई learning रही है, you can also tag us on twitter, वो learning आप दूसरों तक share भी कर सकते हैं, that is basically called learning in public. तो learning in public से क्या होता है, you get to share what you are learning everyday, और एक बार आप share करना शुरू करते हैं, एक बार आप बताना शुरू करते हैं कि हाँ ठीक है, आज मैंने ये सीखा, आज मैंने ये सीखा, तो हमारा बहुत सारे track record बनना शुरू हो जाता है, and it gives us a feeling of achievement, और जब भी हम DSA स्टार्ट कर रहे keep the josh high, and उसके लिए हमने दो additional steps लिए हैं, so as a student if you feel like it, you can follow these steps for consistency, so I hope कि आज के lecture में बहुत सारी learnings रही, ऐसे ही आगे आने वाले lectures के अंदर भी काफी सारी learnings हमें मिल रही होंगी, next lecture number 2 से हम अपनी coding journey की शुरुवात करेंगे, हम code लिखने वाले हैं, तो उससे पहले ensure करना है,