Monday, February 10, 2014

ကွန်ပြူတာပရိုဂရမ် ဆိုသည်မှာ

















ကွန်ပြူတာပရိုဂရမ် ဆိုသည်မှာ


အလုပ်တစ်ခုခုကို လုပ်ဆောင်နိုင်ရန်အတွက်ညွန်ကြား ချက်များကိုစုစည်းထား သော ညွန်ကြားချက် အစုအဝေးကို ခေါ်ဆိုပါသည်။ အဆိုပါညွန်ကြားချက် အစုအဝေများပေါင်း စုထားသော ပရိုဂရမ်အစုအဝေးကို ကွန်ပြူတာဆော့ဝဲဟု ခေါ်ဆိုပါသည်။ ကွန်ပြူတာပရိုဂရမ်များသည် ယခုအချိန်ဆိုလျင် စတုတ္ထမျိုးဆက်သို့ တိုင်ရောက်လာခဲ့ပြီဖြစ်သည်။ ကွန်ပြူတာ ပရိုဂရမ်တစ်ခု အခုအလုပ်လုပ်နိုင်ရန်အတွက် စက်မှ နားလည်နိုင်ရန်အတွက် ပြောင်းလဲပေးသော ကြားခံပရိုဂရမ်တစ်ခု လိုအပ်ပြန်ပါသည်။



ပရိုဂရမ် ဆိုသည်မှာ အမိန့်စာကြောင်းများစွာ (Instructions) ပါဝင်သော (သို့)ကွန်ပြူတာကို ခိုင်းစေနိုင်သော အမိန့်စာကြောင်းများ ပါဝင်သော ကွန်ပြူတာက နားလည်နိုင်တဲ့ ဘာသာစကား တစ်မျိုး ဖြစ်သည်။ ကွန်ပြူတာရဲ့ လုပ်ဆောင်မှု အားလုံးကို ထိန်းချုပ်ကိုယ်တွယ် ခိုင်းစေနိုင်စွမ်းရှိသော ဘာသာရပ် ဖြစ်သည်။ ကွန်ပြူတာနည်းပညာတွင် ပရိုဂရမ်ဘာသာရပ် မြောက်များစွာ ရှိသည်။

လူတစ်ယောက် ၏ တွေးခေါ်မှု ၊ စိတ်ပုံဖော်မှု များကို ကွန်ပြူတာ နားလည်နိုင်သော command word (or) instruction (အမိန့်စာကြောင်း) များဖြင့် ပုံဖေါ်ခြင်း နည်းပညာ ဖြစ်သည်။ သင်္ချာနည်းပညာ တွက်ချက်မှုများအား မဏ္ဍုဍိင်ထား၍ လုပ်ဆောင်မှု အမျိုးမျိုး တွက်ချက်မှု အမျိုးမျိုး၊ ရုပ်ပုံအမျိုးမျိုးကို ဖန်တီးနိုင်ခြင်းများ လုပ်ဆောင်နိုင်သော Language ဟုလည်း အကြမ်းအားဖြင့် သိရှိနိုင်သည်။ Programming of Computer ကို အသုံးပြုသည့်နယ်ပယ်များမှာ အမြောက်အများ ရှိသည်။ မည်သည့်နယ်ပယ်တွင် အသုံးပြုသည် ကိုတော့ အောက်တွင် ဖေါ်ပြထားသော ကွန်ပြူတာ သိပ္ပံနယ်ပယ် မှ ရွေးထုတ် ဖော်ပြရမည် ဖြစ်သည်။

1.Theoretical computer science( သီအိုရီ ပိုင်းဆိုင်ရာ)

2. Algorithms and data structures(သင်္ချာနည်းပညာများအား ပုံစံချ ရေးဆွဲခြင်း)

3.Programming methodology and languages(ပရိုဂရမ် လုပ်ရိုးလုပ်စဉ်နှင့် ၎င်း တို့၏ ဘာသာရပ် များ)

4.Computer elements and architecture(ကွန်ပြူတာ ၏ အီလက်ထရောနစ်ဆိုင်ရာ ဖွဲ့စည်းတည်ဆောက်ပုံ နှင့်၎င်းတို့၏ လုပ်ဆောင်ချက်များ)

5.Numerical and symbolic computation(သင်္ချာဂဏန်း နှင့် သင်္ကေတများကို အသုံးပြုပြီး သိပ္ပံဘာသာရပ်များတွင် တွက်ချက်မှုစနစ် မှတဆင့် ပုံဖော်ရေးဆွဲခြင်း)

6.Applications(ကွန်ပြူတာတွင် အများပြည်သူသုံး အဖြစ် အသုံးချ ဆော့ဖ်ဝဲများ ရေးဆွဲတည်ဆောက်ခြင်း)

အထက်ပါ နယ်ပယ်များ အားလုံး သည် field of Computer Science (ကွန်ပြူတာ သိပ္ပံနယ်ပယ်) ၌ ပါဝင် ပါသည်။ သို့ဖြစ်၍ ကွန်ပြူတာ ပရိုဂရမ်သမား တစ်ယောက်သည် အီလက်ထရောနစ် နည်းပညာ၊ ယုတ္တိ တန်သော တွေးခေါ်မှု ပိုင်းဆိုင်ရာ နှင့် သင်္ချာနည်းပညာ ကို အခြေခံ နှင့် အထက် တတ်မြောက်ထား မှ သာလျှင် အထစ်အငှော့ မရှိ အဆင်ချော မည်သာ ဖြစ်သည်။


လူ၏ စိတ်ခံစားမှု စဉ်းစားတွေးခေါ်မှုများကို ပုံဖော်ခြင်း ဖြစ်သည့်အတွက် လူ့စိတ်ကဲ့ သို့ ပြောင်းလွယ် ပြင်လွယ် ဖြစ်နိုင်စွမ်း ရှိသည်။ ဆိုလိုသည်မှာ ပရိုဂရမ်အား စတင်လေ့လာ လိုက်စားသည်နှင့် တပြိုင်နက် မိမိသင်ထားသော အကြောင်းအရာများကို ပုံသေ မမှတ်စေလိုခြင်း ဖြစ်သည်။
ထပ်မံ၍ ရှင်းလင်းရသော် ဥပမာ။ ။ ပရိုဂရမ် တစ်ပုဒ် ၌ a=100; ဟု ရေးထားလျှင် a ၏ တန်ဖိုးသည် တစ်ရာ နှင့် ညီသည်။ သို့သော် a ၏ တန်ဖိုးသည် အမြဲတမ်း တစ်ရာ နှင့် မညီကြောင်း သိရှိထားရမည်။ a သည် ပထမ အခြေအနေတွင် တစ်ရာ နှင့် ညီထားသောလည်း ပရိုဂရမ်အရ ဒုတိယ အခြေအနေတွင် တစ်ထောင် ၊တစ်သောင်း ၊တစ်သိန်း၊ တစ် စသည့် တန်ဖိုးများအဖြစ်လည်း ရောက်ရှိသွားနိုင်သည်။ ပရိုဂရမ် ၏ လိုလားချက် အရ ကိန်းရှင် ဖြစ်သော a ၏ တန်ဖိုးကို လိုအပ်သလို လှည့်စားပြောင်းလဲတွက်ချက်နိုင် ခြင်းကို ဆိုလိုသည်။


ပရိုဂရမ်သဒ္ဒါ

programming language များလည်း သဒ္ဒါဆိုတာ ရှိသည်။ ဆိုလိုသည်မှာ ပရိုဂရမ်၏ အမိန့်စာကြောင်းများကို ရေးသားရာတွင် စည်းစနစ်မှန်ကန်မှု အဓိကလိုအပ်ပါသည်။ မိမိရေးသားသော ပရိုဂရမ်တွင် စဉ်းစားတွက်ချက်နည်းစနစ်မှန်ကန်သော်လည်း မိမိအသုံးပြုသောပရိုဂရမ်၏ သဒ္ဒါစည်းစနစ်မှန်ကန်မှုမရှိခဲ့ပါက မိမိ၏ ခိုင်းစေသော အမိန့်စာကြောင်းပါ အမိန့်များအတိုင်း ကွန်ပြူတာက အလုပ်လိုက် လုပ်ပေးမည်မဟုတ်ပါ။ Programming Language များစွာထဲမှ C++(C double plus) ဟုခေါ်သော programming Language တစ်ခုကိုကျနော်တို့စပြီးလေ့လာကြ ရအောင်။

C++ programming language ဖြစ်ပေါ်လာပုံ သမိုင်းကြောင်းကိုတော့ မရေးပေးတော့ပါဘူး။ သမိုင်းကြောင်းကို လေ့လာခြင်း မဟုတ်သည့်အတွက် အဓိကထားပြီး မရှင်းပြ နိုင်ခြင်း ဖြစ်ပါတယ်။

ပထမဦးစွာ ကျနော်တော်တို့ programming language တွင် အသုံးအများဆုံး စကားလုံးများကို နားလည်အောင် ဖတ်ရှုပါ့မယ်။သတိပြုရန်- အမိန့်စာကြောင်းများ မဟုတ်။ အခေါ်အဝေါ်များသာဖြစ်သည်။

•Data types(မိမိအသုံး အပြု လိုသော အချက်အလက်များ အမျိုးအစားများ။ ဥပမာ (ကိန်းဂဏန်းအမျိုးအစားလား(သို့)ဗျည်းအက္ခရာလား စသည်ဖြင့်)။

• Keyword (အရေးပါသော စကားလုံး(သို့) ၎င်း Language တွင် လိုအပ်သလို ထည့်သွင်းသုံးစွဲခွင့် ရှိသော စကားလုံး။၎င်းစကားလုံးများတွင် ကိုယ်ပိုင်လုပ်ဆောင်မှုများ စွမ်းဆောင်နိုင်မှုများ ရှိသည်။

• Operator (ပရိုဂရမ်အတွင်းသုံး သင်္ချာပိုင်းဆိုင်ရာ တွက်ချက်မှု သင်္ကေတ အသုံးအနူန်းများ)။

• Expression (အသုံးအနှုံးများသတ်မှတ်ခြင်း (သို့) အတိအလင်း ဖြစ်ခြင်း)။

• Logical (ယုတ္တိတန်သော။(သို့) အမှား၊အမှန် ခွဲခြားနိုင်သော)။

• Bitwish (ကွန်ပြူတာသုံး အသေးဆုံးယူနစ်တွက်နည်းများ)။

• Arithmetic (ဂဏန်းသင်္ချာနှင့်ဆိုင်သော)။

• Relational (ဆက်သွယ်မှု၊ ဆက်စပ်မှု၊နှိုင်းယှဉ်ခြင်း)။

• Assignment (ရေးပုံရေးနည်းစနစ်)။

• Single quote (အဖွင့်အပိတ်(‘a’))။

• Double quote (အဖွင့်အပိတ်(“a”))။

• Conditional (အခြေ အနေတစ်ရပ်ကို မူတည်သော။ အခြေအနေအရ ဖြစ်သော။)။

• Statement ( ရေးသားပုံ။စာကြောင်း)။

• Syntax (ပရိုဂရမ်၏ အမိန့်စာကြောင်းများ ရေးသားတည်ဆောက်ပုံ(သို့) စာကြောင်း အထားအသိုပုံစံ)။

• Variable (ပြောင်းလဲနိုင်သောအရာ။ ကိန်းရှင်။)။

• Identifier (ရွေးထုတ်သည်။ ခွဲခြားနိုင်သည်။ဖော်ထုတ်နိုင်သည်။)

• Expression (ကိန်းသေများ၊ ကိန်းရှင်များနှင့် အခြားသော အချက်အလက်များကို operator နှင့် ဆက်စပ်ထား ခြင်းဖြစ်သည်၎င်း အနေအထားအား ဖြေရှင်းလိုက်ပါက တန်ဖိုးတစ်ခုခု (သို့)အခြေအနေတစ်ရပ် ဖြစ်ပေါ်စေမှာ ဖြစ်သည်။ တနည်းအားဖြင့် အဖြေတစ်ခုရအောင် Program နည်းလမ်းကျကျ ဖွဲ့စည်းတည်ဆောက်ထားသော ဖေါ်မြူလာ ပုံသေနည်းဖြစ်သည်။

• Default (အတိအကျ(သို့)ပြောင်းလဲနိုင်စွမ်းမရှိ)

Credit : အ.ထ.က မုတ္တမ  


ကိုဝင်းဘလော့ဂ်က သမလာတာ ဖြစ်ပါတယ်။  




Posted By

<<  HTAR WAIE THAR  >>

Ko Ko Zaw ( BE-EC )     www.htarwaiethar.blogspot.com

0 comments:

Post a Comment