aungthwinoo နည္းပညာ ေဆာ့ဝဲလ္မွၾကိဳဆိုပါတယ္

Wednesday, February 12, 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 (အတိအက်(သို႕)ေျပာင္းလဲနိုင္စြမ္းမရွိ)

No comments: