ကွန်ပျူတာများ, ပရိုဂရမ်းမင်း
Programming ။ ထို option နှင့်အတူသံသရာ
Turbo Pascal အတွက်အထူးအရပျကိုသံသရာအထိယူပါ။ သူတို့က screen ကိုမှကျွမ်းကျင်မှုလေ့ကျင့်ရေး input ကို-output ကိုသတင်းအချက်အလက်ပြီးနောက်ချက်ချင်းလေ့လာဖို့စတင်ဖို့။ ပြီးနောက်ရှိသမျှတို့, ယင်းတာဝန်များကိုအများစု parameter သည်နှင့်အခြားအဆောက်အဦများနှင့်အတူသံသရာတစ်ဦးအထူးသဖြင့်အစီအစဉ်ကိုပိတ်ပင်တားဆီးမှု၏အရေးအသားနှင့်စစ်ဆင်ရေးလွယ်ကူချောမွေ့ကိုကူညီကြောင်းသေချာစေရန်ဖြစ်ပါသည်။
အမျိုးပေါင်းသံသရာ
စုစုပေါင်းသုံးမျိုးပေါင်းရှိပါတယ်:
- တစ်ဦး parameter နဲ့,
- တစ်ဦးမရှိမဖြစ်လိုအပ်ချက်နှင့်အတူ,
- တစ်ဦး postcondition ။
ထို option နှင့်အတူသံသရာ, မဟုတ်ရင်ပြုပါ ... သည် ... ရန်အဖြစ်ရည်ညွှန်းသို့မဟုတ်များအတွက် ... downto .... အကြိမ်ကြိမ်လုပ်ရပ်များတစ် sequence ကိုပြန်လုပ်ကြဘူး။ မူအရအခြားအမျိုးပေါင်းကိုသာအဘို့အ-ကွင်းဆက်အတွက်ကြိုတင်ခြေလှမ်းများ၏နံပါတ်လူသိများသည်, တူညီတဲ့ရည်ရွယ်ချက်အတွက်အသုံးပြုကြသည်။
နှစ်ခုကအခြားအဆောက်အဦများ (နှင့် Repeat နေစဉ်) စပိုင်းတွင်အမည်မသိကြားမှာများ၏အရေအတွက်။ အလုပ်အကိုင်အလေ့လာနေသည့်အခါဒါကြောင့်သံသရာကိုအသုံးပြုသည်အရာ, နားလည်သဘောပေါက်ခံရဖို့ရှိပါတယ်။
အခြေခံပညာဆိုချက် Related
ထပ်တလဲလဲကြားမှာ - parameters တွေကိုနှင့်အတူသံသရာ။ ကောင်တာ - ကကြိုတင်သတ်မှတ်ထားသောဒီဇိုင်းကိုသုံးပြီးဖျော်ဖြေသောအဓိကအစိတ်အပိုင်း။ ကွာဟချက်၏နယ်နိမိတ်ထွက်သယ်ဆောင်ပါလိမ့်မည်သည့်အတိုင်းအတာဒါမှမဟုတ်ကြားမှာပြသထားတယ်။ စကားမစပ်, ကနဦးတန်ဖိုးကိုအသုံးပြုသူမိမိတို့ကိုယ်ပိုင်နယ်နိမိတ်, ကွာဟချက်နှစ်ခုလုံးကိုသတ်မှတ် 1. ညီမျှကြောင်းမလိုအပ်ပါဘူး။ အဆိုပါကွင်းဆက်ခန္ဓာကိုယ် - ပြီးသားအထပ်ထပ်၏နံပါတ်သတ်မှတ်လိုက်တဲ့ကြောင့်ပညတ်တော်တို့ကိုအစုတခု။
အဆိုပါဝေါဟာရကို "parameters တွေကိုနှင့်အတူသံသရာ" အခြေအနေကို check လုပ်ထားကြောင်းကိုဆိုလိုတယ်, နှင့်ဒီဇိုင်းအတွက်ကြားမှာ၏ထို့နောက်အစုံ။ အဆိုပါကောင်တာအဆတိုး (သို့မဟုတ် decremented), နှင့်အရာခပ်သိမ်းကို repeat ဖြစ်ပါတယ်။ အဆိုပါကွင်းဆက်ခန္ဓာကိုယ်နေသမျှကာလပတ်လုံးအခြေအနေကိုမှန်အဖြစ်ပါဝင်လိမ့်မည်။
ပြုပါ ... မှ ... အဘို့: အ algorithm ကို, syntax
ပြီးသားဖော်ပြထားသည့်အတိုင်းတစ်ဦး parameter သည်နှင့်အတူသံသရာနှင့်အတူအလုပ်လုပ်ရန်အတွက် "ကွာဟမှု" ကိုသတ်မှတ်ကြောင်းပလီကေးရှင်းကိုအသုံးပြုသည်။ ထို့ကွောငျ့နံပါတ်များတစ်ခုခင်းကျင်း, ထိုရက်သတ္တပတ်၏ရက်, အတန်းများနှင့်မီတာ poems နိုင်ပါတယ်။ ဃ
2 အထီးကျန်ပုံစံဒီဇိုင်း: အကောင်တာများ၏တိုးနှင့်၎င်း၏ကျဆင်းခြင်း။ ပထမဦးဆုံးဒီဇိုင်းကိုအောက်ပါလမ်းထွက်စာလုံးပေါင်းလိမ့်မည်:
iskh.peremennaya များအတွက်: နယ်စပ်မှ 2 = 1 နယ်စပ်ပြုပါ
အစပြု
ကွင်းဆက်ခန္ဓာကိုယ်;
အဆုံး;
ဤတွင်: ref ။ variable ကို program ကိုသို့မဟုတ်ယူနစ်၏အစမှာအသုံးပြုသူကြေညာသည်, 1 နယ်နိမိတ်နှင့် 2 ၏နယ်နိမိတ် - ကြာချိန်များအတွက်ကနဦးနှင့်နောက်ဆုံးတန်ဖိုးများ; သည် loop ခန္ဓာကိုယ်ထဲမှာ program ကဖျော်ဖြေခံရဖို့လုပ်ရပ်တွေကို၏နံပါတ်သတ်မှတ်ထားသောဖြစ်ပါတယ်။ ဒါဟာကွင်းဆက်ခန္ဓာကိုယ်တစ်ဦးတည်းသာအသင်းပါရှိသည်လျှင်, အော်ပရေတာကွင်းခတ်စတင်ကြောင်း ... အဆုံးချန်လှပ်နိုင်ပါသည်အောကျမေ့ရမည်ဖြစ်သည်။ ဒီဂျ, ကောင်တာများတွင်အမည်ရ
နယ်စပ်နယ်စပ် 2 downto iskh.peremennaya = 1 အဘို့ပြု
အစပြု
ကွင်းဆက်ခန္ဓာကိုယ်;
အဆုံး;
ဤတွင် ref ။ အဆိုပါ variable ကို 1 နှစ်တိုးအတွက်လျော့နည်းကျဆင်းလိမ့်မယ်။
အောက်ပါအတိုင်းသည် ... မှ ... Do သံသရာ parameter သည်၏ scheme ပါလိမ့်မယ်:
- ဒါဟာကြားကာလ, t ကို၏အထက်ပိုင်းကန့်သတ်တန်ဖိုးကိုသတ်မှတ်။ အီး 2 နယ်နိမိတ်။
- Iskh.peremennoy 1 တန်ဖိုးန့်သတ်ချက်တာဝန်ပေးအပ်။
- conditional စမ်းသပ်ဖြတ်သန်း: 2 နယ်နိမိတ်≤ iskh.peremennaya ။
- ရလဒ်ကိုလက်ခံရရှိတဲ့အခါမှာစစ်မှန်တဲ့ (စစ်မှန်သော) ကွင်းဆက်ခန္ဓာကိုယ်ကွပ်မျက်ခံရခြင်းဖြစ်သည်။
- ကောင်တာ 1 ညီမျှနေတဲ့ခြေလှမ်းများကအဆတိုးနေသည်။
- iskh.peremennaya> 2 နယ်နိမိတ်: အခြေအနေကိုမှန်အဖြစ် 3-5 ထိုကဲ့သို့သောအချိန်ကာလမရောက်မှီတိုင်အောင်ချောချောမွေ့မွေ့သွားပစ္စည်းများ။ ဒီဖြစ်ပွားခဲ့သည်ပြီးတာနဲ့သည် loop မထွက်နှင့်ထိန်းချုပ်မှုပေးထားသောဒီဇိုင်းကိုအောက်ပါညွှန်ကြားချက်မှဖြတ်သန်းသည်။
အဆိုပါသည် ... downto ... အ algorithm ကိုလုပျအနည်းငယ်အချက်များ မှလွဲ. အထက်ပါဆင်တူသည်:
- အဆိုပါ 3rd ခြေလှမ်းအတွက်အခွအေနေကိုစမ်းသပ်နေသည်: iskh.peremennaya နယ်စပ်≥ 2 ။
- အဆိုပါ 5 လိုင်း algorithm ကိုတန်ပြန် 1 decremented ဖြစ်ပါတယ်။
- iskh.peremennaya <နယ်စပ် 2: 6 အပိုဒ်မှာတော့ 3-5 သင်းနေသမျှကာလပတ်လုံးအခြေအနေကိုကျေနပ်မှုဖြစ်သကဲ့သို့ကွပ်မျက်ခံရလိမ့်မည်။
အခြားအရာအားလုံး algorithms အလုပ်နှစ်မျိုးလုံးအတွက်ဆင်တူသည်။
Flowchart သံသရာ parameter သည်
(ကပြီးသားတင်ပြအထက်တွင်ခဲ့ပေမယ့်) parameter နဲ့သံသရာပုံစံ flowcharts ရှိသည်။ ဒီနေရာမှာတစ်ဦးရိုးရှင်းသောအဖွဲ့အစည်းကိုဖွဲ့စည်းတည်ဆောက်ပုံဖြစ်ပါတယ်။
သံသရာ၏ parameters တွေကိုအခြေခံလိုအပ်ချက်များကို
သတ်မှတ်ချက်နှင့်အတူသံသရာပတ်ဝန်းကျင်၏အချို့သောမျိုးလိုအပ်သည်။
- ကောင်တာနှင့်နယ်နိမိတ်ကြားကာလ (t ။ အီး Iskh.peremennaya နယ်နိမိတ် 1 နှင့်နယ်နိမိတ် 2) တူညီတဲ့ data တွေကိုအမျိုးအစားပိုင်ရကြမည်။ အဆိုပါအစိတ်အပိုင်းများ၏ကနဦးနှင့်နောက်ဆုံးတန်ဖိုးများနှင့်ရည်ညွှန်း variable ကိုအကြားသာ Compatibility ကိုလည်းမရှိလျှင်နယ်နိမိတ်ကနဦး parameter သည်ဒေတာအမျိုးအစားအားဖြင့်အသွင်ပြောင်းလိမ့်မည်ဖြစ်သောကြောင့်, program ကိုမှားယွင်းစွာပြုမူလိမ့်မည်။
- သို့သော်လည်း parameter တန်ဖိုးများကိုပိုင်သင့်ကြောင်းဒေတာအမျိုးအစားတစ်ခုကိန်းဖြစ်ရပါမည်။ ဒါဟာတကယ့်အမျိုးအစားကိုသုံးပါရန်အကြံပြုသည်မဟုတ်။
- သည် loop iskh.peremennaya အင်အားသုံးအတွက်တန်ဖိုးပြောင်းနည်းမလိုလားအပ်သောဖြစ်ပါတယ်။ ဒီလိုမှမဟုတ်ရင်အသုံးပြုသူခဲသည်ထင်ရှားနိုင်သမျှအမှားများကိုခြေရာခံစောင့်ရှောက်နိုင်ပါတယ်။
- ... လုပ်ဖို့များအတွက်အတွက်သံသရာ၏အခြားအမျိုးအစားများကို ... မတူဘဲသို့မဟုတ် အဘို့အ ... downto ... ခြေလှမ်းမပြောင်းနိုင်ကြဘူး 1 ထက်အခြားတစ်ဦး setting ကို။
Turbo Pascal: ဘယ်လိုကွင်းဆက်ထဲကရဖို့
မကြာခဏ loop တစ်ခုရှိသည့်အတွက်ပြဿနာများ, ဆိုလိုသည်မှာရှိပါတယ်။ အီးအခြေအနေအမြဲမှန်သည်။ break လုပ်ထုံးလုပ်နည်းရရှိရေးအတွက်မရှိမဖြစ်လိုအပ်ချက်, postcondition, parameter နဲ့သံသရာမှထွက်ရရန်ကူညီပေးသည်။ အီးသူတို့ရဲ့အလုပ်အချိန်မတိုင်မီရပ်စဲသည်။
Pascal အတွက် parameter သည် (ထို "ထာဝရ" အမှန်တရားအခြေအနေများကပါဝင်ပတ်သက်သည့် programming ကို) ဖြင့်သံသရာ Continue ကို အသုံးပြု. ရပ်တန့်စေနိုင်သည်။ အောက်မှာဖေါ်ပြတဲ့အတိုင်းဒီမှာအလုပ်ဖွဲ့စည်း: လက်ရှိကြားမှာအစောပိုင်းက၎င်း၏သေဒဏ်စီရင်ပြီးသွား, ထိန်းချုပ်လာမယ့်အဖွဲ့, ဒါပေမယ့်မကွင်းဆက်ထဲကလွန်နေသည်။
ထွက်ပေါက်လုပ်ထုံးလုပ်နည်းအစီအစဉ်ကိုကုဒ်အတွက်အထူးသဖြင့်လုပ်ကွက်များ၏အလုပ်ဖြည့်စွက်နိုင်ရန်အတွက်လိုအပ်သောဖြစ်ပါတယ်။ ဒါဟာလုပ်ထုံးလုပ်နည်း (function ကို) အတွင်း၌ဖြစ်ပေါ်စေနှင့်တစ်ချိန်တည်းမှာ, ဒီ "အပိုင်းအစ" ၏စွမ်းဆောင်မှုကိုချက်ချင်းရပ်စဲသည်။ Exit ကိုအဓိကယူနစ်တွင်တည်ရှိသည်လျှင်, သူကလက်မလျော့ဘူးလို့ပြောထားတယ်။
ရပ်တန့်လုပ်ထုံးလုပ်နည်းအောက်ပါတို့ဟာ operating နိယာမလျော့ကျစေပါတယ်: အပြည့်အဝအလုပ်အစီအစဉ်ကိုအဆုံးသတ်ထားသည်။
ဆုံးဖြတ်ချက်မှအလုပ်များကိုဥပမာ
အသုံးပြုသူကိုပထမဆုံးလေ့လာသင်ယူပြီးတော့ code ကိုသင်ကိုယ်တိုင်ရေးသားလေ့ကျင့် Pascal '' ဥပမာထဲမှာ parameter နဲ့ခေါင်းစဉ် "သံသရာလေ့လာနေပြီးနောက်အသုံးဝင်သောဖြစ်လိမ့်မည်။ ရိုးရှင်းသောတာဝန်များကိုအနာဂတ် programmer တွေအလေ့အကျင့်သို့သီအိုရီကိုသင်ယူ, ပြီးတော့အောင်မြင်စွာကလျှောက်ထားရန်ကူညီပေးသည်။ အဆိုပါဆုံးဖြတ်ချက်နှင့်အတူပြဿနာများဥပမာ "ထို option နှင့်အတူသံသရာ" တွင်, သငျသညျလွယ်ကူပြီးခက်ခဲရှာတွေ့နိုင်ပါသည်။ ဤတွင်အလုပ်နှင့် algorithms ဆက်ဆံရသော 3 တာဝန်များကိုသည်ဆုံးဖြတ်ချက်မှရှင်းပြပြီးမှတ်ချက်တွေနေကြသည်ဖြစ်ကြသည်။
ရည်ရွယ်ချက် 1
ကျပန်းရွေးချယ်ထားသောအကွာအဝေးအတွင်းကိန်းနှစ်ခုရှုထောင်ခင်းကျင်း [0..199] ပေးတော်မူ၏။ အဘယ်သူ၏ပေါင်းလဒ်ဂဏန်း 2 တစ်မျိုးစုံဖြစ်ပါတယ်အားလုံး Two-ဂဏန်းနံပါတ်များကို၏နံပါတ်ကိုရှာပါ။
အဆိုပါ algorithm ကိုဖြစ်ပါသည်:
- တစ်ဦးနှစ်ဦး-ရှုထောင်ခင်းကျင်းကိုဖန်တီးပါ။
- အောက်ပါအခြေအနေများနှင့်အတူလိုက်နာမှုများအတွက်တစ်ဦးချင်းစီအရေအတွက်က Check:
က) ခ) mod နေဖြင့်ခွဲဝေခြင်းဖြင့်ဒုတိယဂဏန်းအရေအတွက်ကိုရွေးချယ်; ဂ) သူတို့၏ခွဲဝေနံပါတ်များကိုအိပ်ခြင်းငှါ၎င်း, ဃ) တစ်ဦးကြိုတင်သတ်မှတ်ထားသောငွေပမာဏ mod 2 ပိုင်းခွဲ; ရလဒ်ပါ 0 င်ညီမျှလျှင်င), ကောင်တာ 1 အဆတိုးနေသည်။ တာဝန် 2 ကိန်းဒြပ်စင်၏တစ်ရှုထောင်ခင်းကျင်းပေးတော်မူ၏။ အပြုသဘောနံပါတ်များ၏နံပါတ်ကိုရှာပါ။ အဆိုပါ algorithm ကိုဖြစ်ပါသည်: ကွင်းအတွင်းဒေတာကို {} မှတ်ချက်များဖြစ်ကြသည်။ (ဒီအမှု၌, ၎င်းတို့၏ 5) ဆဲလ်တစ်အချို့အရေအတွက်ချင်းစီဒြပ်စင်မှခွဲဝေချထားပေးရန်မှနံပါတ်များအကြားကွာဟချက်ကိုစွန့်ခွာရန်: အဆိုပါလိုင်း 11 screen ပေါ်မှာနည်းလမ်းနှစ်ခုတစ်ခုခင်းကျင်းပြသနိုင်ပါတယ်။ လိုင်း 12 ခုနှစ်, variable ကိုတန်ပြန်လည်းနည်းလမ်းနှစ်ခုအတွက်တိုးမြှင့်ခံရနိုင်သည်ယခင်တန်ဖိုးတစ်ခုခုကို 1 add သို့မဟုတ်စံ function ကို Inc ကိုသုံးစွဲဖို့ တာဝန် 3 တန်ဖိုးထားစတုရန်း matrix ။ အဓိကထောင့်ဖြတ်အပေါ်ဖြစ်ကြောင်းအပြုသဘောဆောင်သည့်ဒြပ်စင်များ၏အရေအတွက်ကိုရှာပါ။ ရှင်းလင်းချက်: ထောင့်ဖြတ်အဓိကနံပါတ်များ၏ခင်းကျင်းအောက်ခြေညာဘက် left ထိပ်ကနေချဲ့ထွင်။ ထိုသို့အထူးအင်္ဂါရပ်အတန်းနှင့်ကော်လံအညွှန်းကိန်းတူညီသောအချက်ဖြစ်ပါသည်။ ထိုကွောငျ့, တဦးတည်းသံသရာကျန်ရှိဒြပ်စင် busting မရှိဘဲတန်းစီရွှေ့ဖို့လုံလောက်တဲ့စီစဉ်ပါ။ အဆိုပါ algorithm ကိုဖြစ်ပါသည်: စည်းကမ်းနှင့်အမျှ Self-လေးစားပရိုဂရမ်မာအများအပြားဘာသာစကားများသိတယ်။ ဥပမာ, C ++, Turbo Pascal, Delphi, Java နဲ့ဒါပေါ်မှာ 80-ies အတွက်အသံထွက်ခဲ့ကြသည်သူတို့ထဲကနှစ်ခုအကြား။ ဃထိပ်တိုက်ရင်ဆိုင်ခြင်းဖြစ်နိုင်သည်။ (C နဲ့ Turbo Pascal) ။ နှစ်ဆယ်ရာစုနှစ်အဆုံးမှာတိုက်ပွဲကဲ့သို့သော C ++ နဲ့ Java အကြားလေ့လာတွေ့ရှိခဲ့သည်။ Algol 60 နဲ့ FORTRAN, Pascal, C, Java နဲ့ C ++: အသုံးဒါဇင်ပရိုဂရမ်းမင်းဘာသာစကားက virtual အာကာသများတွင်သုံးအရှိဆုံးဒီကဗျာဘယ်သူ၏အတိုက်အခံဆိုက်ဘာစပေ့၏အကြီးမားဆုံးသောစိတ် hit မှ pair တစုံ, ရှိပါတယ်။ ၏သင်တန်းအဲဒီခံစားချက်တွေကိုပုဂ္ဂလဒိဋ္ရှိပါတယ်, ဒါပေမယ့်တစ်ကြိမ်ဒါမှမဟုတ်တစ်စုံ၏အခြားတဦးတည်းမှာခေါင်းဆောင်ဖြစ်ခဲ့သည်။ ဒါဟာစက်မှုလုပ်ငန်းလိုအပ်ချက်များကိုနှင့်အထူးသဖြင့်ဆော့ဖ်ဝဲကိုထုတ်ကုန်များအတွက်လိုအပ်ကြောင့်ဖြစ်ခဲ့သည်။ 70-ies ၌တည်၏။ 90 အတွက် Turbo Pascal, - - C ++ 80 မှာ "အုပ်ချုပ်ခဲ့သောလောက" FORTRAN ။ ဟုတ်ပါတယ်, သူတို့အဘယ်သူမျှမ "သေဆုံးသွား" ။ ယင်းအစားသူတို့ကခေတ်မီဆော့ဖ်ဝဲလ်များအသွင်ပြောင်းနေကြသည်။ ပရိုဂရမ်းမင်းဘာသာစကားလေ့လာမှု၌သငျအခြို့ကို themes များဆင်တူ syntax သတိထားမိပေမည်။ ထို့ကြောင့်ကို C ထဲမှာ parameter နဲ့သံသရာအချို့သောအချိန်လေး မှလွဲ. Pascal အလားတူဖွဲ့စည်းပုံဆင်တူသည်။ ကမ္ဘာသစ်တွင်တက်ကြွစွာဥရောပသုတေသနအားထုတ်မှု၏ရလဒ်များကိုအသုံးပြုနေစဉ်စိတ်ဝင်စားစရာ Turbo Pascal (ဟောငျးကမ္ဘာ့ဖလား) ၏ developer များ, အမေရိကန်သိပ္ပံပညာရှင်များက၏ဖြစ်ပေါ်တိုးတက်မှုကနေအကျိုး။ ဥရောပမှာတော့ developer များ Programming ကိုဘာသာစကားများသန့်ရှင်းစင်ကြယ်ခြင်းနှင့်ကျစ်လစ်သိပ်သည်း၏ကြီးမြတ်သောဘွဲ့ထောက်ခံကြနှင့်အမေရိကန်စိတ်ထဲတွင်ပိုပြီးအရေးအသားကုဒ်အသစ်-fangled ခေတ်ရေစီးကြောင်း၏အသုံးပြုမှုကိုဦးတည်နာမယူဘဲနေကြသည်။ C နဲ့ Turbo Pascal: နှစ်ခု programming ဘာသာစကားများအကြားထိပ်တိုက်ရင်ဆိုင်မှု
Similar articles
Trending Now