Simple Program Design

စတင်ခြင်း

Programming ကို မတတ်မြောက်ခင်မှာ pseudo နဲ့ flow chat သိဖို့လိုပါတယ်။

Pseudo ဆိုတာ

Pseudoဆိုတာကတော့ programming တစ်ခု မစခင်မှာ ပထမဆုံး ပုံစံကြမ်းချရေးတဲ့ codeပေါ့။ pseudo code ကို ဖတ်ပြီး ဘယ် programmer မဆို မိမိ အသုံးပြုတဲ့programming နဲ့ ရေးသားနိုင်ပါတယ်။ တနည်းအားဖြင့် pseudo code ဆိုတာကတော့လူတိုင်း ဖတ်လိုက်တာနဲ့ နားလည်အောင် ရေးသားထားတဲ့ code ကို ဆိုတာပါ။

Flow Chart ဆိုတာ

FlowChart ကတော့ programming သမားသာမက သာမာန် end user တွေကိုပါရှင်းပြလို့လွယ်အောင်အသုံးပြုကြတာပါ။ သူကတော့ အဓိကအားဖြင့်ပုံနဲ့ဖော်ပြထားတယ်။ နောက်ပြီး pseudo code ကို ကြည့်ပြီး ဆွဲကြတာများတယ်။ပုံနဲ့ ရှင်းပြတဲ့အခါ programming ပြန်ရေးရမှာဖြစ်ဖြစ် program flowအကြောင်းကို ရှင်းပြရမှာပဲဖြစ်ဖြစ် နားလည် သဘောပေါက်လွယ်ပါတယ်။ ဒါကြောင့်programming basic အနေနဲ့ကတော့ မသိမဖြစ် အရာတစ်ခုပါ။ Flow Chart ကတော့programming သာမက အခြားအကြောင်းအရာတွေ စဉ်းစားရာပဲဖြစ်ဖြစ်လက်တွေ့ဘဝကြီးအတွက် စဉ်းစားရာပဲဖြစ်ဖြစ် အသုံးဝင်လှပါတယ်။ အောက်မှာ flowchart ပုံလေး ပြထားပါတယ်။

aVUsseA.jpg

Pseduo Code

Pseudocode ဆိုတာကတော့ pseudo နဲ့ code ကနေ ဆင်းသက်လာတာပါ။ တနည်းအားဖြင့်ဆိုသော် အတုအယောင် code လို့ဆိုလို့ရပါတယ်။ Pseudocode ကို Porgramming language တွေအတွက် ရိုးရှင်းလွယ်ကူတဲ့ Computer Programming Algorithm တစ်ခုဖြစ်ပါတယ်။ သို့သော်လည်းပဲ သူ့မှာ သေသေချာချာ သတ်မှတ်ထားတဲ့ ပုံစံမရှိပါဘူး။ Subroutines, Variable declaration နဲ့ အသေးစိတ် code တွေကို တိတိ ကျကျ သတ်မှတ်ထားခြင်း မရှိပါဘူး။ တစ်ယောက်နဲ့ တစ်ယောက် သတ်မှတ်ရေးသားပုံမတူသော်လည်း လူတိုင်းနားလည်လွယ်အောင် ရေးသားထားပါတယ်။

အရင်ဆုံး Pseudocode စရေးပါမယ်။

Pseudocode စမယ်ဆိုရင်

void main()
{

}

နဲ့စပါမယ်။


void main()
{
print "Test";
}

အဲဒီ အဓိပ္ပာယ်ကတော့ Test ဆိုတဲ့စာလေး ရိုက်ထုတ်လိုက်တာပါ။ screen မှာ Test ဆိုတဲ့ စာလေးသွားပေါ်တယ်လို့ မှတ်လိုက်ပါ။ code လိုင်းတစ်ခုပြီးလိုက်တိုင်း ; (semi coma) လေးထည့်ရပါတယ်။ ; လေးထည့်မှသာ code တစ်ကြောင်းပြီးတယ်လို့ မှတ်ပါတယ်။

void main()
{
//code here
print "Teset";
}

// ဆိုတာကတော့ comment ပါ။ အဲဒီအပိုင်း // ရေးထားတဲ့အပိုင်းကတော့ အလုပ်မလုပ်ပါဘူး။ comment ဆိုတာကတော့ ကိုယ့်ဘာသာကိုယ် မှတ်ထားတဲ့ အပိုင်းပေါ့။ ဒီအကြောင်းက ဘာလုပ်တယ်ဆိုတာကိုပေါ့။

void main()
{
var i;
i=1;
print i;
}

အဲဒီမှာ var i; ဆိုတာလေးကို တွေ့မှာပါ။

var ဆိုတာကတော့ variable description ကိုပြောတာပါ။

Variable ဆိုတာဘာလဲ

Variable ဆိုတာကတော့ ကိန်းရှင်ပေါ့။ တနည်းပြောရင် နေရာအလွတ်ပေါ့။ ကြိုက်တဲ့ဟာတွေ ထည့်သွင်းနိုင်တယ်။ နောက်ထပ် တစ်ခု ထည့်သွင်းလိုက်ရင် ရှေ့တစ်ခုက ပျောက်သွားမှာပါ။ ဘာဖြစ်လို့ဆိုတော့ ရှေ့တစ်ခုကို overwrite လုပ်သွားတယ်။ ဖုံးသွားတယ်ပေါ့ဗျာ။

Variable အမျိုးအစား

Variable ဆိုတဲ့အပိုင်းမှာ
၁. စာလုံးများအတွက် string
၂. ပေါင်းနှုတ်မြှောက်စားအတွက် integer
၃. ဒသမကိန်းတွေအတွက် float

ဒါကတော့ အခြေခံအနေနဲ့ ပြောထားတာပါ။

var i; ဆိုတာကတော့ ဘာအမျိုးအစားမဆို ထည့်သွင်းလို့ရပါတယ်။

ကျွန်တော်တို့တွေ pseudo ပိုင်းမှာတော့ variable အမျိုးအစားတွေက သိပ်အရေးမကြီးဘူးလေ။ programmer တွေ နားလည်အောင်ပဲ အသုံးပြုမှာဖြစ်တဲ့အတွက် var ကိုပဲ အသုံးပြုမှာပါ။

i=1;

အဲဒါကတော့ i ဆိုတဲ့ variable ထဲကို 1 ဆိုတဲ့ ဂဏန်းလေးထည့်သွင်းလိုက်တာပါ။

ပေါင်းနှုတ်မြှောက်စားလုပ်ခြင်း

void main()
{
var i;
i=5;
i=i+5;
print i;
}

ဒါဆိုရင် i ထဲမှာ ဘယ်လောက် ဝင်သွားပြီထင်လဲ။ တချက်လောက် စဉ်းစားကြည့်ပါ။ i ထဲမှာ ၁၀ ဝင်သွားပါပြီ။ i ထဲမှာ နဂိုရှိနေတဲ့ ၅ က ပျောက်သွားပြီး ၅ နဲ့ ထပ်ပေါင်းလိုက်တဲ့ အတွက် ၁၀ ဖြစ်သွားပါပြီ။

ဘယ်လိုလဲဆိုတော့

i= i(အထဲတွင် ၅ ရှိသည်)+5;
သည်
i=5+5;
နှင့်အတူတူပင်ဖြစ်ပါတယ်။
ဒါဆိုရင် 3 နဲ့ပေါင်းရင်ကော။ သေချာတာပေါ့။ ၈ ရမှာပေါ့။
i=i+3 ကတော့
i=5+3;
နဲ့ အတူတူပါပဲ။

ဒီလောက်ဆိုရင်တော့ variable ကို နည်းနည်းသဘောပေါက်လောက်ပါပြီ။

ပေါင်းတယ်ဆိုရင်တော့ +
နှုတ်တယ်ဆိုရင် –
ဒါဆို စားတယ်ဆိုရင် /
မြှောက်တယ်ဆိုရင် *
ဆိုပြီးသုံးပါတယ်။

i=5*20;
ဒါဆိုရင် i ထဲမှာ 100 ဝင်သွားပါပြီ။
i=20/5;
ဆိုရင်တော့ 4 ဝင်သွားပါလိမ့်မယ်။

ဒါဆိုရင်တော့ pseudo နဲ့ ပေါင်းနှုတ်မြှောက်စား program လေးတစ်ခုရေးနိုင်ပါတယ်။

Write A Program

ကျွန်တော်တို့တွေ program တစ်ခုကို စရေးရအောင်။ အရင်ဆုံး user ဆီကနေ ဂဏန်း တစ်လုံး လက်ခံမယ်။ ပြီးရင် ပြန် ထုတ်ပြမယ်။


void main()
{
get i; // input from user
print i; // output to screen
}

get ဆိုတာကတော့ user ဆီကနေ လက်ခံလိုက်တာဖြစ်ပါတယ်။ ဒါဆိုရင် i ထဲမှာ user ထည့်လိုက်တဲ့ နံပတ် ဝင်သွားမယ်။ ပြီးရင် print i; ဆိုပြီး ထည့်လိုက်တဲ့ နံပတ် ပြန်ထွက်လာပါလိမ့်မယ်။

ကဲ.. ဒါဆိုရင် နောက်ထပ်တစ်ပုဒ်ရေးရအောင်… user ဆီကနေ ဂဏန်း၂ လုံး လက်ခံမယ်.. ပြီးရင်ပေါင်းပေးမယ်… ရတဲ့အဖြေကို screen မှာ ထုတ်ပြမယ်…


void main()
{
get i;
get g;

x=i+g;

print x;

}

အပေါ်က code မှာ i နဲ့ g ကိုပေါင်း x ထဲကို ထည့်ပြီးမှ x ကနေ ထုတ်ပြပါတယ်။ ကျွန်တော်တို့တွေ စဉ်းစားရမှာက code လိုင်းကြောင်းကို တတ်နိုင်သလောက် နည်းအောင် လျော့ချဖို့ပဲ။ ဒီတော့


x=i+g;
print x;

ဆိုတဲ့ နေရာကို ဒီလိုပြောင်းရေးလိုက်တယ်


void main()
{
get i;
get g;
print i+g;
}

ဒါဆိုရင်တော့ တစ်ကြောင်းသက်သာသွားပြီ။ အဲဒီဆိုရင် process ၁ ခုလျော့ကြသွားတာပေါ့။

ကဲ… အခုထက်ထိကတော့ ကျွန်တော်တို့တွေ simple လေးတွေ သွားနေတာပါ။ ဒီ chapter က အလွယ်ဆုံးပါပဲ။ ကျွန်တော်တို့တွေအနေနဲ့ နောက်ထပ် chapter မှာ Condition နဲ့ Looping ကြောင်းကို သင်ကြားရမှာပါ။

Looping

Looping ဆိုတာကတော့ ထပ်ခါ ထပ်ခါ လုပ်တာကို ခေါ်ပါတယ်။ ဘယ်လို ထပ်ခါခါ လုပ်တာလဲဆိုတော့
2×5=10 ဆိုတာက
2+2=4+2=6+2=8+2=10 နဲ့ အတူတူပဲလေ
တနည်းဆိုရင် 2 ကို ၅ ကြိမ်ပေါင်းရတာပေါ့။ 2 နဲ့ပဲ ခဏခဏ ပေါင်းရတာလေ။ ဒါကိုပဲ ထပ်ခါထပ်ခါ လုပ်နေရတာကို looping လို့ခေါ်တယ်။ looping မှာ ၃ မျိုးရှိတယ်။

၁. For Loop
၂. While Loop
၃. Until Loop

ဆိုပြီး ၃ မျိုးရှိတယ်။

* Edit post
* Delete post
* Report this post
* Information
* Reply with quote

For Loop

Postby saturngod » Sat Jan 24, 2009 9:49 am
ကျွန်တော်တို့ ပုံမှန် ထပ်ကာ ထပ်ကာ လုပ်နေရတာကို Loop လို့ခေါ်တယ်။ အခု နံပတ်စဉ် တစ်ခု ထုတ်မယ်… ဘယ်လိုမျိုးလဲဆိုတော့

1
2
3
4
5
6
7
8
9

အဲလိုလေး ထုတ်မယ်။ ဒီတော့ ၁ ကနေ ၉ အထိ ပုံမှန်အတိုင်းသွားတယ်။ အဲဒါကို for loop နဲ့ ရေးပြပါမယ်။

for (i=1;i<=9;i++)
{
print i;
print “\n”; //Line Break
}

ပထမဆုံး i က 1 ဖြစ်နေမယ်။ ပြီးရင် print i; ဆိုတဲ့အတွက်ကြောင့် 1 ထုတ်ပြမယ်။ ပြီးရင် i ကို 1 တိုးတိုးသွားမယ်။ i++ ဆိုတာက i ကို ၁ တိုးတိုးသွားမယ်လို့ ဆိုလိုတာပါ။ i++ လို့မရေးပဲ i+1 လို့လည်း ရေးလို့ရပါတယ်။ print “\n”; ဆိုတာကတော့ တစ်ကြောင်းဆင်းမယ်လို့ ဆိုတာပါ။ ဒါကြောင့် 1 ပြီးတာနဲ့ တစ်ကြောင်း ဆင်းသွားမယ်။ ပြီးရင် 2 ဖြစ်သွားမယ်။ 2 ထုတ်ပြမယ်။ ပြီးရင် တစ်ကြောင်းဆင်းမယ်။ ဒါဆို 9 အထိရောက်တဲ့အခါမှာတော့ လုပ်နေသေးတယ်။ 10 လည်းရောက်ရော i<=9 condiction မှာ i က 9 ထက် ကြီးသွားပြီ။ အလုပ်ဆက်မလုပ်တော့ဘူး။ အဲဒီအခါမှာတော့ looping ပြီးဆုံးသွားပါတယ်။

တနည်းပြောရမယ်ဆိုရင်

for(initial;condition;counter)
{
code
}

Operator

and နဲ့ or ကို ၁၀ တန်းက physic မှာ သင်ဘူးပါတယ်။ and gate နဲ့ or gate ပါ။

And

နှစ်ခုလုံး တူမှ 1။ မတူဘူးဆိုရင် 0။

0 AND 0 =1
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1

Or

တစ်ခုမဟုတ် တစ်ခု 1 ဖြစ်ရင် 1 ။

0 or 0 = 0
0 or 1 = 1
1 or 0 = 1
1 or 1 = 0

အဲဒါက And နဲ့ Or ခြားနားချက်ပါ။

ပြီးမှ Loop အကြောင်းဆက်သွားမယ်။ အခုတော့ And နဲ့ or ကို နားလည်အောင် အရင် လုပ်ကြည့်ရအောင်။


void main()
{
i=5;
if ((i>3) and (i3 is true AND 5<10 is true
// Result is
// true and true = true
print "Work"l

}
}

၂ ခု လုံး true ဖြစ်တဲ့အတွက် if condition က အလုပ်လုပ်သွားပါတယ်။


void main()
{
i=5;
if ((i>3) or (i>10))
{
// Now i is 5 and 5>3 is true AND 5>10 is false
// Result is
// true or false = true
print "Work"

}
}

၂ ခုမှာ တစ်ခုက ture ဖြစ်တဲ့အတွက်ကြောင့် if condition က အလုပ်လုပ်သွားပါတယ်။
ပြီးရင် အပေါ်မှာ ကျွန်တော် ရေးထားဘူးတဲ့ ifcondition လေးကို – နဲ့ / မှာ and condition ထည့်လို့ရပါတယ်။ အဲဒါလေးကို ထည့်ရေးပြီး ကြည့်ပါလား။ Exercise မှာ မေးထားပါတယ်။ ဝင်ရောက်ဖြေဆိုကြည့်ကြပေါ့။

While Loop
While Loop ဆိုတာကတော့ for loop နဲ့ မတူပါဘူး။ သူက condition base ပေါ့…. ဥပမာ ၁ ကနေ ၁၀ ထိ အလုပ်လုပ်မယ်ဆိုပါဆို့..

void main()
{
i=1;
while(i<=10)
{
print i;
i++;
}

print “FINISHED”;

}

i ထဲမှာ ၁ ရှိနေမယ်။ i<=10 မှန်တဲ့အတွက် အောက်က ဟာကို ဆက်လုပ်မယ်။ print i; ဆိုပြီး ၁ ကိုထုတ်လိုက်တယ်။ i++ ဆိုပြီး i ကို တစ်တိုး သွားတယ်။ i က 2 ဖြစ်သွားပြီ။ i<=10 ဆိုတာ မှန်နေသေးတော့ ထပ်လုပ်တယ်။ နောက်ဆုံး i က ၁၁ ဖြစ်သွားတော့ မမှန်တော့ အလုပ်မလုပ်တော့ဘူးပေါ့… အောက်ဆုံးမှာ print “FINISHED” ဆိုတဲ့အတွက်ကြောင့် finished ဆိုတာကို ထုတ်ပြပြီး program ပြီးသွားယ်။

Using While loop
While Loop ကို ကျွန်တော်တို့တွေ နေရာတော်တော်များများ အသုံးပြုလို့ရပါတယ်။ ဥပမာ ကျွန်တော်တို့တွေ စုံကိန်း ၁၀ လုံး ထုတ်ချင်တယ်ဆိုပါဆို့… ဒါဆိုရင်..

i=1;
while (i<=10)
{
print i*2;
}

အပေါ်က code လေးက လွယ်လွယ်နဲ့ ရှင်းရှင်းလေးပါ။ လူတိုင်းနားလည် လွယ်မယ်ထင်ပါတယ်။ နားမလည်ရင်တော့ Ask The Teacher နေရာမှာ မေးနိုင်ပါတယ်ဗျာ။

Leave a Reply

Your email address will not be published. Required fields are marked *