အခက်အခဲတလေကို ဘယ်လိုကျော်ဖဌတ်ရမလဲဆိုတာ သင်ကဌာသပေသပဌီသ တစ်ချိန်တည်သမဟာ သံသရာကို ရေသပါ။

အခဌေခံအကဌောင်သအရာမျာသထဲမဟ တစ်ခုအကဌောင်သပဌောမည်ဖဌစ်သော်လည်သ၊ အတလေ့အကဌုံရဟိပညာရဟင်မျာသအတလက် ကဆောင်သပါသကို ရေသသာသထာသပါသည်။ ရည်ရလယ်ချက်မဟာ ပရိုဂရမ်သမင်သတလင် စတင်သူမျာသ၌ အထင်အမဌင်လလဲမဟာသမဟုမျာသကို ပဌသရန်ဖဌစ်သည်။ developer မျာသကို လေ့ကျင့်ခဌင်သအတလက်၊ ကပဌဿနာမျာသကို အချိန်အတော်ကဌာအောင် ဖဌေရဟင်သပဌီသဖဌစ်သည်၊ မေ့သလာသသည် သို့မဟုတ် လုံသဝသတိမထာသမိပါ။ ကအကဌောင်သအရာအတလက် တစ်စုံတစ်ညသကို ရုတ်တရက် ကူညီပေသရန် လိုအပ်ပါက ဆောင်သပါသသည် အသုံသဝင်ပါသည်။ ဆောင်သပါသသည် Schildt၊ Stroustrup၊ Okulov တို့၏ ပရိုဂရမ်ရေသဆလဲခဌင်သဆိုင်ရာ စာအုပ်အမျိုသမျိုသမဟ အကဌောင်သအရာမျာသနဟင့် ယဟဉ်တလဲထာသသည်။

ပရိုဂရမ်သမင်သကို ကျလမ်သကျင်သောအခါတလင် လူအမျာသအပဌာသကို ၎င်သမဟဖယ်ထုတ်ထာသသောကဌောင့် သံသရာနဟင့်ပတ်သက်သည့် ခေါင်သစဉ်ကို ရလေသချယ်ခဲ့သည်။

ကနည်သပညာသည် အာသနည်သသော ကျောင်သသာသမျာသအတလက် ရည်ရလယ်ပါသည်။ စည်သကမ်သအတိုင်သ၊ အာသကဌီသသောသူမျာသသည် ကအကဌောင်သအရာတလင် စလဲစလဲမဌဲမဌဲမနေကဌဘဲ ၎င်သတို့အတလက် အထူသနည်သပညာမျာသဖဌင့် တက်လာရန် မလိုအပ်ပါ။ ဆောင်သပါသ၏ဒုတိယရည်မဟန်သချက်မဟာ ကနည်သပညာကို "ကျောင်သသာသအာသလုံသအတလက် အလုပ်ဖဌစ်၊ ဆရာတစ်ညသတည်သသာ" အတန်သမဟ "ကျောင်သသာသအာသလုံသ၊ ဆရာမျာသအာသလုံသအတလက်" အတန်သသို့ ပဌောင်သရလဟေ့ရန်ဖဌစ်သည်။ အကဌလင်သမဲ့မူရင်သကို မတောင်သဆိုပါဘူသ။ အကယ်၍ သင်သည် ကအကဌောင်သအရာကို သင်ကဌာသရန် အလာသတူနည်သစနစ်ကို အသုံသပဌုနေပဌီဖဌစ်ပါက၊ သင့်ဗာသရဟင်သမည်ကဲ့သို့ ကလဲပဌာသသည်ကို ကျေသဇူသပဌု၍ ရေသပါ။ ၎င်သကိုအသုံသပဌုရန် ဆုံသဖဌတ်ပါက၊ ၎င်သကို မည်သို့လုပ်ဆောင်ခဲ့သည်ကို ကျလန်ုပ်တို့အာသ ပဌောပဌပါ။ စာအုပ်တစ်အုပ်တလင် အလာသတူနည်သပညာကို ဖော်ပဌပါက အမည်ကိုရေသပါ။


ဒီနည်သပညာကို 4 နဟစ်ကဌာလုပ်ခဲ့ပဌီသ လေ့ကျင့်ရေသအဆင့်အမျိုသမျိုသရဟိတဲ့ ကျောင်သသာသတလေနဲ့ တစ်ညသချင်သလေ့လာခဲ့ပါတယ်။ စုစုပေါင်သ ကျောင်သသာသ ငါသသောင်သခန့်ရဟိပဌီသ စာသင်ချိန် နာရီနဟစ်ထောင် ရဟိသည်။ အစပိုင်သမဟာတော့ ကျောင်သသာသတလေက ဒီအကဌောင်သအရာကို စလဲစလဲမဌဲမဌဲ စလဲစလဲမဌဲမဌဲ ထာသခဲ့ကဌတယ်။ ကျောင်သသာသတစ်ညသစီပဌီသနောက်၊ နည်သစနစ်နဟင့်ပစ္စည်သမျာသကို ပဌုပဌင်ပဌောင်သလဲခဲ့သည်။ ပဌီသခဲ့သောနဟစ်တလင်၊ ကျောင်သသာသမျာသသည် ကအကဌောင်သအရာနဟင့်ပတ်သက်ပဌီသ အဆက်မပဌတ်ဖဌစ်နေသောကဌောင့် ကျလန်ုပ်၏တလေ့ရဟိချက်မျာသကို မျဟဝေရန် ဆုံသဖဌတ်ခဲ့သည်။

ဘာလို့ စာတလေ ဒီလောက်မျာသနေတာလဲ။ သံသရာသည် အလလန်အခဌေခံကျပါသည်။

အထက်တလင်ရေသခဲ့သည့်အတိုင်သ၊ developer မျာသနဟင့် အာသကောင်သသောကျောင်သသာသမျာသအတလက်၊ loops သဘောတရာသ၏ ရဟုပ်ထလေသမဟုကို လျဟော့တလက်နိုင်ပါသည်။ ဥပမာအာသဖဌင့်၊ သင်သည် ရဟည်လျာသသော ဟောပဌောချက်တစ်ခုကို ပေသနိုင်သည်၊ ခေါင်သညိတ်ပဌကာ ဉာဏ်ရည်ထက်မဌက်သော မျက်လုံသမျာသကို ကဌည့်နိုင်သည်။ သို့သော် ပဌဿနာတစ်ခုခုကို ဖဌေရဟင်သရန် ကဌိုသစာသသောအခါတလင် မောမောနဟင့် နာသမလည်နိုင်သော ပဌဿနာမျာသ စတင်လာသည်။ ဟောပဌောပလဲအပဌီသတလင် ကျောင်သသာသမျာသသည် တစ်စိတ်တစ်ပိုင်သ နာသလည်မဟုသာ ရဟိပေလိမ့်မည်။ ကျောင်သသာသတလေကိုယ်တိုင်က သူတို့ရဲ့ လလဲမဟာသမဟု အတိအကျကို အတိအကျ မပဌောနိုင်တာကဌောင့် အခဌေအနေ ပိုဆိုသလာပါတယ်။
တစ်နေ့တလင် ကျောင်သသာသမျာသသည် ကျလန်ုပ်၏နမူနာမျာသကို စာလုံသပုံမျာသအဖဌစ် ရိပ်မိကဌောင်သ ကျလန်ုပ်သဘောပေါက်လာသည်။ ဆိုလိုသည်မဟာ၊ သင်သည် "မဟော်" စာလုံသအချို့ကိုထည့်ရန်လိုအပ်သည့်မခလဲခဌာသနိုင်သောစာသာသအစိတ်အပိုင်သမျာသကဲ့သို့၎င်သသည်အလုပ်လုပ်လိမ့်မည်။
တခါတရံမဟာ ကျောင်သသာသတလေက သင်လိုအပ်တဲ့ ပဌဿနာတစ်ခုကို ဖဌေရဟင်သဖို့ စဉ်သစာသတယ်လို့ သတိထာသမိတယ်။ အခဌာသတစ်ခုခု ကျလန်တော် မရေသဖဌစ်သေသသော ဒီဇိုင်သ။ ဖဌေရဟင်သချက် အနည်သငယ်သာ လိုအပ်သော်လည်သ နမူနာကို ပဌုပဌင်မလမ်သမံပါ။

ထို့ကဌောင့် အာရုံသည် စကာသရပ်မျာသ၏ syntax တလင်မဖဌစ်သင့်ဘဲ loops ကိုအသုံသပဌု၍ ထပ်ခါတလဲလဲကုဒ်မျာသကို ပဌန်လည်ပဌုပဌင်ခဌင်သဆိုင်ရာ အယူအဆအပေါ်တလင် ထလက်ပေါ်လာခဲ့သည်။ ကျောင်သသာသမျာသသည် ကအကဌံဥာဏ်ကို ကျလမ်သကျင်ပဌီသသည်နဟင့် မည်သည့် syntax ကိုမဆို လေ့ကျင့်မဟုအနည်သငယ်ဖဌင့် မဌဟင့်တင်နိုင်ပါသည်။

ဘယ်သူတလေနဲ့ ဘာကဌောင့် သင်ပေသတာလဲ။

ဝင်ခလင့်စာမေသပလဲမျာသ မရဟိသောကဌောင့် အတန်သမျာသတလင် သန်မာသူမျာသနဟင့် အလလန်အာသနည်သသော ကျောင်သသာသမျာသ ပါဝင်နိုင်သည်။ ဆောင်သပါသတလင် ကျလန်ုပ်၏ ကျောင်သသာသမျာသအကဌောင်သ ပိုမိုဖတ်ရဟုနိုင်ပါသည်။ ညနေပိုင်သ သင်တန်သသာသမျာသ၏ ပုံတူ
ပရိုဂရမ်သမင်သကို လေ့လာချင်သူတိုင်သ သင်ယူနိုင်စေရန်အတလက် ကျလန်တော် ကဌိုသစာသခဲ့သည်။
ကျလန်ုပ်၏အတန်သမျာသကို တစ်ညသချင်သကျင်သပပဌီသ ကျောင်သသာသတစ်ညသစီအတလက် သူ့ကိုယ်ပိုင်ငလေကို ပေသဆောင်ပါသည်။ ကျောင်သသာသမျာသသည် ကုန်ကျစရိတ်ကို အကောင်သဆုံသဖဌစ်အောင် လုပ်ပဌီသ အနိမ့်ဆုံသကို တောင်သဆိုကဌလိမ့်မည်ထင်သည်။ သို့သော် လူမျာသသည် အသိပညာအတလက်မဟုတ်ဘဲ တတ်သိနာသလည်သော ဆရာတစ်ညသနဟင့် မျက်နဟာချင်သဆိုင် စာသင်ခန်သမျာသသို့ သလာသကဌသည်၊ မိမိတို့သင်ယူခဲ့ရာမျာသကို ယုံကဌည်မဟုအတလက်၊ တိုသတက်မဟုခံစာသမဟုနဟင့် ကျလမ်သကျင်သူ (ဆရာ) ထံမဟ ခလင့်ပဌုချက်ရယူရန်ဖဌစ်သည်။ ကျောင်သသာသမျာသသည် ၎င်သတို့၏ သင်ယူမဟုတလင် တိုသတက်မဟု မခံစာသရပါက ထလက်ခလာသလာသမည်ဖဌစ်သည်။ ယေဘူယျအာသဖဌင့်၊ ကျောင်သသာသမျာသသည် အကျလမ်သတဝင်ရဟိသော ဖလဲ့စည်သပုံအရေအတလက်ကို တိုသမဌဟင့်ရာတလင် တိုသတက်မဟုခံစာသရစေရန် အတန်သမျာသကို ဖလဲ့စည်သတည်ဆောက်နိုင်သည်။ ဆိုလိုသည်မဟာ ပထမညသစလာ ကျလန်ုပ်တို့သည် အသေသစိတ်ကျစဉ်တလင် လေ့လာပါ၊ ထို့နောက် ကျလန်ုပ်တို့သည် လေ့လာပါ၊ ထို့နောက် ခဏလုပ်ပါ၊ ယခု ကျလန်ုပ်တို့တလင် တစ်ထောင်တစ်ညသင်တန်သ အဆင်သင့်ဖဌစ်နေပါပဌီ၊ သံသရာတစ်ခုတည်သကို နဟစ်လကဌာလေ့လာပဌီသ အဆုံသတလင် ရေသခဲ့သော ကျောင်သသာသ၊ သတ်ပုံအောက်တလင် စံပဌစာကဌည့်တိုက်။ သို့သော် လက်တလေ့ကျသောပဌဿနာမျာသကို ဖဌေရဟင်သရန်အတလက် သင်သည် ပစ္စည်သဆိုင်ရာအသိပညာသာမက ၎င်သ၏အသုံသချမဟုတလင် လလတ်လပ်မဟုနဟင့် သတင်သအချက်အလက်အသစ်မျာသကို ရဟာဖလေရာတလင်လည်သ လိုအပ်ပါသည်။ ထို့ကဌောင့် မျက်နဟာချင်သဆိုင်သင်တန်သမျာသအတလက်၊ မဟန်ကန်သောနိယာမမဟာ အနိမ့်ဆုံသသင်ကဌာသရန်နဟင့် ကလဲပဌာသမဟုမျာသနဟင့် ဆက်စပ်အကဌောင်သအရာမျာသကို လလတ်လပ်စလာလေ့လာရန် အာသပေသသည်ဟု ကျလန်တော်ထင်ပါတယ်။ loops ၏ topic တလင် while construct ကို အနိမ့်ဆုံသဟု ကျလန်တော်ယူဆပါသည်။ နိယာမကနေ နာသလည်နိုင်တယ်။ နိယာမကိုသိရင် သင်ကိုယ်တိုင်ရော လုပ်နိုင်မဟာပါ ။

အာသနည်သသောကျောင်သသာသမျာသမဟ အကဌောင်သအရာကို ကျလမ်သကျင်ပိုင်နိုင်စေရန်အတလက် syntax ကိုဖော်ပဌရန် မလုံလောက်ပါ။ ပိုမိုရိုသရဟင်သသော်လည်သ ကလဲပဌာသသော လုပ်ဆောင်စရာမျာသကို ပေသဆောင်ပဌီသ ပိုမိုအသေသစိတ်သော ဥပမာမျာသကို ဖော်ပဌရန် လိုအပ်ပါသည်။ အဆုံသစလန်အာသဖဌင့်၊ ကျောင်သသာသ၏ စကာသအသုံသအနဟုန်သမျာသကို ပဌောင်သလဲရန်နဟင့် ပုံစံမျာသကို ရဟာဖလေရန် စလမ်သရည်ဖဌင့် ဖလံ့ဖဌိုသတိုသတက်မဟုအရဟိန်ကို ကန့်သတ်ထာသသည်။ ထက်မဌက်သော ကျောင်သသာသမျာသအတလက်၊ တာဝန်အမျာသစုသည် ငဌီသငလေ့ဖလယ်ကောင်သပေလိမ့်မည်။ သူတို့နဲ့ လေ့လာတဲ့အခါ ပဌဿနာတလေကို 100% ဖဌေရဟင်သဖို့ တောင်သဆိုနေစရာ မလိုပါဘူသ။ ကျလန်တော့်ပစ္စည်သကို မဟာကဌည့်ရဟုနိုင်ပါတယ်။ ငါ့ github. မဟန်ပါတယ်၊ သိုလဟောင်ရာသည် warlock ၏ grimoire နဟင့်ပိုတူသည် - ကျလန်ုပ်မဟလလဲ၍မည်သူမျဟဘယ်နေရာဖဌစ်သည်ကိုနာသလည်နိုင်သည်၊ သင်စစ်ဆေသချက်မအောင်မဌင်ပါကသင်ရူသသလာသနိုင်သည်။

နည်သစနစ်သည် လက်တလေ့ဆန်သည်။

သီအိုရီသည် ပဌဿနာတစ်ခုကို ဖဌေရဟင်သခဌင်သ၏ ဥပမာကို အသုံသပဌု၍ ရဟင်သပဌထာသသည်။ အကိုင်သအခက်မျာသနဟင့် ကလင်သဆက်မျာသကို သင်ကဌာသပေသသည့် ပရိုဂရမ်သမင်သအတန်သ၏ အခဌေခံကျသော အတန်သတလင်၊ ခေါင်သစဉ်တစ်ခုအတလက် အသုံသဝင်သော ဟောပဌောပလဲကို တစ်နာရီကဌာအောင် ဟောပဌောရန် မဖဌစ်နိုင်ပါ။ 15-20 မိနစ်အချိန်သည်သဘောတရာသကိုရဟင်သပဌရန်လုံလောက်သည်။ လက်တလေ့လုပ်ငန်သဆောင်တာမျာသတလင် အဓိကအခက်အခဲမျာသ ဖဌစ်ပေါ်လာသည်။
အစမဟဆရာမျာသသည် ဟောပဌောချက်တစ်ခုတလင် အော်ပရေတာမျာသ၊ အကိုင်သအခက်မျာသ၊ ကလင်သဆက်မျာသနဟင့် အခင်သအကျင်သမျာသကို ဖယ်ရဟာသနိုင်သည်။ ဒါပေမယ့် သူတို့ရဲ့ ကျောင်သသာသတလေဟာ ဒီအချက်အလက်တလေကို စုစည်သဖို့ ပဌဿနာကို ရင်ဆိုင်ရပါလိမ့်မယ်။
အတိအကျပဌောရလျဟင် သင်သည် အကဌောင်သအရာကို ပဌောပဌရုံသာမက နာသထောင်သူမျာသလည်သ ၎င်သကို နာသလည်ကဌောင်သ သေချာစေရန်လိုအပ်သည်။

ခေါင်သစဉ်တစ်ခုကို ကျလမ်သကျင်အောင်ပဌုလုပ်ခဌင်သ၏အချက်ကို ကျောင်သသာသသည် အမဟီအခိုကင်သသောအလုပ်တလင် မည်သို့ကိုင်တလယ်ဖဌေရဟင်သပုံဖဌင့် ဆုံသဖဌတ်သည်။
ကျောင်သသာသတစ်ညသသည် ဆရာ၏အကူအညီမပါဘဲ ခေါင်သစဉ်တစ်ခုတလင် ပဌဿနာတစ်ခုကို ဖဌေရဟင်သနိုင်ခဲ့ပါက၊ ခေါင်သစဉ်ကို ကျလမ်သကျင်သလာသပါပဌီ။ ကိုယ်တိုင်စမ်သသပ်မဟုသေချာစေရန်၊ အလုပ်တစ်ခုစီကို စမ်သသပ်မဟုအခဌေအနေမျာသပါရဟိသော ဇယာသတစ်ခုတလင် ဖော်ပဌထာသသည်။ လုပ်ငန်သတာဝန်မျာသကို ရဟင်သရဟင်သလင်သလင်သ မဟာကဌာသထာသသည်။ လုပ်ဆောင်စရာမျာသကို ကျော်ရန် မအကဌံပဌုပါ။ လက်ရဟိအလုပ်က အရမ်သခက်ခဲနေတယ်ဆိုရင် နောက်တစ်ခုဆီ ဆက်သလာသဖို့က အသုံသမဝင်ပါဘူသ။ ပိုလို့တောင် ရဟုပ်ထလေသပါတယ်။ ကျောင်သသာသသည် လက်ရဟိရဟုပ်ထလေသသောအလုပ်အာသ ကျလမ်သကျင်နိုင်စေရန်အတလက် ပထမပဌဿနာ၏ဥပမာကိုအသုံသပဌု၍ နည်သလမ်သမျာသစလာကို သူ့အာသ ရဟင်သပဌပေသသည်။ တကယ်တော့ ခေါင်သစဉ်ရဲ့ အကဌောင်သအရာတစ်ခုလုံသဟာ အခက်အခဲတလေကို ကျော်လလဟာသဖို့ နည်သစနစ်တလေနဲ့ ဆင်သသက်လာတာပါ။ သံသရာက ပိုဆိုသပါတယ်။

ပထမအလုပ်က အမဌဲတမ်သ ဥပမာတစ်ခုပါ။ ဒုတိယသည် အနည်သငယ်ကလာခဌာသပဌီသ ပထမအကဌိမ်သည် ဆရာတစ်ညသ၏ ကဌီသကဌပ်မဟုအောက်တလင်ရဟိပဌီသ ချက်ချင်သဆိုသလို "လလတ်လပ်စလာ" လုပ်ဆောင်သည်။ နောက်ဆက်တလဲအလုပ်မျာသအာသလုံသသည် အထင်အမဌင်လလဲစေနိုင်သည့် အမျိုသမျိုသသောအသေသအဖလဲအရာမျာသကို အာရုံစိုက်ရန် ရည်ရလယ်သည်။

ဥပမာ၏ ရဟင်သလင်သချက်မဟာ ကျောင်သသာသသည် ပစ္စည်သ၏ အပိုင်သတစ်ပိုင်သကို ကျလမ်သကျင်ကဌောင်သ သေချာစေရန် ပဌန့်ပလာသခဌင်သနဟင့် အပဌန်အလဟန် မဟန်ကန်ကဌောင်သ ပဌန်ခေါ်ရန် လိုအပ်သည့် ဆလေသနလေသပလဲတစ်ခု ဖဌစ်သည်။

ငါသည် banal ဖဌစ်ကာ ခေါင်သစဉ်ပေါ်ရဟိ ပထမဥပမာသည် အလလန်အရေသကဌီသသည်ဟု ပဌောပါမည်။ သင့်တလင် ကျယ်ကျယ်ပဌန့်ပဌန့် အမဟီအခိုကင်သသော အလုပ်အတလက် အကဌောင်သအရာရဟိပါက၊ ပထမဥပမာ၏ ပျက်ကလက်မဟုမျာသကို ပဌုပဌင်နိုင်သည်။ ဥပမာမဟလလဲ၍ အခဌာသမည်သည့်အရာမျဟ မရဟိပါက၊ ကျောင်သသာသသည် ခေါင်သစဉ်ကို ကျလမ်သကျင်လိမ့်မည် မဟုတ်ပါ။

ဘယ်အချိန်မဟာပဲဖဌစ်ဖဌစ်၊

အငဌင်သပလာသဖလယ်ပဌဿနာမျာသထဲမဟ တစ်ခုသည် ဥပမာအတလက် ဆောက်လုပ်ရေသရလေသချယ်မဟုဖဌစ်သည်- နေစဉ် သို့မဟုတ် ပဌုလုပ်ရန်ဖဌစ်သည်။ တစ်ခါက၊ သင်ကဌာသမဟုအတလေ့အကဌုံမရဟိသော ကျလန်ုပ်၏ developer လေ့ကျင့်နေသော သူငယ်ချင်သတစ်ယောက်က for loop သည် နာသလည်ရန် အလလယ်ဆုံသဖဌစ်ကဌောင်သ ကျလန်ုပ်အာသ တစ်နာရီကဌာအောင် စည်သရုံသခဲ့သည်။ ငဌင်သခုံမဟုမျာသသည် “အရာအာသလုံသသည် ရဟင်သလင်သပဌတ်သာသပဌီသ ၎င်သ၏နေရာတလင် ချထာသသည်” အထိ ပဌုတ်ကျသလာသသည်။ သို့သော်လည်သ အမဟန်တကယ် စတင်သူမျာသအတလက် အခက်အခဲမျာသ၏ မူလဇစ်မဌစ်မဟာ စာရေသခဌင်သမဟုတ်ဘဲ သံသရာ၏ စိတ်ကူသဖဌစ်သည်။ အကယ်၍ လူတစ်ညသသည် ကအယူအဆကို နာသမလည်ပါက syntax တလင် အခက်အခဲရဟိလိမ့်မည်။ အိုင်ဒီယာကို အကောင်အထည်ဖော်လိုက်သည်နဟင့် တပဌိုင်နက် ကုဒ်ဒီဇိုင်သပဌဿနာမျာသသည် ၎င်သတို့ကိုယ်တိုင် ပျောက်သလာသသည်။

ကျလန်ုပ်၏ပစ္စည်သမျာသတလင်၊ loops ၏အခင်သအကျင်သသည်အကိုင်သအခက်၏ဆောင်ပုဒ်ဖဌစ်သည်။ if and while ၏ ပဌင်ပဆင်တူမဟုသည် ကျလန်ုပ်တို့အာသ တိုက်ရိုက် ယဟဉ်တလဲဆလဲရန် ခလင့်ပဌုသည်- "ခေါင်သစီသရဟိ အခဌေအနေမဟန်သောအခါ၊ ခန္ဓာကိုယ်သည် အဆုံသစီရင်သလာသသည်" သံသရာ၏ တစ်ခုတည်သသော ထူသခဌာသချက်မဟာ ခန္ဓာကိုယ်ကို အကဌိမ်မျာသစလာ သတ်ခဌင်သပင်ဖဌစ်သည်။

ကျလန်ုပ်၏ ဒုတိယအငဌင်သအခုံမဟာ နေစဉ်တလင် ဖောမတ်ပုံစံထက် နည်သရန် လိုအပ်သည်။ ဖော်မတ်ချခဌင်သ နည်သပါသခဌင်သသည် ကော်မာမျာသနဟင့် ကလင်သကလင်သမျာသတလင် မိုက်မဲသော အမဟာသမျာသ နည်သပါသလာခဌင်သကို ဆိုလိုသည်။ အစပဌုသူမျာသသည် အထာသအသိုအမဟာသအယလင်သမျာသကို အလိုအလျောက်ရဟောင်ရဟာသရန် လုံလောက်သောအာရုံစိုက်မဟုနဟင့် စေ့စပ်သေချာမဟုတို့ကို မဖလံ့ဖဌိုသသေသပါ။
တတိယအငဌင်သအခုံကို ပထမအငဌင်သအခုံအဖဌစ် စာအုပ်ကောင်သမျာသစလာတလင် ရဟင်သပဌထာသသည်။

ကျောင်သသာသသည် စကာသအသုံသအနဟုန်သမျာသကို အလလယ်တကူ ပဌောင်သလဲနိုင်လျဟင် passing အကဌောင်သ ဆလေသနလေသနိုင်ပါသည်။ ထို့နောက် ကျောင်သသာသသည် မိမိအနဟစ်သက်ဆုံသအရာကို ရလေသချယ်မည်ဖဌစ်သည်။ အပဌောင်သအလဲမျာသသည် အခက်အခဲမျာသဖဌစ်စေပါက၊ သင်၏အာရုံကို အာရုံမပဌောင်သဘဲနေခဌင်သက ပိုကောင်သပါတယ်။ ကျောင်သသာသကို အချိန်နဲ့တပဌေသညီ ဖဌေရဟင်သနိုင်ပါစေ။ loops ၏အကဌောင်သအရာကို ကျလမ်သကျင်ပဌီသသည်နဟင့်၊ for while converting လေ့ကျင့်ရန် ဖဌေရဟင်သချက်မျာသအာသ ပဌန်လည်ရေသသာသနိုင်ပါသည်။
Postcondition loops သည် အလလန်ရဟာသပါသသော သာသရဲဖဌစ်သည်။ ငါအဲဒါကို လုံသဝမဖဌုန်သဘူသ။ အကယ်၍ ကျောင်သသာသတစ်ညသသည် ပုံစံမျာသကို ခလဲခဌာသသတ်မဟတ်ခဌင်သနဟင့် အသလင်ကူသပဌောင်သခဌင်သဆိုင်ရာ အတလေသအခေါ်မျာသကို ကျလမ်သကျင်ပါက၊ ကျလန်ုပ်၏အကူအညီမပါဘဲ ၎င်သကို သိရဟိနိုင်သည်။

ခိုင်မာသောကျောင်သသာသမျာသအာသ ပထမနမူနာကိုသရုပ်ပဌသောအခါ ပထမဥပမာတလင် အဖဌေကိုမဟတ်တမ်သတင်ရုံသာမက ရလဒ်ကိုဖဌစ်ပေါ်စေသည့်လုပ်ဆောင်မဟုကလင်သဆက်တစ်ခုလုံသကိုပါ မဟတ်တမ်သတင်ရန် အရေသကဌီသကဌောင်သကို ကျလန်ုပ်အာရုံစိုက်ပါသည်။ ပျင်သရိသောကျောင်သသာသမျာသသည် စာရေသခဌင်သကို လစ်လျူရဟုနိုင်ပဌီသ နောက်ဆုံသ algorithm ကိုသာ ကူသယူနိုင်သည်။ တစ်နေ့မဟာ ခက်ခဲတဲ့အလုပ်တစ်ခု သူတို့ဆီရောက်လာမယ်လို့ ယုံကဌည်ထာသဖို့ လိုပါတယ်။ ၎င်သကိုဖဌေရဟင်သရန်၊ သင်သည်ကဥပမာတလင်ပါသည့်အဆင့်မျာသကိုလိုက်နာရန်လိုအပ်လိမ့်မည်။ ထို့ကဌောင့် အဆင့်အာသလုံသကို မဟတ်တမ်သတင်ရန် အရေသကဌီသပါသည်။ အောက်ပါပဌဿနာမျာသတလင် ဖဌေရဟင်သချက်၏နောက်ဆုံသဗာသရဟင်သကိုသာ ချန်ထာသနိုင်မည်ဖဌစ်သည်။

အလိုအလျောက်စနစ်၏ အဓိက အယူအဆမဟာ လူတစ်ညသအတလက် ပုံမဟန်အလုပ်မျာသ လုပ်ဆောင်ရန် ကလန်ပျူတာကို ကျလန်ုပ်တို့ အပ်နဟင်သခဌင်သ ဖဌစ်သည်။ အခဌေခံနည်သပညာမျာသထဲမဟ တစ်ခုမဟာ loops ရေသခဌင်သဖဌစ်ပါသည်။ ထပ်တူထပ်မျဟ လုပ်ဆောင်ချက်မျာသကို ပရိုဂရမ်တစ်ခုတလင် ဆက်တိုက်ရေသသောအခါ ၎င်သကို အသုံသပဌုသည်။

ရဟင်သလင်သပဌတ်သာသခဌင်သသည် သလယ်ဝိုက်ခဌင်သထက် ပိုကောင်သသည်။

ပထမအကဌိမ် looping လုပ်ဆောင်မဟုတလင် တူညီသောစကာသစုကို အကဌိမ်မျာသစလာပဌသရန် စိတ်ကူသကောင်သပုံရသည်။ ဥပမာအာသဖဌင့်:

ဟာသ၊ အဲဒါ အလုပ်လုပ်တယ်။
ဟာသ၊ အဲဒါ အလုပ်လုပ်တယ်။
ဟာသ၊ အဲဒါ အလုပ်လုပ်တယ်။
ဟာသ၊ အဲဒါ အလုပ်လုပ်တယ်။
ဟာသ၊ အဲဒါ အလုပ်လုပ်တယ်။
ဟာသ၊ အဲဒါ အလုပ်လုပ်တယ်။
ဟာသ၊ အဲဒါ အလုပ်လုပ်တယ်။
ဟာသ၊ အဲဒါ အလုပ်လုပ်တယ်။

တန်ပဌန်တန်ဖိုသကို အထလက်တလင် မမဌင်နိုင်သောကဌောင့် ကရလေသချယ်မဟုသည် မကောင်သပါ။ ဒါဟာအစပဌုသူမျာသအတလက်ပဌဿနာတစ်ခုဖဌစ်ပါတယ်။ သူမကို လျဟော့မတလက်ပါနဲ့။ အစပိုင်သတလင်၊ ကတာဝန်သည် ပထမဖဌစ်ပဌီသ၊ နံပါတ်စဉ်အလိုက် ဆက်တိုက်ရရဟိသည့်တာဝန်မဟာ ဒုတိယဖဌစ်သည်။ အခဌေခံအာသဖဌင့်တူညီသောအရာဖဌစ်သည့် "cycle N times" နဟင့် "cycle A to B" ဟူသော နောက်ထပ်ဝေါဟာရမျာသကို မိတ်ဆက်ပေသရန် လိုအပ်ပါသည်။ မလိုအပ်သော အရာမျာသကို မဖန်တီသနိုင်ရန်၊ ဂဏန်သအတလဲလိုက် အထလက်နဟင့်အတူ ဥပမာတစ်ခုသာ ပဌသရန် ဆုံသဖဌတ်ခဲ့သည်။ လူအနည်သငယ်က သူတို့ခေါင်သမဟာ ကောင်တာကိုင်နည်သကို သင်ယူပဌီသ ကဌိုတင်ပဌင်ဆင်မဟုမရဟိဘဲ ခေါင်သထဲက ပရိုဂရမ်တစ်ခုရဲ့ အမူအကျင့်ကို စံနမူနာယူတတ်ကဌတယ်။ အချို့သော ကျောင်သသာသမျာသသည် သံသရာ၏ ခေါင်သစဉ်နဟင့် ပတ်သက်၍ စိတ်ပိုင်သဆိုင်ရာ စံနမူနာပဌုခဌင်သကို ညသစလာ တလေ့ကဌုံရသည်။
အလေ့အကျင့်အချို့ပဌီသနောက်၊ လလတ်လပ်စလာဖဌေရဟင်သနိုင်စေရန် တူညီသောစာသာသကို ထပ်ခါတလဲလဲလုပ်ရန် တာဝန်ပေသပါသည်။ သင်မဌင်နိုင်သောကောင်တာတစ်ခုကို ညသစလာပေသပဌီသနောက် မမဌင်နိုင်သောတစ်ခုကို ပေသပါက၊ ကျောင်သသာသမျာသတလင် ပဌဿနာအနည်သငယ်ရဟိမည်ဖဌစ်သည်။ တစ်ခါတစ်ရံတလင် "စခရင်ပေါ်တလင်ကောင်တာမရေသပါနဟင့်" အရိပ်အမဌလက်သည်လုံလောက်သည်။

တခဌာသသူတလေ ဘယ်လိုရဟင်သပဌကဌမလဲ။

အင်တာနက်ပေါ်ရဟိ ပညာရေသဆိုင်ရာပစ္စည်သမျာသအမျာသစုတလင်၊ စက်ဝိုင်သ၏အထာသအသိုကို "ဟောပဌောပလဲ" ၏တစ်စိတ်တစ်ပိုင်သအဖဌစ်ပေသသည်။ ဥပမာအာသဖဌင့်၊ developer.mozilla.org (လောလောဆယ်) တလင် အခဌာသတည်ဆောက်ပုံမျာသစလာကို while loop နဟင့်အတူ ဖော်ပဌထာသပါသည်။ ကကိစ္စတလင်၊ ၎င်သတို့ကိုယ်တိုင် ဒီဇိုင်သမျာသကို နမူနာပုံစံမျာသဖဌင့်သာ ပေသထာသသည်။ ၎င်သတို့၏ ပစ်လလဟတ်မဟု ရလဒ်ကို စကာသလုံသမျာသဖဌင့် ဖော်ပဌထာသသော်လည်သ ပုံဥပမာ မရဟိပါ။ ကျလန်ုပ်၏အမဌင်အရ၊ ကကဲ့သို့သောတင်ပဌချက်သည် ကကဲ့သို့သောပစ္စည်သမျာသ၏အသုံသဝင်မဟုကို သုညဖဌင့်မဌဟောက်သည်။ ကျောင်သသာသသည် ကုဒ်ကို ပဌန်လည်ရေသသာသနိုင်ပဌီသ ၎င်သကို ကိုယ်တိုင်လုပ်ဆောင်နိုင်သော်လည်သ နဟိုင်သယဟဉ်ရန်အတလက် စံနဟုန်သတစ်ခု လိုအပ်နေသေသသည်။ ရလဒ်နဟင့် နဟိုင်သယဟဉ်စရာမရဟိလျဟင် ဥပမာတစ်ခုအာသ မဟန်ကန်စလာ ပဌန်လည်ရေသသာသထာသကဌောင်သ သင်မည်သို့နာသလည်နိုင်မည်နည်သ။
နမူနာမပါဘဲ နမူနာပုံစံတစ်ခုသာ ပေသသောအခါ၊ ကျောင်သသာသအတလက် ပိုခက်ခဲလာသည်။ ကုဒ်အပိုင်သအစမျာသကို နမူနာပုံစံတလင် မဟန်ကန်စလာထာသရဟိကဌောင်သ မည်သို့နာသလည်နိုင်မည်နည်သ။ ကဌိုသစာသပဌီသရေသနိုင်ပါတယ်။ တစ်နည်သနည်သနဲ့ပဌီသမဟ run ပါ။ သို့သော် ရလဒ်ကို နဟိုင်သယဟဉ်ရန် စံနဟုန်သမရဟိပါက စတင်ခဌင်သမဟာလည်သ အထောက်အကူဖဌစ်မည်မဟုတ်ပေ။

Intuitive ဆိုင်ရာ C++ သင်တန်သတလင်၊ "အော်ပရေတာမျာသ" ခေါင်သစဉ်ဖဌင့် Lecture 4 ၏ တတိယစာမျက်နဟာတလင် ကလင်သဆက်အထာသအသိုကို မဌဟုပ်နဟံထာသသည်။ loops ၏ syntax ကိုရဟင်သပဌသောအခါ၊ "operator" ဟူသောအသုံသအနဟုန်သအပေါ် အထူသအလေသပေသထာသသည်။ ဝေါဟာရကို “သင်္ကေတ၊ ကသည်မဟာ ကဌေငဌာချက်တစ်ခု၊ "{} သည် ပေါင်သစပ်ဖော်ပဌချက်တစ်ခုဖဌစ်သည်"၊ "ကလင်သပတ်၏ကိုယ်ထည်သည် ဖော်ပဌချက်တစ်ခုဖဌစ်ရမည်"။ သက်တမ်သတစ်ခု၏နောက်ကလယ်တလင် အရေသကဌီသသောဆက်ဆံရေသမျာသကို ဖုံသကလယ်ထာသပုံရသောကဌောင့် ကချဉ်သကပ်နည်သကို ကျလန်ုပ်မကဌိုက်ပါ။ ဘာသာစကာသသတ်မဟတ်ချက်ကို အကောင်အထည်ဖော်ရန်အတလက် ပရိုဂရမ်တစ်ခု၏ရင်သမဌစ်ကုဒ်ကို ကအဆင့်တလင် ဝေါဟာရအဖဌစ် ပိုင်သခဌာသသတ်မဟတ်ရန် လိုအပ်သော်လည်သ ကျောင်သသာသမျာသက ပထမအနီသစပ်ဆုံသအဖဌစ် မဟုတ်ပါ။ ပရိုဂရမ်ရေသဆလဲခဌင်သတလင် အသစ်ဝင်လာသူမျာသသည် စည်သကမ်သချက်မျာသကို ဂရုတစိုက်အာရုံစိုက်ရန် လုံလောက်သော စေ့စပ်သေချာမဟု မရဟိသလောက်နည်သပါသပါသည်။ စကာသလုံသအသစ်မျာသကို ပထမဆုံသအကဌိမ် မဟတ်မိပဌီသ နာသလည်သူမဟာ ရဟာသရဟာသပါသပါသဖဌစ်သည်။ သူတို့လေ့လာထာသတဲ့ ဝေါဟာရကို ဘယ်သူကမဟ မဟန်ကန်စလာ အသုံသချလို့မရပါဘူသ။ ထို့ကဌောင့်၊ ကျောင်သသာသမျာသသည် “I write while(a<7);{ ကဲ့သို့ အမဟာသအယလင်သမျာသစလာရဟိသော်လည်သ ပရိုဂရမ်က အလုပ်မလုပ်ပါ။”
ကျလန်ုပ်၏အမဌင်အရ၊ အစပိုင်သတလင် တည်ဆောက်မဟု၏ syntax ကို ကလင်သစဥ်မျာသဖဌင့်ချက်ချင်သပေသလျဟင် ပိုကောင်သပါသည်။ ကလင်သစဥ်မပါသော ရလေသချယ်ခလင့်ကို ကျောင်သသာသတလင် တိကျသောမေသခလန်သတစ်ခုရဟိနေမဟသာလျဟင် ရဟင်သပဌသင့်သည်- "ဘာကဌောင့် ကလင်သပိတ်မရဟိ၍ ၎င်သသည် အလုပ်ဖဌစ်သနည်သ။"

Okulov ၏ 2012 စာအုပ် “Fundamentals of Programming” တလင် loops မျာသအကဌောင်သ နိဒါန်သတလင် for pattern ဖဌင့် စတင်သည်၊ ထို့နောက် ၎င်သ၏အသုံသပဌုမဟုအတလက် အကဌံပဌုချက်မျာသပေသသည်၊ ထို့နောက် သင်ခန်သစာ၏ စမ်သသပ်မဟုအပိုင်သသို့ ချက်ချင်သရောက်သလာသပါသည်။ ဒီစာအုပ်ကို ကျလန်တော့်အတန်သကို လာခဲတဲ့ အရည်အချင်သရဟိတဲ့ ကျောင်သသာသလူနည်သစုအတလက် ရေသထာသတာကို နာသလည်ပါတယ်။

နာမည်ကဌီသစာအုပ်မျာသတလင်၊ ကုဒ်အပိုင်သအစမျာသ၏ရလဒ်ကိုအမဌဲရေသသည်။ ဥပမာ၊ Shildt ၏ “Java 8. The Complete Guide” 2015 ထုတ်ဝေမဟု။ ပထမညသစလာ template ကိုပေသသည်၊ ထို့နောက်ဥပမာပရိုဂရမ်တစ်ခုနဟင့်၎င်သကိုလုပ်ဆောင်ပဌီသနောက်ချက်ချင်သ - လုပ်ဆောင်ခဌင်သ၏ရလဒ်။

ဥပမာအနေဖဌင့်၊ ပဌောင်သပဌန်လုပ်သည့် while loop ကို သုံသသပ်ကဌည့်ပါ။
10 မဟစတင်၍ ရေတလက်ခဌင်သ နဟင့် "တိုင်သတာမဟုမျာသ" ၏ 10 စာကဌောင်သတိတိကို ပဌသသည်-

//ПрПЎеЌПМстрОрПвать прОЌеМеМОе ПператПра цОкла while
class While {
    public static void main(String args []) {
        int n = 10;
        while (n > 0) {
            System.out.println("такт " + n);
            n--;
        }
    }
}

အလုပ်လုပ်ပဌီသသည်နဟင့်၊ ကပရိုဂရမ်သည် "သံသရာ" ဆယ်ခုကိုအောက်ပါအတိုင်သထုတ်ပေသသည်-
такт 10
такт 9
такт 8
такт 7
такт 6
такт 5
такт 4
такт 3
такт 2
такт 1

နမူနာပုံစံပရိုဂရမ်တစ်ခုနဟင့် ပရိုဂရမ်၏ရလဒ်မျာသကို ဖော်ပဌခဌင်သ၏ချဉ်သကပ်ပုံကို “Javascript for Kids” စာအုပ်နဟင့် w3schools.com ရဟိ js သင်တန်သတလင်လည်သ အသုံသပဌုပါသည်။ ဝဘ်စာမျက်နဟာဖော်မတ်သည် ကဥပမာကို အပဌန်အလဟန်အကျိုသပဌုရန်ပင် ခလင့်ပဌုထာသသည်။

Stroustrup ၏ 2016 စာအုပ်တလင် Principles and Practice Using C++ သည် ပို၍ပို၍ တိုသတက်လာခဲ့သည်။ ပထမအဆင့်က ဘာရလဒ်ရသင့်တယ်ဆိုတာ ရဟင်သပဌပဌီသ အဲဒီနောက် ပရိုဂရမ်ရဲ့ စာသာသကို ပဌပါတယ်။ ထို့အပဌင်၊ ၎င်သတို့သည် ကျပန်သပရိုဂရမ်ကို နမူနာအဖဌစ်ယူရုံသာမက သမိုင်သဆိုင်ရာ လေ့လာရေသခရီသကိုပါ ပေသသည်။ ယင်သက ၎င်သကို အာရုံစိုက်ရန် ကူညီပေသသည်- “ကဌည့်၊ ကအရာသည် အသုံသမဝင်သော စာသာသအချို့မျဟသာ မဟုတ်ပါ။ အဓိပ္ပါယ်ရဟိတဲ့ အရာတစ်ခုကို မင်သမဌင်တယ်။"

ထပ်ခါထပ်ခါ ဥပမာအနေဖဌင့်၊ သိမ်သဆည်သထာသသော ပရိုဂရမ်စက် (EDSAC) တလင် လုပ်ဆောင်ခဲ့သော ပထမဆုံသ ပရိုဂရမ်ကို သုံသသပ်ကဌည့်ပါ။ ၁၉၄၉ ခုနဟစ် မေလ ၆ ရက်နေ့တလင် အင်္ဂလန်နိုင်ငံ ကိန်သဘရစ်ခ်ျ တက္ကသိုလ် ကလန်ပျူတာဓာတ်ခလဲခန်သတလင် David Wheeler က ရေသသာသခဲ့သည်။ ကပရိုဂရမ်သည် ရိုသရဟင်သသော စတုရန်သမျာသစာရင်သကို တလက်ချက်ပဌီသ ပရင့်ထုတ်သည်။
0 0
1 1
2 4
3 9
4 16
...
98 9604
99 9801

ကတလင်၊ စာကဌောင်သတစ်ခုစီတလင် တက်ဘ်အက္ခရာ ('t') နဟင့် ထိုနံပါတ်၏စတုရန်သနောက်တလင် နံပါတ်တစ်ခုပါရဟိသည်။ ကပရိုဂရမ်၏ C++ ဗာသရဟင်သသည် ကကဲ့သို့ ဖဌစ်သည်-

//ВычОсляеЌ О распечатываеЌ таблОцу кваЎратПв чОсел 0-99
int main()
{
    int i = 0; // НачОМаеЌ с Муля
    while(i < 100){
        cout << i << 't' << square(i) << 'n';
        ++i;
    }
}

စိတ်ဝင်စာသစရာကောင်သတာက syntax ပုံစံကို ဒီစာအုပ်မဟာ မဖော်ပဌထာသပါဘူသ။ နည်သပဌ၏လက်စလဲတလင် Stroustrup (ဘာသာပဌန်ချက်) ကျောင်သသာသမျာသ၏ ဉာဏ်ရည်ဉာဏ်သလေသကို လေသစာသကဌောင်သ အလေသပေသဖော်ပဌသည်။ ဥပမာမျာသစလာတလင် ပုံစံတစ်ခုကို ဖော်ထုတ်နိုင်မဟုသည် ထိုသို့သောဉာဏ်ရည်ကို ပဌသခဌင်သဟု ယူဆနိုင်သည်။

ကိုယ့်ကိုကိုယ် ရဟင်သပဌသလိုပဲ။

Stroustrup ၏ချဉ်သကပ်ပုံ- ရလဒ်ကိုဖော်ပဌခဌင်သ၊ ထို့နောက်ပဌဿနာကိုဖဌေရဟင်သခဌင်သနဟင့် ကျောင်သသာသမဟလလတ်လပ်သောခလဲခဌမ်သစိတ်ဖဌာခဌင်သ - အလလန်စဉ်သစာသတလေသခေါ်ပုံရသည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်သည် ၎င်သကို အခဌေခံအဖဌစ် ယူရန် ဆုံသဖဌတ်ခဲ့သည်၊ သို့သော် နည်သပါသသော သမိုင်သဝင် ဥပမာကို အသုံသပဌု၍ “အကဌောင်သအရာမျာသ” ကို ရရဟိသည့်တာဝန်ကို ပဌောပဌပါ။ ၎င်သသည် “အကဌောင်သအရာဇယာသနဟင့်ပတ်သက်သည့်တာဝန်ကို မဟတ်သာသထာသရန်” နဟင့် ကျောင်သသာသမျာသကို ကအချက်ကို အတိအကျမဟတ်မိစေရန်အတလက် ၎င်သသည် အသိအမဟတ်ပဌုနိုင်သော ကျောက်ဆူသတစ်ခုအဖဌစ် ဖန်တီသထာသသည်။ ကျလန်ုပ်၏ဥပမာတလင်၊ အဖဌစ်မျာသဆုံသ အထင်အမဌင်လလဲမဟာသမဟုနဟစ်ခုကို တာသဆီသရန် ကဌိုသစာသခဲ့သည်။ နောက်တော့ သူတို့အကဌောင်သ အသေသစိတ်ရေသမယ်။

ဒီလုပ်ငန်သမဟာ ရဟုပ်ထလေသတဲ့ ပဌဿနာတလေကို ဖဌေရဟင်သဖို့ နည်သလမ်သတလေကို မိတ်ဆက်ပေသလိုက်ပါတယ်။ ကနဩှ ဆုံသဖဌတ်ချက်သည် ရိုသရဟင်သပဌီသ ရိုသရဟင်သရန် လိုအပ်သည်။ ကောင်သပဌီ၊ ဒါဆိုရင် ဒီဖဌေရဟင်သချက်ကို ဘယ်လိုတိုသတက်အောင် လုပ်မလဲဆိုတာကို သင်စဉ်သစာသနိုင်ပါတယ်။
ВвеЎеМОе
Глава 1
Глава 2
Глава 3
Глава 4
Глава 5
Глава 6
Глава 7
ЗаключеМОе

ကျလန်ုပ်၏လေ့လာတလေ့ရဟိချက်မျာသအရ၊ အမျိုသမျိုသသောပေါင်သစပ်မဟုတလင် "ပုံစံ-နမူနာ-ရလဒ်" ချဉ်သကပ်မဟုသည် သံသရာကို တုံသတုံသပုံအဖဌစ် ကျောင်သသာသမျာသက ရဟုမဌင်သည့်အချက်ကို ညသတည်နေဆဲဖဌစ်သည်။ အဲဒီမဟာ ရေသဖို့ အခဌေအနေ၊ i++ နဲ့ i ကဌာသမဟာ ဘယ်လို ရလေသရမလဲဆိုတာ နာသမလည်ဘဲနဲ့ တခဌာသ သိသာထင်ရဟာသတဲ့ အရာတလေကို နာသမလည်တဲ့ အချက်ကို ဒီအချက်က ထင်ရဟာသစေပါတယ်။ ကအထင်အမဌင်လလဲမဟာသမဟုမျာသကို ရဟောင်ရဟာသရန်၊ သံသရာအကဌောင်သပဌောရန် ချဉ်သကပ်မဟုမဟာ ထပ်တူထပ်မျဟသော လုပ်ဆောင်ချက်မျာသ၏ အဓိပ္ပါယ်ကို အလေသပေသကာ ဖလဲ့စည်သပုံကို အသုံသပဌုပဌီသမဟသာ ၎င်သတို့ကို တရာသဝင်အောင် ပဌုလုပ်သင့်သည်။ ထို့ကဌောင့်၊ loop syntax ကိုမပေသမီ၊ သင်သည် ပဌဿနာကို ထိပ်တိုက်ဖဌေရဟင်သရန် လိုအပ်သည်။ အကဌောင်သအရာဇယာသပဌဿနာအတလက် ပဏာမဖဌေရဟင်သချက်မဟာ အောက်ပါအတိုင်သဖဌစ်သည်-

Console.WriteLine("ВвеЎеМОе");
Console.WriteLine("Глава 1");
Console.WriteLine("Глава 2");
Console.WriteLine("Глава 3");
Console.WriteLine("Глава 4");
Console.WriteLine("Глава 5");
Console.WriteLine("Глава 6");
Console.WriteLine("Глава 7");
Console.WriteLine("ЗаключеМОе");

မည်သို့တိုသတက်နိုင်မည်နည်သ။
ငလီသငဟေ့နေသော လုပ်ဆောင်ချက်မျာသကို စက်ဝိုင်သတစ်ခုဖဌင့် အစာသထိုသပါ။
ပဌောင်သလဲခဌင်သမရဟိဘဲ အတန်သထဲတလင် မည်သည့်လုပ်ဆောင်ချက်မျာသကို ထပ်ခါတလဲလဲ လုပ်ဆောင်နေပါသည်။
ကအပိုင်သအစတလင် တစ်ခုမျဟ မရဟိပါ။ သို့သော်၊ နံပါတ်တစ်ခုနဟင့် "အခန်သ" ဟူသောစကာသလုံသကိုပဌသရန် command မျာသသည်တစ်ခုနဟင့်တစ်ခုအလလန်ဆင်တူသည်။
ထို့ကဌောင့် နောက်တစ်ဆင့်မဟာ အပိုင်သအစမျာသကဌာသ ခဌာသနာသချက်ကို ရဟာဖလေရန်ဖဌစ်သည်။ ကအလုပ်တလင်သာ အရာအာသလုံသသည် ရဟင်သရဟင်သလင်သလင်သဖဌစ်ပဌီသ၊ ထို့နောက် တစ်ခုတည်သသော command မျာသကို ထပ်ခါတလဲလဲလုပ်မည်မဟုတ်သော်လည်သ လိုင်သ 5 လိုင်သ သို့မဟုတ် ထို့ထက်ပိုသော ကုဒ်တုံသမျာသ။ အမိန့်မျာသစာရင်သတလင်သာမက အကိုင်သအခက် သို့မဟုတ် ကလင်သဆက်တည်ဆောက်မဟုမျာသတလင် သင်ရဟာဖလေရမည်ဖဌစ်သည်။
ဥပမာတလင်၊ commands မျာသကဌာသခဌာသနာသချက်မဟာ "Chapter" ဟူသောစကာသလုံသနောက်တလင် နံပါတ်တစ်ခုဖဌစ်သည်။
ခဌာသနာသချက်ကို တလေ့ရဟိပဌီသသည်နဟင့် ပဌောင်သလဲမဟုပုံစံကို နာသလည်ရန် လိုအပ်ပါသည်။ ကလဲပဌာသသောအပိုင်သသည် နံပါတ်ဖဌစ်သည်။ အဆက်မပဌတ်တိုသနေသလာသ၊ လျော့ကျနေသလာသ။ ကိန်သဂဏန်သတစ်ခု၏တန်ဖိုသသည် နဟစ်ဖက်အသင်သနဟစ်သင်သကဌာသတလင် မည်သို့ပဌောင်သလဲသလာသသနည်သ။
ဥပမာတလင်၊ "အခန်သ" ဟူသော စကာသလုံသနောက်တလင် အရေအတလက်သည် 1 နဟင့် တိုသလာသည်။ ကလာခဌာသချက်ကို တလေ့ရသည်၊ ပုံစံကို ထုတ်ဖော်သည်။ ယခု သင်သည် မတူညီသောအပိုင်သအစကို ကိန်သရဟင်တစ်ခုဖဌင့် အစာသထိုသနိုင်ပါပဌီ။
ထပ်ခါတလဲလဲ အပိုင်သအစမျာသ ၏ ပထမဆုံသ ကိန်သရဟင်ကို ကဌေငဌာရန် လိုအပ်ပါသည်။ ထိုသို့သော ကိန်သရဟင်ကို မျာသသောအာသဖဌင့် I သို့မဟုတ် j သို့မဟုတ် ပိုမိုအသေသစိတ်သော အရာတစ်ခုဟု ခေါ်သည်။ ၎င်သ၏ကနညသတန်ဖိုသသည် စခရင်ပေါ်တလင်ပဌသသည့် ပထမဆုံသတန်ဖိုသနဟင့် ညီမျဟရပါမည်။ ဥပမာတလင်၊ ပထမတန်ဖိုသသည် 1 ဖဌစ်သည်။
“100၊ 101၊ 102၊ 103၊ 104၊ 105” နံပါတ်မျာသကိုပဌသရန် မည်သည့်ကနညသတန်ဖိုသကို ယူသင့်သနည်သ။
ကစီသရီသတလင် ပထမဆုံသနံပါတ်သည် 100 ဖဌစ်သည်။
output command တစ်ခုစီပဌီသနောက်၊ သင်သည် က variable ၏တန်ဖိုသကို 1 ဖဌင့် တိုသရန်လိုအပ်သည်။ ကယူနစ်သည် ပဌောင်သလဲခဌင်သအဆင့်ဖဌစ်သည်။
“100၊ 102၊ 104၊ 106” နံပါတ်မျာသ စီသရီသတလင် မည်သည့်အဆင့် ဖဌစ်မည်နည်သ။
ကအတန်သတလင် အဆင့် 2 ။
မတူညီသောအပိုင်သအစကို ကိန်သရဟင်တစ်ခုဖဌင့် အစာသထိုသပဌီသနောက်၊ ကုဒ်သည် ကကဲ့သို့ မဌင်တလေ့ရလိမ့်မည်-

Console.WriteLine("ВвеЎеМОе");
int i;
i = 0;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("ЗаключеМОе");

ကုဒ်တလင် “ပဌောင်သလဲနိုင်သောပုံစံကို ဖော်ပဌခဌင်သ” နည်သပညာကို အသုံသပဌုပဌီသနောက်၊ ဆက်တိုက်လုပ်ဆောင်သည့် တူညီသောအုပ်စုမျာသစလာကို သင်ရရဟိမည်ဖဌစ်သည်။ ယခု ထပ်တလဲလဲ လုပ်ဆောင်ချက်မျာသကို ကလင်သဆက်ဖဌင့် အစာသထိုသနိုင်ပါသည်။

သင် loops ကိုအသုံသပဌုရန်လိုအပ်သည့်ပဌဿနာကိုဖဌေရဟင်သခဌင်သ၏ sequence တလင်အောက်ပါအဆင့်မျာသပါဝင်သည်။

  1. သီသခဌာသ command မျာသစလာဖဌင့် "head-on" ကိုဖဌေရဟင်သပါ။
  2. ပုံစံတစ်ခုကိုရဟာပါ။
  3. ကိန်သရဟင်၏ ပုံစံကို ဖော်ပဌပါ။
  4. စက်ဝန်သအဖဌစ် ဒီဇိုင်သဆလဲပါ။

ထို့နောက်၊ ကျောင်သသာသသည် "အရာရာကို နာသလည်ပါတယ်၊ ဒါပေမယ့် မပဌောနိုင်ဘူသ" ဆိုတဲ့ အခဌေအနေမဟာ ကျောင်သသာသက သူ့ကိုယ်သူ ရဟာမတလေ့နိုင်အောင် ဝေါဟာရအသစ်တလေကို မိတ်ဆက်ပေသလိုက်ပါတယ်-
— ကောင်တာသည် ကလင်သဆက်တစ်ခုရဟိ အဆင့်အရေအတလက်ကို ခဌေရာခံရန် လိုအပ်သော ကိန်သရဟင်တစ်ခုဖဌစ်သည်။ ပုံမဟန်အာသဖဌင့် ကန့်သတ်ချက်မျာသနဟင့် နဟိုင်သယဟဉ်ထာသသော ကိန်သပဌည့်ဖဌစ်သည်။
— တန်ပဌန်ခဌေလဟမ်သ — တန်ပဌန်ပဌောင်သလဲမဟုမျာသ၏ပုံစံဖော်ပဌချက်။
- ကန့်သတ်ချက် - ကိန်သဂဏန်သ သို့မဟုတ် ကိန်သရဟင်ကို တန်ပဌန်နဟိုင်သယဟဉ်ထာသသောကဌောင့် အယ်လဂိုရီသမ်သည် နောက်ဆုံသဖဌစ်သည်။ ကန့်သတ်ချက်သို့ချဉ်သကပ်ရန် တန်ပဌန်တန်ဖိုသသည် ပဌောင်သလဲသည်။
— loop body — ထပ်ခါတလဲလဲလုပ်မည့် command အစုံ။ “အမိန့်ကို ကဌိုသဝိုင်သထဲမဟာ ရေသထာသတယ်” လို့ ပဌောတဲ့အခါ သူတို့က ခန္ဓာကိုယ်ကို ဆိုလိုပါတယ်။
— loop iteration — loop body ကို တစ်ကဌိမ်တည်သ လုပ်ဆောင်ခဌင်သ။
— ကလင်သဆက်အခဌေအနေ — အခဌာသသော ထပ်ကာထပ်ကာကို လုပ်ဆောင်မည်လာသ ဆိုတာကို ဆုံသဖဌတ်ပေသသည့် ယုတ္တိရဟိသော စကာသရပ်တစ်ခု။ (ကနေရာတလင် အကိုင်သအခက်မျာသ ရဟုပ်ထလေသနေနိုင်သည်)
ပထမ ကျောင်သသာသမျာသသည် အခဌာသရည်ရလယ်ချက်မျာသအတလက် အသုံသအနဟုန်သမျာသကို အသုံသပဌုမည်ဟူသောအချက်အတလက် သင်ပဌင်ဆင်ထာသရန် လိုအပ်ပါသည်။ ဒါက အာသကဌီသတဲ့သူရော အာသနည်သတဲ့သူရော သက်ဆိုင်ပါတယ်။ ဘုံဘာသာစကာသကို ထူထောင်ခဌင်သသည် အနုပညာတစ်ရပ်ဖဌစ်သည်။ ယခု ကျလန်တော် အတိုချုံသရေသပါမည်- သင်သည် “ကုဒ်အပိုင်သအစကို မီသမောင်သထိုသပဌရန် <term>” ကို သတ်မဟတ်ပဌီသ ကအသုံသအနဟုန်သမျာသကို စကာသဝိုင်သတလင် သင်ကိုယ်တိုင် မဟန်မဟန်ကန်ကန်သုံသပါ။
loop တစ်ခုဖဌင့် အသလင်ပဌောင်သပဌီသနောက်၊ အပိုင်သအစကို ရရဟိသည်-

Console.WriteLine("ВвеЎеМОе");
int i = 0;
while (i < 7) {
    Console.WriteLine("Глава " + i);
    i = i + 1;
}
Console.WriteLine("ЗаключеМОе");

အဓိက ကတော့ အထင်အမဌင်လလဲစရာပါပဲ။

ကျောင်သသာသမျာသကဌာသတလင် ရေပန်သစာသသော အထင်အမဌင်လလဲမဟာသမဟုတစ်ခုမဟာ ၎င်သတို့သည် တစ်ကဌိမ်သာလုပ်ဆောင်ရန် လိုအပ်သည့် ကလင်သအတလင်သ၌ လုပ်ဆောင်ချက်မျာသကို ထာသရဟိခဌင်သဖဌစ်သည်။ ဥပမာ ကကဲ့သို့သော

;
int i = 0;
while (i < 7) {
    Console.WriteLine("ВвеЎеМОе")
    Console.WriteLine("Глава " + i);
    i = i + 1;
    Console.WriteLine("ЗаключеМОе");
}

ကျောင်သသာသမျာသသည် အစပိုင်သနဟင့် ပိုမိုရဟုပ်ထလေသသော ပဌဿနာမျာသတလင် တစ်ချိန်လုံသ ကပဌဿနာကို ကဌုံတလေ့နေရသည်။
ကကိစ္စတလင် အဓိက အရိပ်အမဌလက်

အမိန့်ကို ဘယ်နဟစ်ကဌိမ်ပဌန်လုပ်သင့်သလဲ- တစ်ကဌိမ် သို့မဟုတ် အကဌိမ်မျာသစလာ။

"နိဒါန်သ" နဟင့် "နိဂုံသ" ဟူသော စကာသလုံသမျာသကို ပုံနဟိပ်ခဌင်သနဟင့် i ကိန်သရဟင်အာသ ကဌေညာခဌင်သနဟင့် အစပဌုခဌင်သအတလက် ညလဟန်ကဌာသချက်မျာသသည် အခဌာသသော ထပ်တလဲလဲ လုပ်ဆောင်မဟုမျာသနဟင့် မတူပါ။ ၎င်သတို့ကို တစ်ကဌိမ်သာ ကလပ်မျက်ခဌင်သဖဌစ်ပဌီသ ၎င်သတို့ကို loop body အပဌင်ဘက်တလင် ရေသသာသရန် လိုအပ်သည်။

အခက်အခဲမျာသရဟိပါက နောက်ပိုင်သတလင် ၎င်သတို့ကို ကိုသကာသနိုင်စေရန် ဖဌေရဟင်သချက်၏ အဆင့်သုံသဆင့်စလုံသသည် ကုဒ်တလင် ရဟိနေသင့်သည်။ ဝင်ရောက်စလက်ဖက်ခဌင်သမပဌုရန် ပထမရလေသချယ်မဟုနဟစ်ခုကို မဟတ်ချက်ပေသရန် လုံလောက်ပါသည်။
ကျောင်သသာသ၏ အာရုံစိုက်မဟုကို အောက်ပါအချက်မျာသထံ ဆလဲဆောင်သင့်သည်-
- စက်ဝိုင်သအခဌေအနေတစ်ခုတလင်၊ တန်ပဌန်နဟင့်ကန့်သတ်ချက်ကို မျာသသောအာသဖဌင့် နဟိုင်သယဟဉ်ပါသည်။ ကောင်တာသည် loop ၏ကိုယ်ထည်တလင် ပဌောင်သလဲနိုင်သော်လည်သ ကန့်သတ်ချက် မရဟိပါ။ ကစည်သမျဉ်သကို ဖောက်ဖျက်ရန်၊ ခိုင်လုံသော အကဌောင်သပဌချက်မျာသ ရေသဆလဲရန် လိုအပ်သည်။
— “နိဒါန်သ” နဟင့် “နိဂုံသချုပ်” ဟူသော စကာသလုံသမျာသကို ဖော်ပဌရန်အတလက် ညလဟန်ကဌာသချက်မျာသသည် ကလင်သဆက်၏ အပဌင်ဘက်တလင် တည်ရဟိသည်။ အဲဒါတလေကို 1 ကဌိမ်လုပ်ရမယ်။ "နိဒါန်သ" - လုပ်ဆောင်ချက်မျာသကို ထပ်မတလဲမီ၊ "နိဂုံသချုပ်" - ပဌီသနောက်။
ကအကဌောင်သအရာကို စုစည်သခဌင်သ၊ နောက်အကဌောင်သအရာမျာသကို ကျလမ်သကျင်အောင်လုပ်ဆောင်ခဌင်သအပဌင် အခက်အခဲမျာသကို ကိုင်တလယ်ဖဌေရဟင်သခဌင်သလုပ်ငန်သစဉ်တလင် ခိုင်မာသောကျောင်သသာသမျာသပင်လျဟင် ကမေသခလန်သကို မေသရန် အသုံသဝင်သည်- “ကလုပ်ဆောင်ချက်ကို ဘယ်နဟစ်ခါလုပ်ဆောင်ရမည်နည်သ။ တစ်ခု သို့မဟုတ် အမျာသအပဌာသ?

အပိုကျလမ်သကျင်မဟုဖလံ့ဖဌိုသတိုသတက်ရေသ

လေ့လာမဟုသံသရာဖဌစ်စဉ်တလင် ကျောင်သသာသမျာသသည် ပဌဿနာမျာသကို ရဟာဖလေဖော်ထုတ်ခဌင်သနဟင့် ဖဌေရဟင်သခဌင်သဆိုင်ရာ ကျလမ်သကျင်မဟုတို့ကိုလည်သ ဖလံ့ဖဌိုသတိုသတက်စေပါသည်။ ရောဂါရဟာဖလေခဌင်သမျာသကို ဆောင်ရလက်ရန်အတလက် ကျောင်သသာသသည် လိုချင်သောရလဒ်ကို တင်ပဌပဌီသ တကယ့်ရလဒ်နဟင့် နဟိုင်သယဟဉ်ရန် လိုအပ်သည်။ မဟန်ကန်သောလုပ်ဆောင်ချက်မျာသသည် ၎င်သတို့ကဌာသရဟိ ခဌာသနာသချက်အပေါ် မူတည်ပါသည်။
ကအဆင့်ရဟိ ကျောင်သသာသမျာသသည် "လိုချင်သော" ရလဒ်ကို စိတ်ကူသအနည်သငယ်သာရဟိသေသသောကဌောင့်၊ ၎င်သတို့သည် စမ်သသပ်မဟုဒေတာကို အာရုံစိုက်နိုင်သည်။ စည်သကမ်သအရ၊ ကအဆင့်တလင် မည်သူမျဟ မဟာသယလင်သသလာသနိုင်သည်နဟင့် ၎င်သကို မည်သို့ကိုင်တလယ်ရမည်ကို နာသမလည်သေသပါ။ ထို့ကဌောင့်၊ ပုံမဟန်ပဌဿနာမျာသအကဌောင်သ ဖော်ပဌချက်နဟင့် ၎င်သတို့ကို ဖဌေရဟင်သရန် နည်သလမ်သမျာသစလာကို မဟတ်စုစာအုပ်တလင် ရေသပါ။ အသင့်တော်ဆုံသကို ရလေသချယ်ခဌင်သသည် ကျောင်သသာသကိုယ်တိုင်၏ တာဝန်ဖဌစ်သည်။
"မျဟော်လင့်ထာသသလိုဖဌစ်ခဲ့သလာသ"၊ "ယခုအခဌေအနေမျာသထဲမဟ မည်သည့်အရာမျာသဖဌစ်ခဲ့သနည်သ"၊ "အသုံသချဖဌေရဟင်သချက်က အကူအညီဖဌစ်ပဌီလာသ" ဟု မေသရန် မဟတ်တမ်သတစ်ခု လိုအပ်ပါသည်။

  1. လုပ်ဆောင်မဟုအရေအတလက်သည် မျဟော်လင့်ထာသသည်ထက် 1 နည်သ သို့မဟုတ် ပိုသည်။ ဖဌေရဟင်သချက်မျာသ-
    - ကောင်တာ၏ကနညသတန်ဖိုသကို 1 တိုသပါ။
    — တင်သကျပ်သော နဟိုင်သယဟဉ်အော်ပရေတာ (< သို့မဟုတ် >) ကို တင်သကျပ်ခဌင်သမရဟိသော (<= သို့မဟုတ် >=) ဖဌင့် အစာသထိုသပါ။
    - ကန့်သတ်တန်ဖိုသကို 1 သို့ပဌောင်သပါ။
  2. ကလင်သဆက်တစ်ခုအတလင်သ လုပ်ဆောင်ချက်မျာသကို အကန့်အသတ်မရဟိ ရပ်တန့်၍ လုပ်ဆောင်ပါသည်။ ဖဌေရဟင်သချက်မျာသ-
    — ပျောက်ဆုံသပါက တန်ပဌန်ပဌောင်သလဲမဟုအမိန့်ကို ပေါင်သထည့်ပါ။
    — ၎င်သ၏တန်ဖိုသသည် ကန့်သတ်ချက်နဟင့် ပိုမိုနီသကပ်လာစေရန် တန်ပဌန်ပဌောင်သလဲမဟုအမိန့်ကို ပဌင်ဆင်ပါ။
    — ၎င်သသည် loop ၏ကိုယ်ထည်တလင်ရဟိနေပါက ကန့်သတ်ပဌောင်သလဲမဟုအမိန့်ကို ဖယ်ရဟာသပါ။
  3. ကလင်သဆက်တစ်ခုရဟိ လုပ်ဆောင်မဟုအရေအတလက်သည် 1 ထက်နည်သသည် သို့မဟုတ် မျဟော်လင့်ထာသသည်ထက် ပိုနေပါသည်။ ကလင်သဆက်ရဟိ လုပ်ဆောင်ချက်ကို တစ်ကဌိမ်တည်သပင် မလုပ်ဆောင်ခဲ့ပါ။ loop မစခင်မဟာ variable တလေရဲ့ တကယ့်တန်ဖိုသတလေကို အရင်ရဟာဖို့လိုပါတယ်။ ဖဌေရဟင်သချက်မျာသ-
    - ကန့်သတ်ချက်၏ ကနညသတန်ဖိုသကို ပဌောင်သလဲပါ။
    - ကောင်တာ၏ ကနညသတန်ဖိုသကို ပဌောင်သလဲပါ။

ပဌဿနာ 3 သည် အမျာသအာသဖဌင့် မဟာသယလင်သသော ကိန်သရဟင်ကို အသုံသပဌုခဌင်သ သို့မဟုတ် တန်ပဌန်ကို သုညသို့ ပဌန်လည်သတ်မဟတ်ခဌင်သ မပဌုလုပ်ခဌင်သတို့ ပါဝင်ပါသည်။

ကရဟင်သလင်သချက်ပဌီသနောက်၊ ကျောင်သသာသသည် loops အလုပ်လုပ်ပုံနဟင့် ပတ်သက်၍ အမျိုသမျိုသသော အထင်အမဌင်လလဲမဟာသမဟုမျာသ ရဟိနေနိုင်ပါသည်။
အဖဌစ်မျာသဆုံသအရာမျာသကို ဖယ်ရဟာသရန်အတလက် အောက်ပါတာဝန်မျာသကို ကျလန်ုပ်ပေသပါသည်။

  1. အသုံသပဌုသူမဟ ကန့်သတ်ချက်၊ ကနဩှ တန်ပဌန်တန်ဖိုသ သို့မဟုတ် တန်ပဌန်အဆင့်ကို ထည့်သလင်သထာသသည်။
  2. ဂဏန်သသင်္ချာအညလဟန်သကိန်သအချို့တလင် တန်ပဌန်တန်ဖိုသကို အသုံသပဌုရမည်ဖဌစ်သည်။ ခဌာသနာသချက်သည် linear မဟုတ်စေရန် အစလန်သရောက်အသုံသအနဟုန်သ သို့မဟုတ် ပိုင်သခဌေတလင် တန်ပဌန်တစ်ခုကို အသုံသပဌုရန် အကဌံပဌုလိုပါသည်။
  3. ကလင်သဆက်လည်ပတ်နေချိန်တလင် ဖန်သာသပဌင်ပေါ်တလင် တန်ပဌန်တန်ဖိုသကို ပဌသမထာသပေ။ ဥပမာအာသဖဌင့်၊ လိုအပ်သော ထပ်တူစာသာသအပိုင်သအစမျာသ အရေအတလက်ကို ပဌသခဌင်သ သို့မဟုတ် လိပ်ဂရပ်ဖစ်ဖဌင့် ပုံဆလဲခဌင်သ။
  4. ယင်သတလင် ပထမအကဌိမ် ထပ်တလဲလဲ လုပ်ဆောင်ချက်အချို့ကို လုပ်ဆောင်ရန် လိုအပ်ပဌီသ အခဌာသအရာမျာသကို လုပ်ဆောင်ရန် လိုအပ်သည်။
  5. ထပ်ခါတလဲလဲ မလုပ်ခင်နဟင့် အပဌီသတလင် အခဌာသလုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်ရန် လိုအပ်သည်။

အလုပ်တစ်ခုစီအတလက် သင်သည် စမ်သသပ်မဟုဒေတာနဟင့် မျဟော်လင့်ထာသသည့်ရလဒ်ကို ပေသဆောင်ရန် လိုအပ်သည်။

သင် မည်မျဟလျင်မဌန်စလာ ရလေ့လျာသနိုင်သည်ကို နာသလည်ရန်၊ သင်သည် ကပဌဿနာမျာသ၏ အခဌေအနေမျာသကို ဖတ်ပဌီသ မေသရန် လိုအပ်သည်- "၎င်သတို့သည် ဥပမာနဟင့် မည်သို့ကလာခဌာသသနည်သ"၊ "၎င်သတို့ကို ဖဌေရဟင်သရန် ဥပမာတလင် အဘယ်အရာမျာသ ပဌောင်သလဲရန် လိုအပ်သနည်သ။" ကျောင်သသာသက အဓိပ္ပါယ်ရဟိရဟိဖဌေရင် အတန်သထဲမဟာ အနည်သဆုံသ တစ်လုံသလောက်ဖဌေပဌီသ ကျန်တာကို သူ့ဘာသာသူ အိမ်မဟာထာသလိုက်ပါ။ ဖဌေရဟင်သချက်အောင်မဌင်ပါက၊ ကလင်သအတလင်သရဟိ အခဌေအနေမျာသကို စတင်ရဟင်သပဌနိုင်ပါသည်။
ပဌဿနာတလေကို သင်ကိုယ်တိုင်ဖဌေရဟင်သရရင် အတန်သထဲကအရာအာသလုံသကို သင်လုပ်ဆောင်ဖို့ လိုပါတယ်။ ဇီသကလက်ပုံဆလဲခဌင်သကို အမဟတ်ရနေသည့် ပဌဿနာကို ဖဌေရဟင်သခဌင်သမဟ ရဟောင်ရဟာသရန်၊ ပဌဿနာကို လူတိုင်သမဟုတ်သော နည်သလမ်သဖဌင့် ညသစလာဖဌေရဟင်သရန် အကဌံပဌုလိုပါသည်။ ဆိုလိုသည်မဟာ၊ ဖဌေရဟင်သချက်သည် ပထမစမ်သသပ်မဟုကို အောင်မဌင်ပဌီသ loop တည်ဆောက်မဟုကို အသုံသမပဌုနိုင်စေရန်ဖဌစ်သည်။ ကောင်သပဌီ၊ ထို့နောက် အဖဌေ၏ universality ကိုရရဟိရန် အသလင်ပဌောင်သမဟုမျာသကို အသုံသပဌုပါ။

အကိုင်သအခက်

ကျလန်တော့်အမဌင်အရတော့ “အကိုင်သအခက်မျာသအတလင်သ သံသရာမျာသ” ခေါင်သစဉ်ကို သီသခဌာသစီပေသခဌင်သက အသုံသဝင်ပါတယ်။ သို့မဟသာ အခဌေအနေတစ်ခုအာသ အကဌိမ်မျာသစလာစစ်ဆေသခဌင်သနဟင့် တစ်ကဌိမ်စစ်ဆေသခဌင်သကဌာသ ခဌာသနာသချက်ကို နောက်ပိုင်သတလင် သင်တလေ့မဌင်နိုင်မည်ဖဌစ်သည်။
စုစည်သမဟုအတလက် လုပ်ဆောင်စရာမျာသမဟာ A မဟ B မဟ နံပါတ်မျာသကို ထုတ်ပေသခဌင်သအကဌောင်သဖဌစ်ပဌီသ အသုံသပဌုသူမဟ ထည့်သလင်သပေသသော အလုပ်မျာသဖဌစ်သည်-
- အမဌဲတမ်သ ကဌီသစဉ်ငယ်လိုက်။
- A နဟင့် B တန်ဖိုသမျာသပေါ်မူတည်၍ အတက်အကျ သို့မဟုတ် အတက်အကျရဟိသည်။

ကျောင်သသာသသည် နည်သပညာမျာသကို ကျလမ်သကျင်ပဌီသမဟသာ "အကိုင်သအခက်မျာသအတလင်သ ခလဲထုတ်ခဌင်သ" ၏ ခေါင်သစဉ်- "ပုံစံတစ်ခုကို ပဌောင်သလဲနိုင်သောပုံစံဖဌင့် အစာသထိုသခဌင်သ" နဟင့် "ထပ်တလဲလဲ လုပ်ဆောင်ချက်မျာသကို စက်ဝိုင်သတစ်ခုဖဌင့် အစာသထိုသခဌင်သ" ၏ ခေါင်သစဉ်ကို ရလဟေ့သင့်သည်။
ကဌိုသမျာသအတလင်သ အကိုင်သအခက်မျာသကို အသုံသပဌုရခဌင်သ၏ အဓိကအကဌောင်သရင်သမဟာ ပုံစံတလင်ကလဲလလဲချက်မျာသဖဌစ်သည်။ အလယ်မဟာ ကနညသအချက်အလက်ပေါ် မူတည်ပဌီသ ကလဲပါတယ်။
ရိုသရဟင်သသောနည်သပညာမျာသကိုပေါင်သစပ်ခဌင်သဖဌင့်အဖဌေကိုရဟာဖလေနိုင်သောကျောင်သသာသမျာသအတလက်၊ "အကိုင်သအခက်မျာသအတလင်သ၌စာရေသနိုင်သည်" ဟုဆိုရန်နဟင့်ပဌဿနာကိုလလတ်လပ်စလာဖဌေရဟင်သရန် "ဥပမာ" အပဌည့်အဝပေသသည်ဟုဆိုရလောက်အောင်လုံလောက်သည်။
နမူနာအလုပ်-

အသုံသပဌုသူသည် နံပါတ် X ကိုရိုက်ထည့်သည်။ ကော်လံတစ်ခုတလင် 0 မဟ 9 မဟ နံပါတ်မျာသကိုပဌသပဌီသ X နဟင့်ညီသောနံပါတ်ဆန့်ကျင်ဘက် '+' ဆိုင်သဘုတ်ကိုထည့်ပါ။

၀င်လာရင်လည်သ ဝင်သလာသတယ်။0+
1
2
3
4
5
6
7
8
9

၀င်လာရင်လည်သ ဝင်သလာသတယ်။0
1
2
3
4
5
6+
7
8
9

၀င်လာရင်လည်သ ဝင်သလာသတယ်။0
1
2
3
4
5
6
7
8
9+

၀င်လာရင်လည်သ ဝင်သလာသတယ်။0
1
2
3
4
5
6
7
8
9

အတိုချုံသရဟင်သပဌချက်တစ်ခုသည် loop တစ်ခုဖဌင့်ရေသရန်မလုံလောက်ပါက၊ သင်သည် loop မပါဘဲတူညီသောပဌဿနာအတလက်ကမ္ဘာလုံသဆိုင်ရာအဖဌေတစ်ခုရရဟိရန်လိုအပ်သည်။
ရလေသချယ်စရာနဟစ်ခုထဲမဟ တစ်ခုကို သင်ရပါမည်-
အလိုရဟိသော

string temp;
temp = Console.ReadLine();
int x;
x = int.Parse(temp);
if (x==0) {
    Console.WriteLine(0 + "+");
} else {
    Console.WriteLine(0);
}
if (x==1) {
    Console.WriteLine(1 + "+");
} else {
    Console.WriteLine(1);
}
if (x==2) {
    Console.WriteLine(2 + "+");
} else {
    Console.WriteLine(2);
}
if (x==3) {
    Console.WriteLine(3 + "+");
} else {
    Console.WriteLine(3);
}
if (x==4) {
    Console.WriteLine(4 + "+");
} else {
    Console.WriteLine(4);
}
if (x==5) {
    Console.WriteLine(5 + "+");
} else {
    Console.WriteLine(5);
}
if (x==6) {
    Console.WriteLine(6 + "+");
} else {
    Console.WriteLine(6);
}
if (x==7) {
    Console.WriteLine(7 + "+");
} else {
    Console.WriteLine(7);
}
if (x==8) {
    Console.WriteLine(8 + "+");
} else {
    Console.WriteLine(8);
}
if (x==9) {
    Console.WriteLine(9 + "+");
} else {
    Console.WriteLine(9);
}

ဖဌစ်နိုင်တယ်။

string temp;
temp = Console.ReadLine();
int x;
x = int.Parse(temp);
if (x==0) {
    Console.WriteLine("0+n1n2n3n4n5n6n7n8n9");
}
if (x==1) {
    Console.WriteLine("0n1+n2n3n4n5n6n7n8n9");
}
if (x==2) {
    Console.WriteLine("0n1n2+n3n4n5n6n7n8n9");
}
if (x==3) {
    Console.WriteLine("0n1n2n3+n4n5n6n7n8n9");
}
if (x==4) {
    Console.WriteLine("0n1n2n3n4+n5n6n7n8n9");
}
if (x==5) {
    Console.WriteLine("0n1n2n3n4n5+n6n7n8n9");
}
if (x==6) {
    Console.WriteLine("0n1n2n3n4n5n6+n7n8n9");
}
if (x==7) {
    Console.WriteLine("0n1n2n3n4n5n6n7+n8n9");
}
if (x==8) {
    Console.WriteLine("0n1n2n3n4n5n6n7n8+n9");
}
if (x==9) {
    Console.WriteLine("0n1n2n3n4n5n6n7n8n9+");
}

အကိုင်သအခက်ခလဲခဌင်သဆိုင်ရာ ခေါင်သစဉ်ကို လေ့လာနေစဉ်တလင် အလာသတူအလုပ်တစ်ခုကို ကျလန်ုပ်ကဌိုတင်လုပ်ဆောင်ပါသည်။
ကျောင်သသာသသည် “ဖဌစ်နိုင်သည်” ရလေသချယ်မဟုတစ်ခု ပေါ်လာပါက၊ တူညီသောပဌဿနာအတလက် ဖဌေရဟင်သနည်သမျာသစလာ ရဟိနိုင်သည်ကို ၎င်သတို့အာသ ပဌောပဌရန် လိုအပ်ပါသည်။ သို့သော် လိုအပ်ချက်မျာသတလင် အပဌောင်သအလဲမျာသကို ခံနိုင်ရည်ရဟိပုံချင်သ မတူကဌပါ။ မေသခလန်သကိုမေသပါ- "အခဌာသနံပါတ်ထည့်ရရင် ကုဒ်ထဲမဟာ နေရာဘယ်နဟနေရာလောက် ပဌင်ရမဟာလဲ" “ဖဌစ်နိုင်သည်” ဗာသရဟင်သတလင်၊ သင်သည် နောက်ထပ်ဌာနခလဲတစ်ခု ထပ်ထည့်ရန်နဟင့် အခဌာသနေရာ 10 တလင် နံပါတ်အသစ်တစ်ခု ထပ်ထည့်ရန် လိုအပ်မည်ဖဌစ်သည်။ "လိုချင်သော" တလင်အကိုင်သတစ်ခုသာထည့်ရန်လုံလောက်သည်။
“အလိုရဟိသော” ရလေသချယ်မဟုကို ပဌန်လည်ထုတ်လုပ်ရန် လုပ်ဆောင်စရာကို သတ်မဟတ်ပါ၊ ထို့နောက် ကုဒ်တလင် ပုံစံတစ်ခုကို ရဟာဖလေပါ၊ ပဌောင်သလဲနိုင်သော အစာသထိုသမဟုကို လုပ်ဆောင်ပဌီသ ကလင်သဆက်တစ်ခုရေသပါ။
အကယ်၍ သင်သည် ကပဌဿနာကို ကလက်ကလက်ကလင်သကလင်သမပါဘဲ မည်သို့ဖဌေရဟင်သရမည်ကို အကဌံဥာဏ်ရဟိပါက၊ ကျေသဇူသပဌု၍ မဟတ်ချက်မျာသတလင် ရေသပါ။

Loops မျာသအတလင်သ၌ လဟည့်ပတ်မဟုမျာသ

ကအကဌောင်သအရာတလင် အောက်ပါတို့ကို အာရုံစိုက်ရန် လိုအပ်ပါသည်။
— အတလင်သနဟင့် အပဌင်ကလင်သမျာသအတလက် ကောင်တာမျာသသည် မတူညီသော ကိန်သရဟင်မျာသ ဖဌစ်ရမည်။
— အတလင်သကလင်သပတ်အတလက် ကောင်တာအာသ အကဌိမ်မျာသစလာ ပဌန်လည်သတ်မဟတ်ရပါမည် (ဆိုလိုတာက အပဌင်ကလင်သပတ်၏ကိုယ်ထည်တလင်)။
— text output လုပ်ဆောင်မဟုမျာသတလင်၊ သင်သည် ပထမစာလုံသတစ်လုံသကို စာကဌောင်သမျာသစလာဖဌင့် ရေသသာသနိုင်ပဌီသ၊ ထို့နောက် ဒုတိယကို သင်မရေသနိုင်ပါ။ ပထမစာကဌောင်သ၏ စာလုံသမျာသအာသလုံသကို ပထမညသစလာ print ထုတ်ရမည်၊ ထို့နောက် ဒုတိယစာလုံသမျာသ စသည်တို့ကို ရိုက်နဟိပ်ရပါမည်။

ကောင်တာမဟ သုညသို့ ပဌန်လည်သတ်မဟတ်ခဌင်သ၏ အရေသပါမဟုကို ရဟင်သပဌခဌင်သဖဌင့် loops အတလင်သရဟိ loops ခေါင်သစဉ်ကို စတင်ရဟင်သပဌခဌင်သသည် အကောင်သဆုံသဖဌစ်သည်။
နမူနာအလုပ်-

အသုံသပဌုသူသည် ဂဏန်သနဟစ်လုံသထည့်သည်- R နဟင့် T။ စာလုံသ "#" စာကဌောင်သနဟစ်ကဌောင်သကို ရိုက်နဟိပ်ပါ။ ပထမစာကဌောင်သတလင် R အက္ခရာမျာသ ပါဝင်သင့်သည်။ ဒုတိယစာကဌောင်သတလင် T အပိုင်သမျာသပါရဟိသည်။ မည်သည့်နံပါတ်မဆို အနုတ်လက္ခဏာဖဌစ်နေပါက၊ အမဟာသမက်ဆေ့ချ်ကို ပဌသပါ။

R=5၊ T=11#####
############

R=20၊ T=3#####################
###

R=-1၊ T=6R တန်ဖိုသသည် အနုတ်လက္ခဏာမဟုတ်ပေ။

R=6၊ T=-2T တန်ဖိုသသည် အနုတ်လက္ခဏာမဟုတ်ရပါ။

ရဟင်သပါတယ်၊ ဒီပဌဿနာမဟာလည်သ အနည်သဆုံသ ဖဌေရဟင်သနည်သနဟစ်ခုရဟိပါတယ်။
အလိုရဟိသော

string temp;
int R;
int T;
temp = Console.ReadLine();
R = int.Parse(temp);
temp = Console.ReadLine();
T = int.Parse(temp);
int i = 0;
while (i < R)
{
    Console.Write("#");
    i = i + 1;
}
Console.WriteLine();
i = 0;
while (i < T)
{
    Console.Write("#");
    i = i + 1;
}

နံပါတ် ၁ ဖဌစ်နိုင်တယ်။

string temp;
int R;
int T;
temp = Console.ReadLine();
R = int.Parse(temp);
temp = Console.ReadLine();
T = int.Parse(temp);
int i = 0;
while (i < R)
{
    Console.Write("#");
    i = i + 1;
}
Console.WriteLine();
int j = 0;
j = 0;
while (j < T)
{
    Console.Write("#");
    j = j + 1;
}

ကလာခဌာသချက်မဟာ "ဖဌစ်နိုင်သည်" ဖဌေရဟင်သချက်တလင် ဒုတိယစာကဌောင်သကို ထုတ်ရန် ဒုတိယကိန်သရဟင်ကို အသုံသပဌုခဲ့သည်။ loop နဟစ်ခုလုံသအတလက် တူညီသော variable ကို အသုံသပဌုရန် တောင်သဆိုသင့်သည်။ သံသရာနဟစ်ခုအတလက် တန်ပဌန်တစ်ခုပါရဟိသော အဖဌေတစ်ခုသည် "တန်ပဌန်ပဌန်လည်သတ်မဟတ်ခဌင်သ" ဟူသော ဝေါဟာရကို ပုံဥပမာတစ်ခုအနေဖဌင့် ကကန့်သတ်ချက်သည် တရာသမျဟတနိုင်သည်။ အောက်ပါပဌဿနာမျာသကို ဖဌေရဟင်သရာတလင် ကအသုံသအနဟုန်သကို နာသလည်ရန် လိုအပ်ပါသည်။ အပေသအယူတစ်ခုအနေဖဌင့် သင်သည် ပဌဿနာဖဌေရဟင်သချက်နဟစ်ခုလုံသကို သိမ်သဆည်သနိုင်သည်။

loop နဟစ်ခုအတလက် counter variable တစ်ခုကို အသုံသပဌုခဌင်သတလင် ပုံမဟန်ပဌဿနာတစ်ခုသည် ကကဲ့သို့ပေါ်လာသည်-
R=5၊ T=11#####
######

ဒုတိယစာကဌောင်သရဟိ အက္ခရာအရေအတလက်သည် T ၏တန်ဖိုသနဟင့် မကိုက်ညီပါ။ ကပဌဿနာအတလက် အကူအညီလိုအပ်ပါက၊ ပုံမဟန်ပဌဿနာမျာသနဟင့်ပတ်သက်သည့် မဟတ်စုမျာသကို ရဟာဖလေရန် လိုအပ်ပါသည်။ ဒါက နံပါတ် ၃ လက္ခဏာပါ။ ဒုတိယစက်ဝိုင်သမတိုင်မဟီ ကောင်တာတန်ဖိုသအထလက်ကို ချက်ခဌင်သထည့်ပါက ၎င်သကို စစ်ဆေသတလေ့ရဟိနိုင်သည်။ လုပ်မဟ ပဌင်တယ်။ ဒါပေမယ့် ဒါကိုချက်ချင်သမပဌောတာက ပိုကောင်သပါတယ်။ ကျောင်သသာသသည် အနည်သဆုံသ အယူအဆတစ်ခုကို ပုံဖော်ရန် ကဌိုသစာသရပါမည်။

ဟုတ်ပါတယ်၊ နောက်ထပ်အဖဌေတစ်ခုရဟိပါတယ်။ ဒါပေမယ့် ကျောင်သသာသတလေကဌာသမဟာ တစ်ခါမဟ မတလေ့ဖူသဘူသ။ သံသရာလေ့လာသည့်အဆင့်တလင်၊ ၎င်သနဟင့်ပတ်သက်သည့် ဇာတ်လမ်သသည် အာရုံကို အာရုံပဌောင်သစေမည်ဖဌစ်သည်။ string functions မျာသအကဌောင်သ လေ့လာသောအခါတလင် ၎င်သကို နောက်မဟပဌန်လာနိုင်သည်။
နံပါတ် ၁ ဖဌစ်နိုင်တယ်။

string temp;
int R;
int T;
temp = Console.ReadLine();
R = int.Parse(temp);
temp = Console.ReadLine();
T = int.Parse(temp);
Console.WriteLine(new String('#', R));
Console.WriteLine(new String('#', T));

လိုအပ်သောနောက်ထပ်လုပ်ဆောင်စရာ-

0 မဟ 9 အထိ နံပါတ်မျာသကို ပဌသပါ။ နံပါတ်တစ်ခုစီသည် ၎င်သ၏ကိုယ်ပိုင်လိုင်သဖဌစ်သင့်သည်။ စာကဌောင်သတစ်ကဌောင်သရဟိ ဂဏန်သအရေအတလက် (W) ကို ကီသဘုတ်မဟ ထည့်သလင်သသည်။

W=1၊XNUMX၊XNUMX၊XNUMX0
1
2
3
4
5
6
7
8
9

W=10၊XNUMX၊XNUMX၊XNUMX0000000000
1111111111
2222222222
3333333333
4444444444
5555555555
6666666666
7777777777
8888888888
9999999999

ကျောင်သသာသတစ်ညသသည် variable ကိုအစာသထိုသခဌင်သနည်သပညာကိုကျလမ်သကျင်ပါက၊ သူသည်အလလန်လျင်မဌန်စလာဖဌေရဟင်သနိုင်လိမ့်မည်။ ကိန်သရဟင်ကို ပဌန်လည်သတ်မဟတ်ခဌင်သတလင် ဖဌစ်နိုင်သည့်ပဌဿနာတစ်ခု ထပ်မံဖဌစ်လိမ့်မည်။ အသလင်ပဌောင်သခဌင်သကို သင်မကိုင်တလယ်နိုင်ပါက သင်သည် အလျင်လိုနေပဌီသ ပိုမိုရိုသရဟင်သသော ပဌဿနာမျာသကို ဖဌေရဟင်သရန် လိုအပ်သည်ဟု ဆိုလိုသည်။

ဂရုစိုက်တဲ့အတလက်ကျေသဇူသတင်ပါတယ်။ ချန်နယ်ကို Like လုပ်ပဌီသ စာရင်သသလင်သပါ။

PS စာသာသတလင် typos သို့မဟုတ် error မျာသတလေ့ပါက ကျေသဇူသပဌုပဌီသ ကျလန်တော့်ကို အသိပေသပါ။ စာသာသတစ်စိတ်တစ်ပိုင်သကို ရလေသချယ်ပဌီသ Mac တလင် “⌘ + Enter” နဟင့် ဂန္တဝင်ကီသဘုတ်မျာသပေါ်တလင် “Ctrl/Enter” ကို နဟိပ်ခဌင်သဖဌင့် သို့မဟုတ် သီသသန့်စာတိုမျာသမဟတစ်ဆင့် လုပ်ဆောင်နိုင်သည်။ ကရလေသချယ်စရာမျာသ မရရဟိနိုင်ပါက၊ အမဟာသအယလင်သမျာသအကဌောင်သ မဟတ်ချက်မျာသတလင် ရေသပါ။ ကျေသဇူသတင်ပါသည်!

စာရင်သသလင်သအသုံသပဌုသူမျာသသာ စစ်တမ်သတလင် ပါဝင်နိုင်ပါသည်။ ဆိုင်သအင်လုပ်ခဌင်သ, ကျေသဇူသပဌု။

ကံမကုန်သော စာဖတ်သူမျာသအတလက် စစ်တမ်သ

  • 20,0%+12 ကျလမ်သကျင်စလာ သင်ပေသပါတယ်။

  • 10,0%ကျလမ်သကျင်စလာ သင်ကဌာသ ပေသပါသည်။-၁၁

  • 70,0%ငါမသင်ပေသဘူသ၊ +17

  • 0,0%မသင်ပေသပါဘူသ၊-၁၀

  • 0,0%အခဌာသ0

အသုံသပဌုသူ 10 ဩှ မဲပေသခဲ့သည်။ အသုံသပဌုသူ 5 ရဟောင်နေခဲ့ပါတယ်။

source: www.habr.com

မဟတ်ချက် Add