ကဗ်ာ/ရသ/နည္းပညာ

Basic Programming Concept

Sep 16, 2013

Program ရဲ့ တည္ေဆာက္ပံု (Program Construct) မွာ sequence ရယ္
selection ရယ္ iteration ရယ္ ဆိုျပီးရွိပါတယ္
Sequence
-----------

Sequence ဆိုတာ program တစ္ခုရဲ့ အစီအစဥ္ကိုေျပာတာပါ။ ကၽြန္ေတာ္တို႕
မနက္လင္းျပီဆိုတာနဲ႕ မ်က္ႏွာသစ္ပါတယ္၊ ျပီးေတာ့ သြားတိုက္ရပါတယ္.. ဒါက
အစီအစဥ္တစ္ခုပါ။ java program မွာေတာ့ ဘယ္အလုပ္ျပီးရင္
ဘယ္အလုပ္ကိုလုပ္ပါမယ္ လို႕သတ္မွတ္ထားတာမ်ိဳးေပါ့။ ဥပမာ..
System.out.print("Wash my Face");
System.out.print("Brush my teeth");

ဒီလိုေရးထားတယ္ဆိုရင္ ကၽြန္ေတာ္တို႕ program ရဲ့ output မွာ wash my
face ကို အရင္ျပလိမ့္မယ္ ျပီးမွ brush my teeth ကိုျပမွာပါ။ java program
ရဲ့ sequence က top to down သြားပါတယ္။ program ရဲ့ အေပၚဆံုးေန statement
တစ္ခုျခင္းစီကို run တယ္။ တကယ္လို႕ခင္ဗ်ားက သြားအရင္တိုက္တယ္ဆိုလဲ brush my
teeth ကို အရင္ျပေပါ့။

Selection
----------

Selection ဆိုက program တစ္ပုဒ္ရဲ့ sequence ကို
အေျခအေနတစ္ခုေပၚမူတည္ျပီးအလုပ္လုပ္ေပးတာမ်ိဳးကိုေျပာတာပါ။ ဥပမာ..
ကၽြန္ေတာ္တို႕ မနက္စာစားျပီးတာနဲ႕ ေက်ာင္းသြားတယ္ ဆိုပါေတာ့.. ဒါက sequence
ပါ။ selection ဆိုတာကေတာ့ ေက်ာင္းမသြားခင္ မိုးရြာေနလား ၾကည့္တယ္..
မိုးရြာရင္ ေက်ာင္းမသြားေတာ့ဘူး..။ ဒါဆိုရင္ေတာ့ ေက်ာင္းသြားမယ္ဆိုတဲ့
အလုပ္က.. မိုးရြာသလား ဆိုတဲ့ အေျခအေနေပၚမွာ မူတည္ပါတယ္။ ဒါမ်ိဳးကို
selection လို႕ေျပာတာပါ။

Selection မွာ type ေတြရွိပါတယ္
- One Way Selection
- Two Way Selection
- Multi Way Selection
ဆိုျပီးေတာ့ သံုးခုရွိပါတယ္


one way selection ဆိုတာက အေျခအေနတစ္ခု(condition)ကိုၾကည့္ပါတယ္.. အဲ့ဒီ
အေျခအေနမွန္ရင္ လုပ္မယ့္အလုပ္ရွိပါတယ္.. အေျခအေနမွားတယ္ဆိုရင္ေတာ့
လုပ္မယ့္ အလုပ္မရွိေတာ့ပါဘူး.. ဒါမ်ိဳးကို one way selection လို႕ေခၚပါတယ္။
ဥပမာ...
if(num
    System.out.print("Negative");
}

တကယ္လို႕ num က zero ထက္ငယ္တယ္ဆိုရင္ negative လို႕ျပပါလမ့္မယ္..
တကယ္လို႕ zero ထက္ၾကီးတယ္ဆိုရင္ေတာ့ ဘာမွ ျပမွာမဟုတ္ပါဘူး။ one way
selection က condition မွန္ရင္လုပ္မယ့္အလုပ္ရွိပါတယ္ မွားရင္ေတာ့
လုပ္မယ့္အလုပ္မရွိပါဘူး။


two way selection ဆိုတာက အေျခတစ္ခု မွန္သလားၾကည့္ပါတယ္ မွန္ရင္
လုပ္မယ့္အလုပ္ရွိတယ္.. မွားတယ္ဆိုလဲ လုပ္မယ့္အလုပ္ရွိတယ္..
ဒါမ်ိဳးဆိုရင္ေတာ့ two way selection လို႕ေခၚပါတယ္။ ဥပမာ..
if(num
    System.out.print("Negative");
}
else{
   System.out.print("Positive");
}

ဒီ program ကေတာ့ num က zero ထက္ငယ္ရင္ Negative လို႕ျပပါတယ္
ဒါမွမဟုတ္ဘူးဆိုရင္ေတာ့ Positive လို႕ျပပါတယ္။ two way selection က
condition မွန္ရင္ လုပ္မယ္အလုပ္ရွိသလို မွားရင္လဲ လုပ္မယ္အလုပ္ရွိပါတယ္။
အင္း.. ျပသနာတစ္ခုေတာ့ရွိတယ္ဗ်.. တကယ္လို႕ num မွာ zero ( 0 )
ထည့္ထားတယ္ဆိုရင္လဲ Positive လို႕ပဲျပပါလိမ့္မယ္။ ဘာေၾကာင့္လဲဆိုေတာ့ num က
zero ထက္ ငယ္တယ္ ဆိုတဲ့ condition မွားလို႕ပါ။


multi way selection ဆိုတာေတာ့ အေျခအေနတစ္ခုကို မွန္သလားစစ္ပါတယ္
မွန္တယ္ဆိုရင္ လုပ္မယ့္အလုပ္ရွိပါတယ္.. မွားတယ္ဆိုရင္ေတာ့ ေနာက္ထပ္
အေျခအေနတစ္ခုကို ထပ္စစ္ပါတယ္... ေနာက္ထပ္..ေနာက္ထပ္
အမ်ားၾကီးထပ္စစ္လို႕ရပါေသးတယ္.. ေနာက္ျပီး အေျခအေနေတြ အားလံုးမွားခဲ့ရင္
လုပ္ရမယ့္အလုပ္လဲရွိပါတယ္။ ဥပမာ
if(num
    System.out.print("Negative");
}
else if(num>0){
    System.out.print("Positive");
}
else{
    System.out.print("Zero");
}

ဒီ program ကေတာ့ num က zeroထက္ငယ္လား အရင္ စစ္တယ္. ငယ္တယ္ဆိုရင္
Negative လို႕ျပတယ္.. မငယ္ဘူးဆိုရင္ေတာ့ zero ထက္ၾကီးလား ထပ္စစ္တယ္
ၾကီးတယ္ဆိုရင္ Positive လို႕ျပတယ္ တကယ္လို႕ ၾကီးလဲ မၾကီးဘူး
ငယ္လဲမငယ္ဘူးဆိုရင္ေတာ့ else ထဲကိုေရာက္တယ္ zero လို႕ျပတယ္။ multi way
selection က condition တစ္ခုကို မွန္သလားစစ္တယ္.. မွားတယ္ဆိုရင္ ေနာက္ထပ္
condition ေတြထပ္စစ္တယ္ condition ေတြအားလံုးမွားတယ္ဆိုရင္ေတာ့ else
ထဲမွာရွိတဲ အလုပ္ကိုလုပ္တယ္။

Iteration
----------

အၾကိမ္ၾကိမ္ အခါခါလုပ္ရမယ့္ အလုပ္ေတြဆိုရင္ iteration ဒါမွမဟုတ္ looping
ထဲမွာထည့္ေရးရပါတယ္။ ကၽြန္ေတာ္တို႕ မနက္တိုင္း မ်က္ႏွာသစ္ၾကတယ္။
မ်က္ႏွာသစ္တယ္ ဆိုတဲ့ အလုပ္က တစ္ခါတည္းလုပ္ရတာမဟုတ္ပါဘူး.. ေန႕တိုင္း
အၾကိမ္ၾကိမ္လုပ္ေနရတာပါ့။ java မွာေတာ့ အၾကိမ္ၾကိမ္ အခါခါ လုပ္ခ်င္တဲ့
အလုပ္ေတြဆိုရင္ looping ထဲမွာထည့္ေရးရပါတယ္။ ဥပမာ.. ကၽြန္ေတာ္တို႕ screen
ေပၚမွာ hello ဆိုတဲ့စာေလး ၁၀ ေၾကာင္းေပၚခ်င္တယ္ဆိုပါစို႕။ ဒါဆို
System.out.println("Hello"); ဆိုတာေလးကို ၁၀ၾကိမ္ျပန္ေရးေပးဖို႕လိုပါျပီ။
copy .. paste လုပ္လိုက္လဲရတာပဲေလ.. ဘာလို႕ looping သံုးမွာလဲ
လို႕ေမးစရာရွိပါတယ္..။ ဒါဆိုရင္ အၾကိမ္ ၁၀၀၀၊ ဒါမွမဟုတ္
အၾကိမ္တစ္ေသာင္းဆိုရင္ေရာ?

looping ကိုသာ သံုးမယ္ဆိုရင္ အဲ့ဒီ စာေၾကာင္းေလးကို အၾကိမ္ ၁၀၀၀၊ ၁၀၀၀၀
ေရးစရာမလိုေတာ့ပါဘူး တစ္ခါပဲေရးလိုက္ရင္ ရျပီ။
for(int i=0;i
    System.out.println("Hello");
}
( CLoudMyanmar Computer Center - Saya Soe Htet)

No comments:

Post a Comment