တော်တော်များများ ရင်းနှီးထားဖူးကြပြီးသားဖြစ်ပါတယ်။ Programming Language အစစ်တော့ မဟုတ်ဘူး၊ ဒါပေမယ့် အစစ်နဲ့ implementation မလုပ်ခင်မှာ သူတို့ရဲ့ conceptional logic တွေကို pseudo code နဲ့အရင်ချရေးကြပါတယ်၊ ဥပမာ algorithm တစ်ခုကို real programming နဲ့ မရေးခင် pseudo code နဲ့ အရင် ချရေးကြည့်တာမျိုး၊ coding အတွက် prototype တစ်ခုလို့လည်း ပြောလို့ရတယ်။ ကျနော်တို့ design ဆွဲတဲ့နေရာမှာ တစ်ကယ်မဆွဲခင်မှာ wire-frames တွေ ဘာတွေနဲ့ prototype ချကြတယ်ဟုတ်၊ pseudo code ရဲ့ သဘောသဘာဝကလည်း ထိုနည်းလည်းကောင်းပါပဲ။

Pseudo code ကို programming language လို့သတ်မှတ်လို့မရပေမယ့် သူ့ကို high-level description language အဖြစ်သတ်မှတ်လို့ရပါတယ်။ အဓိက ကတော့ အပေါ်မှာပြောခဲ့သလို program အစိတ်အပိုင်းတစ်ခုဖြစ်ဖြစ် algorithm တစ်ခုဖြစ်ဖြစ် ရဲ့ concept description ကို ဖော်ပြပေးတဲ့ language တစ်ခုဖြစ်ပါတယ်။ သူ့မှာ strict ဖြစ်တဲ့ syntax rules တွေမရှိဘူး၊ flexible ဖြစ်အောင်ရေးလို့ရတယ်။ အောက်မှာရေးတဲ့ ပုံစံလေးတွေ ကျနော်ဖြည့်ပေးထားပါတယ်။

Pseudo code ကလည်း တစ်နည်းအားဖြင့် instructions တွေစုထားတဲ့ code လေးတွေပါပဲ၊ execution ကတော့ top to bottom ပုံမှန်အတိုင်းပဲသွားပါတယ်။ တစ်ကယ်တော့ အလုပ်မလုပ်ဘူးပေါ့လေ၊ descriptive language ဆိုတော့၊ syntax က strict မဖြစ်ပေမယ့် သူ့မှာလည်း သူ့ရဲ့ keywords လေးတွေရှိတယ်၊ meaning ဖြစ်တဲ့ keyword လေးတွေပေါ့။

ဥပမာ conditional statement တစ်ခုရေးတော့မယ်ဆို

IF true
Keep going
ELSE
get back
ENDIF

ထူးထူးခြားခြား ပြောင်းလဲသွားတာမရှိဘူး၊ programming တစ်ခုသိထားတဲ့လူဆိုရင် pseudo code ကိုတန်းရေးနိုင်ပါတယ်။ အပေါ်မှာကျနော်ပြောခဲ့တဲ့ keywords လေးတွေဆိုတာ

Pseudo code အဖွင့်နဲ့ အပိတ်
BEGIN, END

Conditional statement တွေအတွက်
IF, ELSE, ENDIF, DO, WHILE, ENDWHILE, REPEAT, UNTIL, CASE

User inputs တွေအတွက်
INPUT, GET, READ , SET
Result ပြန်ပြဖို့အတွက်
PRINT, SHOW
စသည်ဖြင့် ဒီလို keywords လေးတွေကိုဆိုလိုတာပါ၊ တစ်ခြား keywords တွေလည်း ရှိသေးပေမယ့် ဒီနေရာမှာ ကျနော် အသုံးများတာလေးတွေကိုပဲရွေးထည့်ထားပေးပါတယ်။ အောက်မှာ pseudo code နည်းနည်းထပ်ပြီး စမ်းရေးပြထားပါတယ်။

Case condition

INPUT number
CASE number of
1: PRINT “1”
2: PRINT “2”
3: PRINT “3”
DEFAULT
PRINT “0”
ENDCASE

While Loop

Set index to 0

WHILE index is GREATER THAN 1
PRINT index
INCREASE index BY 1
END

Function

Function sample
PRINT ‘hello world’
Endfunction

Function နဲ့ပတ်သတ်ပြီး ကျနော့် Union Find algorithm ကို နမူနာ လုပ်ထားတဲ့ code ပါတစ်ခါတည်းထည့်ပေးလိုက်ပါတယ်။

Function union(x,y)
x = find( x ), y = find( y ) //find the root of each element
if ( x is equal to y )
return success
else
set x as y’s parent
Endfunction

Function find( x )
if(x != x.parent)
x.parent = find(x.parent)
return x.parent
else
return x
Endfunction

နောက်ဆုံးပိတ်ပြောရမယ်ဆိုရင်တော့ pseudo code ကအရမ်းလွယ်ပါတယ်။ ဒါပေမယ့် သူက real programming နဲ့ implement လုပ်ဖို့အတွက် ရည်ရွယ်တဲ့ descriptive instructions တွေဖြစ်တဲ့အတွက် ဖတ်လိုက်တဲ့လူတိုင်းနားလည်ဖို့လိုပါတယ်။ ဒါကြောင့် ရှင်းအောင်ရေးရမယ်၊ ရှင်းတယ်ဆိုလို့ အရမ်းချုံ့ပြီး ရေးလိုက်ပြန်ရင်လည်းအဆင်ပြေဘူး၊ ဒါကြောင့် ကိုယ်ရေးတဲ့ instructions ကိုတော့ သင့်တော်သလိုရေးသင့်ပါတယ်။ နားလည်လွယ်စေတဲ့ Keyword တွေသုံးရမယ်။ Indent တွေ space တွေကိုမလိုအပ်ဘဲ ထည့်တာမျိုးရှောင်ရပါမယ်။

ကျေးဇူးတင်ပါတယ်။