नेपाली नेपालीDOCS
GitHub

नियन्त्रण प्रवाह

कार्यक्रम माथिबाट तल सीधा चल्छ, तर सधैं उस्तै चल्नु पर्दैन — सर्तअनुसार निर्णय गर्न र काम दोहोर्‍याउन (लुप) चलाउन नियन्त्रण प्रवाह चाहिन्छ। यही नै भाषामा "सोच्ने" क्षमता ल्याउने भाग हो।

१. यदि / नत्र

सर्त सत्य भए पहिलो ब्लक चल्छ, नभए नत्र को ब्लक। सर्तको नतिजा सत्यअसत्य हुनुपर्छ — प्रायः तुलना अपरेटरबाट आउँछ:

उमेर = २०

यदि उमेर >= १८
    लेख "तपाईं वयस्क हुनुहुन्छ"
नत्र
    लेख "तपाईं नाबालक हुनुहुन्छ"
अन्त्य

नत्र बिना पनि यदि ... अन्त्य लेख्न सकिन्छ — सर्त नपुगे ब्लक केही नगरी अगाडि बढ्छ।

२. नत्र यदि (Else If)

धेरै सर्त क्रमैसँग जाँच्न नत्र यदि — पहिलो सत्य भएपछि बाँकी जाँचिन्छन्:

अङ्क = ७२

यदि अङ्क >= ८०
    लेख "ग्रेड: A"
नत्र यदि अङ्क >= ६०
    लेख "ग्रेड: B"
नत्र यदि अङ्क >= ४०
    लेख "ग्रेड: C"
नत्र
    लेख "ग्रेड: F"
अन्त्य

३. नेस्टेड यदि

ब्लकभित्र अर्को ब्लक — पहिले बाहिरी सर्त, त्यसपछि भित्री:

यदि उमेर >= १८
    यदि उमेर >= ६०
        लेख "ज्येष्ठ नागरिक"
    नत्र
        लेख "वयस्क"
    अन्त्य
अन्त्य
सुझाव: नेस्टेड धेरै गहिरो नबनाउनुहोस् — दुईभन्दा बढी तह पढ्न गाह्रो हुन्छ। धेरै तह भयो भने /वा ले सर्त जोडेर वा कार्यमा बाँडेर सरल बनाउनुहोस्।

४. जबसम्म लुप (While)

सर्त सत्य रहुन्जेल दोहोर्‍याउँछ। सर्त झूटो हुँदैन भने लुप कहिल्यै नरोकिने हुन्छ — त्यसैले सर्त परिवर्तन गर्ने चरण लुपभित्र हुनुपर्छ:

राख क = १
जबसम्म क <= ५
    लेख क
    क = क + १      # यो चरण नभए लुप कहिल्यै नरोकिन्थ्यो
अन्त्य
# आउटपुट: १ २ ३ ४ ५

अर्को सामान्य प्रयोग — १० बाट तल झर्दै गिन्ने:

राख क = १०
जबसम्म क > ०
    लेख क
    क = क - १
अन्त्य
लेख "प्रक्षेपण सुरु!"

५. प्रत्येक लुप (For-Each)

सूची/नक्साका हरेक तत्वमा क्रमैसँग काम गर्न प्रत्येक <चर> भित्र <सङ्ग्रह>:

राख नामहरू = ["राम", "श्याम", "हरि"]
प्रत्येक नाम भित्र नामहरू
    लेख नाम
अन्त्य
# आउटपुट: राम श्याम हरि

नक्सामा पनि उत्तिकै चल्छ — हरेक पटक कुञ्जी-मान जोडी पाइन्छ:

राख नामावली = {"राम": २५, "सीता": २२}
प्रत्येक नाम भित्र नामावली
    लेख नाम
अन्त्य
पुरानो रूप: हरेक <चर> मा <सूची> पनि चल्छ — पुरानो कोडमा भेटिए प्रत्येक ... भित्र मा बदल्नुहोस्।

६. पूरा कार्यक्रम

नियन्त्रण प्रवाहका सबै तत्व मिसाइएको उदाहरण — सङ्ख्या अनुमान खेल:

कार्य अनुमान_खेल()
    राख गुप्त = ४२
    राख प्रयास = ०

    जबसम्म सत्य
        प्रयास = प्रयास + १
        राख अनुमान = ३०    # व्यवहारमा यहाँ पढ() बाट लिइन्छ

        यदि अनुमान == गुप्त
            लेख "सही! तपाईंले " + प्रयास + " पटकमा भेट्टाउनुभयो"
            फर्काऊ
        नत्र यदि अनुमान < गुप्त
            लेख "थप माथि"
        नत्र
            लेख "थप तल"
        अन्त्य
    अन्त्य
अन्त्य

अनुमान_खेल()

नियन्त्रण प्रवाह र कार्य मिलेपछि तपाईं साना-साना तार्किक कार्यक्रम लेख्न सक्नुहुन्छ — अब कार्यहरू ट्याबमा जानुहोस्।