ဖွဲ့စည်းခြင်း, အလယ်တန်းပညာရေးနှင့်ကျောင်းများ
Linear algorithms - ပုံဖွဲ့စည်းတည်ဆောက်ပုံနှင့်တွက်ချက်မှု
တိုင်းလူတစ်ဦး၏နေ့စဉ်ဘဝအလုပ်မှာသို့မဟုတ်လေ့လာနေစဉ်အမျိုးမျိုးအခက်အခဲများ၏အလုပ်များကိုကြီးမားသောအရေအတွက်အားကိုင်တွယ်ဖြေရှင်းဖို့ဖြစ်ပါတယ်။ တချို့ကတာဝန်များကိုသူတို့ရဲ့အကောင်အထည်ဖော်ရေးအတွက်ကျွန်တော်ပင်စဉ်းစားခြင်းမရှိဘဲ, အလိုအလျှောက်အခြို့သောလုပ်ရပ်များလုပ်ပေးကြောင်း, ဒါကြောင့်ရိုးရှင်းတဲ့ဖြစ်ကြသည်။ မည်သည့်ပြဿနာမှဒီဖြေရှင်းချက်ပင်အရိုးရှင်းဆုံး, စည်းကမ်းအဖြစ်အနည်းငယ်ခြေလှမ်းများများအတွက်တသမတ်တည်းထွက်ယူသွားတတ်၏။ ပြဿနာများကိုဖြေရှင်းရာတွင်ရှေ့နောက်ညီညွတ်မှု၏ဤကြင်နာတစ်ခု algorithm ကိုလို့ခေါ်ပါတယ်။ ဒီနေ့ကသူတို့ဆုံးဖြတ်ချက်နှင့်ပရိုဂရမ်းမင်းကိုဖန်ဆင်းအဖြစ်၎င်းတို့၏ဖွဲ့စည်းပုံကိုယ်စားပြုဘာတစ်ဦး linear algorithms မှာကြည့်ပါ။
algorithmic ဘာသာစကား
ဤအယူအဆအနုပညာရှင်ပြဿနာရဲ့အဖြေဖို့ညွှန်ကြားထားသောလုပ်ရပ်များ, တစ် sequence ကိုလုပ်ဘို့အတိအကျညွှန်းသည်။
ဤသည်ဘာသာစကားသုံးစွဲသူအပေါ်ယေဘုယျအားဖြင့်အာရုံစူးစိုက်ဖြစ်ကြောင်း algorithms ဖော်ပြတဲ့နည်းလမ်းဖြစ်ပါတယ်။
ဘယ်အချိန်မှာအဲဒါကိုမှကြွလာ , ကွန်ပျူတာဘာသာစကား အတိအကျညွှန်းခြင်းဖြင့်ညွှန်ပြအဖြစ်ကွန်ပျူတာဖြစ်စဉ်ကို defining ။ သူသည်အလှည့်အတွက်မူလရလဒ်မှကနဦးအချက်အလက်များ, ကြောင်းအကွာအဝေးကနေစေပါတယ်။
တစ်ဦး algorithm ကို၏ဖွံ့ဖြိုးရေးကောင်စီ - အတော်လေးရှုပ်ထွေးနှင့်အချိန်-စားသုံးဖြစ်စဉ်တစ်ခုဖြစ်သည်။ ဒါဟာကွန်ပျူတာများ၏အကူအညီဖြင့်ပြဿနာများကိုဖြေရှင်းရန်ဒီဇိုင်းနည်းပညာတွေကိုတစ်ဦးစုစည်းလုပ်ရပ်များတစ် sequence ကို (ဖွံ့ဖြိုးတိုးတက်ရေးအတွက်) ဖြစ်ပါသည်။
ဂုဏ်သတ္တိများ algorithm ကို
ထုတ်လွှတ်သည့်ဂုဏ်သတ္တိများများထဲတွင်:
- ခြေလက် - ခြေလှမ်းများ (ခြေလှမ်းများ) ၏ကနျ့အရေအတွက်ကို defining အဘို့အတစ်ခုလုံးကို algorithm ကို၏ပြီးစီးလျက်ရှိ၏
- ဧကန်အမှန် (တည်ပြီးသတ်တယ်) - လုပ်ရပ်များဖျော်ဖြေဘို့အနက်ကိုစည်းမျဉ်းစည်းကမ်းတွေရဲ့ထူးခြားမှုကိုကိုယ်စားပြုလျက်, သူတို့ကွပ်မျက်၏အမိန့်;
- ထိရောက်မှု - ခြေလှမ်းများမဆိုကနျ့အရေအတွက်လိုချင်သောရလဒ်များကို;
- ရှင်းရှင်းလင်းလင်း - ရှင်းရှင်းလင်းလင်းညွှန်ကြားချက်ဟာ executor ဖြစ်ရမည်;
- အစုလိုက်အပြုံလိုက် - algorithms ပြဿနာအထွေထွေရေးဆွဲရေးမှတိကျသောပြဿနာများကိုတစ်ဦးလူတန်းစားဖြေရှင်းပေးနိုင်ရပါမည်။
linear algorithms ။ Computer ကိုအတန်းအစား 9
ကျနော်တို့ပြီးသားအယူအဆ၏အဓိပ္ပါယ်နှင့်ဂုဏ်သတ္တိများဆွေးနွေးတင်ပြကြသည်။ အခုက၎င်း၏ပုံစံများအကြောင်းပြောဆိုကြကုန်အံ့:
- linear;
- စိမျး;
- သံသရာအတူ။
ကျနော်တို့ linear algorithms စိတ်ဝင်စားဖြစ်ကြသည်။ သူတို့ကဘာတွေလဲ? သူတို့တစ်တွေရှင်းရှင်းလင်းလင်း sequence ကိုအတွက်အခြားပြီးနောက်တစ်ဦးကွပ်မျက်ခံရခံရဖို့ပညတ်တို့ကိုဆံ့။
အဆိုပါ algorithm ကို၏ linear ဖွဲ့စည်းပုံမှာနှုတ်နှင့်ဂရပ်ဖစ်ပုံစံ၌ရေးထားလျက်ရှိ၏နိုင်ပါသည်။
တစ်ဦးနှုတ်ပုံစံတှငျမှတျတမျးတငျထားသဒီနေရာတွင်ဥပမာတစ်ခု။ ဒီတော့တာဝန်: ကျောင်းကစုဆောင်းပါ။ ဖြေရှင်းချက်:
- Start ကို။
- ထရပ်တယ်။
- လေ့ကျင့်ခန်းလုပ်ပါ။
- သင်၏မျက်နှာကိုဆေးကြောပါ။
- ဝတ်ဆင် Get ။
- နံနက်စာ။
- အစုစုကိုစုဝေးစေ။
- အဆုံး။
အောက်မှာဖေါ်ပြတဲ့အတိုင်းဖြစ်စဉ်ကိုအထက် graphical ပုံသဏ္ဍာန် predsatvlyat ဖြစ်လိမ့်မည်:
ပိတ်ပင်တားဆီးမှုပုံ form မှာ linear algorithm ကို,
အဆိုပါပိတ်ပင်တားဆီးမှုပုံတစ်ခုချင်းစီကိုသီးခြားအဆင့်ဂျီဩမေတြီပုံစံမျိုးစုံအမျိုးမျိုးအတွက်ကိုယ်စားပြုလုပ်ကွက်ကကိုယ်စားပြုထားတဲ့အတွက်စံပြပုံရိပ်ကို algorithm ကိုကိုယ်စားပြုတယ်။ ထို့အပြင်အဆင့်ဆင့်အကြားဆက်သွယ်မှုကို (အခြားစကား, ကွပ်မျက်အဆင့်၏ sequence ကို) အပိုင်းပိုင်း (လုပ်ကွက်) ချိတ်ဆက်သောမြှားကညွှန်ပြနေသည်။ တစ်ခုချင်းစီကိုပိတ်ပင်တားဆီးမှုအနေနဲ့ကမ္ပည်းဖြင့်လိုက်ပါသွားသည်။ အဆိုပါ linear အတွက်အသုံးပြုတဲ့ algorithm ကိုအောက်ပါပုံမှန်လုပ်ဆောင်ချက်များအတွက် ဂျီဩမေတြီပုံစံမျိုးစုံ :
- block က start-အဆုံး algorithm ကို။ ယင်းလုပ်ကွက်တွင်ကမ္ပည်း "အစအဦး" သို့မဟုတ် "အဆုံး" ဖြစ်ပါတယ်။
- "Input အား-output ကို" ယူနစ်။ ဤသည်ပိတ်ပင်တားဆီးမှုတစ် parallelogram ၏ပုံစံကိုကိုယ်စားပြုသည်။ "Input ကို", "ရုပ်သိမ်းရေး", "ပုံနှိပ်": သူကအောက်ပါအချက်များကိုကမ္ပည်းတင်လိုက်တယ်။ ဒါ့အပြင် input ကိုစာရင်းတစ်ခုသို့မဟုတ်အသီးသီးက output variable တွေကိုသူတို့ကိုတွဲ။
- ဂဏန်းသင်္ချာယူနစ်, ဒါမှမဟုတ်ပိတ်ပင်တားဆီးမှုဆုံးဖြတ်ချက်များကို။ ဒါဟာစတုဂံမှကိုက်ညီ။ အဆိုပါ display ကိုယူနစ်ဖြစ်သင့်: "စစ်ဆင်ရေး", "စစ်ဆင်ရေး၏အုပ်စုတစု။ "
သို့သော် linear algorithms ၏ဖြေရှင်းချက်ကိုပုံဖော်ပိတ်ပင်တားဆီးမှုကားချပ်၏အကူအညီနှင့်အတူ။ ယင်းနောက်ရဲ့တန်ဖိုးများကိုတာဝန်ပေးဖို့ရဲ့ features တွေကိုအကြောင်းပြောဆိုကြကုန်အံ့။
linear ကွန်ပျူတာ algorithms
ကွန်ပျူတာ algorithms အတွက်အဓိကမူလတန်းအရေးယူ - variable တွေကို၏ဤတာဝန်ကျတဲ့လူတယောက်တန်ဖိုး။ စဉ်ဆက်မပြတ်တန်ဖိုးကိုသူ့ရဲ့မှတ်တမ်းတင်များ၏အသွင်သဏ္ဌာန်အားဖြင့်ဆုံးဖြတ်သည်ရှိရာကိစ္စတွင်ခုနှစ်, တစ်ခုတည်းကိုသာတာဝနျ၏ရလဒ်အဖြစ်သတ်သတ်မှတ်မှတ် variable ကိုတန်ဖိုးကိုလက်ခံရရှိသည်။ ဤသည်မှာနှစ်ခုနည်းလမ်းများအားဖြင့်ပြည့်စုံစေခြင်းငှါ: တာဝန်ကိုညွှန်ကြားချက်အားဖွငျ့; ပညတ်တော်တို့ကိုရိုက်ထည့်ခြင်းဖြင့်။
linear ဖြေရှင်းရေးတစ်ခု algorithm ကိုတခုရဲ့ဥပမာ
ဤတွင်ကျောင်းကပြဌာန်းစာအုပ်အကြောင်းအရာရှိသည်သောတစ်ဦး linear algorithm နှင့်အတူပိုငျး၏ဌာနခွဲများ၏စည်းမျဉ်းများဥပမာတစ်ခုဖော်ပြချက်ဖြစ်ပါသည်:
- အဆိုပါအစိတ်အပိုင်း 1 ပိုင်းဝေသည့်အစိတ်အပိုင်း 2 ၏ပိုင်းခြေအားဖြင့်များပြားစေရပါမည်;
- 1 ပိုင်းခြေပိုင်းဝေကို 2 နဲ့မြှောက်ခံရဖို့,
- 2 မှတ်၏ရလဒ် - သငျအဘယ်သူ၏ပိုင်းဝေအပိုဒ် 1 များ၏အကောင်အထည်ဖော်မှုရဲ့ရလဒ်ဖြစ်ပြီးတစ်အစိတ်အပိုင်း, နှင့်ပိုင်းခြေမှတ်တမ်းတင်ချင်ပါတယ်။ အောက်မှာဖေါ်ပြတဲ့အတိုင်းဤနည်းဥပဒေများ၏ algebra ပုံစံဖြစ်ပါသည်:
a / b: က c / ဃ = (က * ဃ) / (ခ * ဃ) = m / n ။
ဒါကြောင့်ကျနော်တို့အပိုငျးအခွဲဝေများအတွက်ကွန်ပျူတာ algorithm ကိုတည်ဆောက်စေ။ စိတ်ရှုပ်ထွေးမှုများကိုရှောင်ကြဉ်ဖို့, ကျနော်တို့ variable တွေကိုအသုံးပြုပါလိမ့်မယ်အထက်တွင်သတ်မှတ်ထားသောခဲ့ပြီးသောပုံသေနည်းထဲမှာရှိသကဲ့သို့တူညီအဓိပ္ပါယ်များရှိပါသည်။ ကိန်း variable တွေကိုအဖြစ် a, b, c ကို, d- မူရင်းဒေတာ။ အဆိုပါရလဒ်ကိန်းတန်ဖိုးများကိုရလိမ့်မည်။ အောက်မှာဖေါ်ပြတဲ့အတိုင်း algorithmic ဘာသာစကားဖြေရှင်းချက်ပါလိမ့်မယ်:
အပိုငျး၏ SAL ဌာနခွဲ
စောစော
ရည်ရွယ်ချက်နှင့်, b, c, d, မီတာ, ဎ
a, b, c ကို, ဃအုပ်ချုပ်
မီတာ: = တစ်ဦး * ဃ
ဎ: = ခ * နှင့်အတူ
ဆုတ်ခွာမီတာ, ဎ
ဂိမ်း
ဂရပ်ဖစ် format နဲ့ဖြေရှင်းနည်းများ
အောက်မှာဖေါ်ပြတဲ့အတိုင်းအထက်တွင်ဖော်ပြခဲ့ scheme linear algorithm ကိုဖြစ်ပါသည်:
အဖွဲ့မှတန်ဖိုးသတ်မှတ်အောက်ပါပုံစံရှိပါတယ်:
variable: = စကားရပ်။
နိမိတ်လက္ခဏာ "=" တာဝန်ပေးအပ်အဖြစ်ကိုဖတ်ဖြစ်ပါတယ်။
တာဝန်ကျတဲ့နေရာ - အောက်ပါလုပ်ဆောင်ချက်များသည် execute မှကွန်ပျူတာများအတွက်လိုအပ်သောအရာအဖွဲ့တစ်ဖွဲ့:
- ဟူသောအသုံးအနှုနျးမြား၏အကဲဖြတ်ခြင်း,
- ရရှိသော variable ကိုတန်ဖိုးများကိုတာဝန်ပေးဖို့။
အထက်ပါ algorithm ကိုတာဝန်ကျတဲ့နေရာအဖြစ်နှစ်ခုပညတ်တော်တို့ကိုရှိပါတယ်။ အမိန့်တာဝန်ကျတဲ့နေရာများ၏ဘလောက်ပုံထဲမှာကွန်ပျူတာယူနစ်ဟုခေါ်သည့်စတုဂံ, တှငျမှတျတမျးတငျထားရပါမည်။
linear algorithms များကဖော်ပြထားသည့်အခါအသုံးအနှုန်းတွေရေးသားခြင်းအခါတင်းကျပ်သောစည်းမျဉ်းများနှင့်အတူမဖြစ်မနေလိုက်နာစရာအထူးလိုအပ်ကြောင်းလည်းမရှိ။ သင့်အနေပုံမှန်အတိုင်းသင်္ချာပုံစံကိုအသုံးပြုပြီးသူတို့ကိုမှတ်တမ်းတင်နိုင်ပါတယ်။ ဒါပေမဲ့ဒီတစ်တင်းကျပ်သော programming language ကိုအထားအသိုမဟုတျပါဘူး။
ဒီဥပမာထဲမှာ, algorithm ကိုလည်းအဖွဲ့ထဲသို့ဝင်ထားပါတယ်:
a, b, c ကို, d ရိုက်ထည့်ပါ။
အဆိုပါ flowchart အတွက် input ကို command ကတော့ parallelogram, တနည်းအတွက် input ကို-output ကိုယူနစ်၌ရေးထားလျက်ရှိ၏ဖြစ်ပါတယ်။ ဒီ command ကွပ်မျက်လိုက်တဲ့အခါအသုံးပြုသူအချို့လုပ်ရပ်တွေကထွက်သယ်ဆောင်ပါလိမ့်မယ်တိုင်အောင်, Processor ကို interrupts ။ အမည်, အသုံးပြုသူရန်လိုအပ်ပါသည် ရိုက်သွင်းရေးကိရိယာ ဟာ Enter key ကိုအဖြစ်ပြုမူသော input ကို variable တွေကိုရိုက်ထည့် (မိမိတို့၏တန်ဖိုးများ) နှင့်စာနယ်ဇင်း Enter (ကီးဘုတ်) ။ ဒါဟာတန်ဖိုးများကိုသက်ဆိုင်ရာ variable တွေကိုအတွင်းတည်ရှိသော input ကိုစာရင်းကဲ့သို့တူညီသောအမိန့်, ဝင်ခဲ့အရေးကြီးပါသည်။
linear algorithm ကို။ ၎င်း၏ပရိုဂရမ်းမင်း
အစောပိုင်းကဒီဆောင်းပါးမှာဖော်ပြထားတဲ့အတိုင်း, linear အစီအစဉ်ကိုထိုကဲ့သို့သောထုတ်ပြန်ချက်ပါဝင်နိုင်ပါသည်:
- တာဝန်ကျတဲ့နေရာ;
- ကော်မရှင်;
- နိဂုံးချုပ်။
ဒါကမှအထက်ပါအော်ပရေတာကို အသုံးပြု. ဖြစ်ပါတယ် programming ကို linear algorithms ။
ထို့ကြောင့် တာဝန်ကျတဲ့အော်ပရေတာ ကိုအောက်ပါအတိုင်း programming language ကိုတိကျမ်းစာ၌လာသည်ကား:
စေတစ်ဦးက = B, ဘယ်နေရာမှာတစ်ဦးက - အဆိုပါ variable ကို B ကို - စကားရပ်။ ဥပမာအားဖြင့်, တစ်ဦးက = Y ကို + 20 ။
အောက်မှာဖေါ်ပြတဲ့အတိုင်း entry ကိုအော်ပရေတာသည်:
ဥပမာအားထည့်သွင်းမှု: ထည့်သွင်းမှုကို C
အော်ပရေတာဒေတာကို output, ပုံစံ၌ရေးထားလျက်ရှိ၏တန်ဖိုးများ:
ပုံနှိပ်ပါ။ ဥပမာအားဖြင့်တူထုအက်စ်များအတွက်
ဒီနေရာမှာတစ်ဦးရိုးရှင်းတဲ့ဥပမာဖြစ်ပါတယ်။ ကျနော်တို့ကီးဘုတ်နံပါတ်များကို A နှင့် B တွင်ဆီက input ၏ပမာဏတှေ့လိမျ့မညျသော program တစ်ခုရေးဖို့ရန်လိုအပ်ပါတယ်
တစ်ဦးက programming language ကိုကျနော်တို့ program တစ်ခုရရာ၏စာသားကိုအောက်မှာပြထားပါတယ်။
entry ကိုအော်ပရေတာ, အစကယ်ပရိုဂရမ်းမင်းဘာသာစကားမှာ output ကို
Pascal linear algorithms သုံးကြောင်း input ကိုသို့မဟုတ် output ကိုစစ်ဆင်ရေးကိုညွှန်း, အထူးအော်ပရေတာခွဲဝေချထားပေးရန်မထားဘူး။ သတင်းအချက်အလက်ဖလှယ်မှုများ၏အစီအစဉ်များကို built-in လုပ်ထုံးလုပ်နည်းများ၏အကူအညီနှင့်အတူထွက်ယူသွားတတ်၏။ စံလုပ်ထုံးလုပ်နည်း၏ပဏာမဖော်ပြချက်များအတွက်မလိုအပ်လည်းမရှိကတည်းကအဲဒါကိုတစ်ဦးကိုကိုးကားင်တစ်ဦးချင်းစီအစီအစဉ်အတွက်ရရှိနိုင်ပါသည်။ ထို့အပြင်ဆိုပါတယ်လုပ်ထုံးလုပ်နည်း၏နာမကိုမဆို keyword ကိုပရောဂျက်မထားဘူး။
ရှိပြီးသားအစီအစဉ်ကိုသို့ပေါင်းစည်းကြောင်းဒေတာ entry ကို၏စံလုပ်ထုံးလုပ်နည်းမှဝင်ရောက်ခွင့်များအတွက်ထိုကဲ့သို့သောအော်ပရေတာကို အသုံးပြု. data တွေကိုဝင်ရောက်တဲ့အခါ။
Read (A, B, C) ရှိရာ A, B, C - သိုလှောင်မှုအတွက်မှတ်ဉာဏ်သို့ဝငျရပါမညျသော variable တွေကို။
Readlnn (x1, y က, x2) - ဖြည့် entry ကို, အ cursor အသစ်တစ်ခုလိုင်း၏အစမှခုန်။
Readlnn; - « Enter »အစောင့်ဆိုင်းစာနယ်ဇင်းဖော်ပြသည်။ နောက်ဆုံးမျက်နှာပြင် contents တွေကိုအပေါ်ကိုပရိုဂရမ်၏ရလဒ်များကိုကယ်ဖို့, « End »မတိုင်မီအများအားဖြင့်ဒီအော်ပရေတာစာသားကိုသို့ဖြည့်စွက်ထားပါသည်။
ဤအအော်ပရေတာကို အသုံးပြု. အားဖြင့်မော်နီတာ screen ပေါ်မှာ output ဒေတာ:
(A, B, C) ရေးထား - တဦးတည်းအတန်းများတွင် A, B, C ၏တန်ဖိုးများကိုသတ်မှတ်ခြင်း, နှင့် cursor လက်ရှိလိုင်းမချန်မထားပါဘူး။
Writeln (z, y က, Z2) - က output တန်ဖိုးများကိုအဆုံးသတ်သည် cursor ကြောင်းအနေအထားမှာအသစ်တခုလိုင်းကိုရွှေ့မည်။
writeln; - တစ်လိုင်းကိုကူးသွားအသစ်တစ်ခုတဦးတည်း၏အစပြောင်းရွှေ့ဖို့သက်သေခံ၏။
သို့သော်ထိုကဲ့သို့သောရိုးရှင်းသောထုတ်ပြန်ချက်များ၏အကူအညီနှင့် Pascal အတွက်အချက်အလက်များ၏ input ကိုနှင့် output ကိုထွက်သယ်ဆောင်။
Similar articles
Trending Now