Tuesday, January 29, 2013

ව්‍යාජ කේත(Pseudocode)

කිසියම් වැඩසටහනක ක්‍රියාකාරීත්වය පියව‍රෙන් පියවර ක්‍රමානුකූලව සරල බසින් ( සැබෑ පරිගණක භාෂාවකට පරිවර්තනය කළ හැකි පරිදි) දැක්වීම ව්‍යාජ කේත මගින් සිදු වේ. ව්‍යාජ කේත ලිවීම සඳහා සම්මත සම්මුතියක් නැතත් ක්‍රමලේඛ පිළිබඳ අවබෝධයක් නොමැති අයෙකුට වුවද තේරුම් ගත හැකි වන පරිදි සරලව ඉදිරිපත් කෙරේ.
උදා:-
පැය ගණන හා පැයකට අය කරන ගාස්තුව ඇතුළත් කළ විට ගෙවිය යුතු මුළු මුදල ගණනය කර ප්‍රතිදානය කරන සරල වැඩසටහනක් සඳහා ව්‍යාජ කේතයක් ලියමු

Begin
     input hours
     input rate
     pay=hours*rate
     print pay
End

මෙම   ව්‍යාජ කේතය ගැලීම් සටහනක් මගින් පහත පරිදි දැක්විය හැකිය.
 

 පහත උදාහරණය සලකා බලන්න.
කිසියම් පුද්ගලයෙකු සඳහා ගෙවනු ලබන ශුද්ධ වැටුප(netPay ) තීරණය කරනු ලබන්නේ ඔහු‍ගේ දළ වැටු(grossPay ), 50 000ට වඩා වැඩිනම් බදු මුදල්(taxes) අඩු කිරීමෙනි.දළ වැටුප 50 000ට වඩා ඩුනම් ශුද්ධ වැටුප දළ වැටුපට සමාන වේ.
Begin 
    input name,grossPay, taxes
    if grossPay> 50000
netPay = grossPay – taxes
    else
netPay = grossPay
    endif
    write name, netPay
End



Saturday, January 12, 2013

ගැලීම් සටහන්(Flowcharts)

කිසියම් වැඩසටහනක් අනුපිළිවෙලින් ක්‍රියාත්මක වන ආකාරය  සම්මත සංකේත ඇසුරින් දැක්වීම ගැලීම් සටහන් වලින් සිදු වේ.
ගැලීම් සටහන් වල භාවිතා වන සම්මත සංකේත පහත පරිදි වේ.
  උදාහරණයක් සලකා බලමු.
දිග හා පළල ආදාන වශයෙන් ගෙන සෘජුකෝණාස්‍රයක වර්ගඵලය ගණනය කර ප්‍රතිදානය කිරීම සඳහා ගැලීම් සටහනක් අඳින්න.























තවත් සරල උදාහරණයක් සලකා බලමු.
a,b සංඛ්‍යා දෙකක් ආදාන වශයෙන් ගෙන a>b නම් a ද, a<b නම් b ද ප්‍රතිදානය වන පරිදි ගැලීම් සටහනක් අඳින්න. 2 හා 3 ආදාන ලෙස ලබාදුන් විට ප්‍රතිදානය කුමක්ද?


a=2
b=3
a>b?
2>3? No
එමනිසා b OUTPUT එක ලෙස ලැබේ
එනම් පිළිතුර 3 වේ.















පහත ගැලීම් සටහනේ X=48 විට ප්‍රතිදානය ලියන්න.
විවරණය
x=x/10
මෙම ප්‍රකාශනයෙන් කියවෙන්නේ = ලකුණෙන් දකුණු පස ඇති පද සුළු කොට ලැබෙන පිළිතුර වම්පස විචල්‍යයේ තබා ගන්නා ලෙසයි. එනම්
x=48/10
x=4.8
X<1 , 4.8<1 ද? නැත
එමනිසා ඊතලය දිගේ පහළට(No දෙසට) ගමන් කර
S=S+1 ප්‍රකාශනයට එළඹේ.
S හි අගය 1 බව මුලින් සඳහන් කර ඇති නිසා දැන්
S=1+1
S=2
මේ වනවිට  x=4.8
x=x/10 ප්‍රකාශනයට නැවත x=4.8 ආදානයක් ලෙස ලැබේ.
මෙවිට
x=4.8/10
x=0.48
0.48<1 ද?ඔව්, එමනිසා ඊතලය දිගේ දකුණට ගමන් කරයි. S ප්‍රදර්ශනය කරයි. මේ වනවිට S හි අගය 2කි
එනම් පිළිතුර 2 වේ.

















Thursday, January 10, 2013

Python Functions

Function එකක් යනු අපට කැමති නමකින් නම් කළ හැකි statements අනුක්‍රමයකි. Function එකකට inputs සැපයිය යුතු අතර අදාළ Function එක call කළ විට statements වලට අදාල ක්‍රියාවලිය සිදුකරයි.

Function එකක් ලිවීමේදී පහත දේ වැදගත් වේ
*def යනුවෙන් ආරම්භ කළ යුතුය.
*ඉන් පසු Function ‍එකේ නම සඳහන් විය යුතුය.
*වරහන් තුළ Parameters දැක්විය යුතුය. 
Function   එකක සාමාන්‍ය ස්වරූපය පහත පරිදි වේ.

def NAME(PARAMETERS):
     STATEMENTS

උදාහරණයක් සලකා බලමු
පහත දක්වඇත්ේ සජු‍ාස්‍රයක වර්ගඵලය ගණනය කිරීම සඳහා ලියන ලද Function  එකකි.
 
 මෙහි Function  එකෙහි නම get_area වන අතර length හා width යනු parameters ේ. එනම් Function   එක ආදාන(inputs) ලෙස ලබාගන්නා අගයන් ේ.
length හා width යනුවෙන් ලැබෙන අගයන් දෙක ගුණකර area නම් චල්‍ය(variable) තබාගෙනී.
 Area of the regtangle is යනුවෙන් ප්‍රශනය කර අවසානarea හි අගය ප්‍රදර්ශනය කිරීම මෙම Function එක මගින් සිදු කෙේ.
length හා width වලට එක් එක් අගයයන් සපයමින් ඕනෑම ජු‍ාස්‍රයක වර්ගඵලය ගණනය කිරීම සඳහා මෙම Function එක භාවිා කළ හැක.

අදාල Function එක ක්‍රියාත්මක(call) කරන්ේ පහත ආකාරයටය.
 
 get_area එනම් Functionකෙහි නමට පසු ඉහත දැක‍වෙන ආකාරයට length හා width සඳහා අගයන්ටහන් කර Enter කළ විට ඉහත පරිදි ප්‍රතිපලය දිස් ේ.

length=7 ,width=6ජු‍ාස්‍රයක වර්ගඵලය ගණනය කිරීම පහත පරිදි සිදුකළ හැක. නැවත නැවත Function එක ලිවීම අවශ්‍ය ේ. එය call කිරීමෙන් අදාල ප්‍රතිපලය ලබාගත ‍හැක.