Pages

Saturday, May 10, 2014

Programming in Sinhala (part 2)

පහසුවෙන් Programming ඉගෙන ගනිමු. ( දෙවන කොටස )


හැමදාම ලියන්න හිතාගෙන ආවත් වෙලාවක් නැති නිසා අපේ programming කුප්පියෙ දෙවෙනි කොටස දෙන්න බැරි වුනා.. පරක්කු වුන එක ගැන මටත් upset කොහොමහරි කරලා ඉස්සරහට එක දිගට දාන්න උපරිම උත්සාහ කරන්නම්කො.. දැන් එහෙනම් කට්ටිය C program එකක් ලියන්න පුළුවන් වෙන විදියට machine එක හදාගෙන ඇති කියලා හිතා ගෙන මම වැඩේ පටන් ගන්නම්. එහෙම කෙනෙක්ට තාමත් machine එක හදාගන්න බැරි වුනානම් Programming in Sinhala (part 1) එක බලලා වැඩේට ලෑස්ති වෙලාම ඉතිරි ටික කියවන්න පටන් ගන්නකො..

මුලින්ම මම කැමතියි computer program එකක් කියන්නෙ මොකක්ද කියලා සහ programming language එකක් අපිට අවශ්‍ය වෙන්නෙ මොකටද කියලා දැනගන්න. මොකද අපි තේරුමක් නැතිව දෙයක් ඉගෙන ගෙන වැඩක් නෑනෙ.. සරලව කිව්වොතින් අපිට වගේ computer එකට දෙයක් හිතලා කරන්න බැරි නිසා එයාට කියලා අපිට මොකක් හරි දෙයක් කරගන්න ඕන නම් අපිට ඒක කරන විදිය මුලින්ම එයාට කියලා දෙන්න වෙනවා. මෙහෙම එයාට කියලා දෙන්න ලියන උපදෙස් (instructions) වල එකතුවට තමයි computer program එකක් කියලා කියන්නෙ.

ඇත්තටම computer එකට අපිට තේරෙන සිංහල, ඉංග්‍රීසි, දෙමළ වගේ භාෂාවන් තේරෙන්නෙ නැහැනේ.. ඒ වගේම computer එකට තේරෙන machine language එක අපිට තේරෙන්නෙත් නැහැනේ.. ඉතින් ඔන්න ප්‍රශ්නයක් මතු වෙනවා දැන් අපි කොහොමද එයාට එ් කරන විදිය කියලා දෙන්නෙ කියලා. අන්න ඒ ප්‍රශ්නෙට විසඳුමක් විදියට තමයි programming languages හදලා තියෙන්නෙ. මේ programming languages හදලා තියෙන්නෙ අපිට තේරෙන භාෂාවට (English) ගොඩක් සමීප වෙන විදියට නිසා අපිට මේවා ඉගෙන ගන්න එච්චර අමාරු වෙන්නෙත් නෑ.. දැන් මේ programming language එක computer එක සහ අපි අතර අතරමැදියෙක් විදියට ඉඳගෙන අපිට computer program එකක් ලියන්න අවස්ථාව හදලා දෙනවා.

ඉතින් දැන් කෙනෙක්ට හිතෙන්න පුළුවන් computer එකට තේරෙන්නෙ machine language එක විතරක් නම් මෙහෙම අපි programming language එකක් use කරලා ලියන program එක එයා කොහොමද තේරුම් ගන්නෙ කියලා. ඇත්තටම මෙහෙම හිතුනනම් ගොඩක් හොඳයි. (දැන් ඉතින් හිතුනෙ නැති අය එහෙම හිතුනෙ නැති එකට අවුල් ගහන්න එපා. එහෙම හිතෙන්න ඕනෙත් නෑ හොඳද) ඇත්තම කිව්වොත් programming languages වල compiler කියලා කෙනෙක් ඉන්නවා. මෙයා තමයි අපිට තේරෙන විදියට programming language එකක් use කරලා ලියන program එක computer එකට තේරෙන විදියට හරවලා දෙන්නෙ. ඉතින් ඒ කියන්නෙ programming language එකක තියෙන ප්‍රධානම දෙයක් තමයි compiler කියන්නෙ. මොකද අපිට තේරෙන භාෂාවෙන් ලියන program එක එයා computer එකට තේරෙන භාෂාවට හරවලා දෙන්නෙ නැතිනම් අපිට program එකක් ලියන්න බැරි වෙනවානෙ..



දැන් කට්ටියට program එකක් කියන්නෙ මොකක්ද compiler කියන්නෙ මොකක්ද programming language එකකින් මොකක්ද කරන්නෙ කියලා idea එකක් තියෙන නිසා අපි කෙලින්ම වැඩේට බහිමු. මුලින්ම අපි බලමු C වලින් program එකක් ලියන කොට අනිවාර්යෙන්ම ලියවෙන්න ඕන දේවල් මොනවාද කියලා. ඒ කියන්නේ ඕනෑම C program එකක් ලියද්දි අනිවාර්යෙන්ම තියෙන්න ඕනෙ මොනවද කියලා බලමු.

ඊට කලින් Code Blocks IDE එක use කරලා program එකක් ලියන්න background එක හදා ගන්න ඕන. එ්කට කරන්න තියෙන්නෙ යටින් දාලා තියෙන රූපෙ විදියට file මෙනු එකේ new කියන එකට ගිහින් empty file කියන එක click කරලා අළුතින් file එකක් ආවම ctrl + s press කරලා එන window එකේ කැමති නමක් අවසානයට ".c" කියලා දාලා save කර ගන්න එක විතරයි. උදාහරණයක් විදියට මම නම විදියට firstProgram කියලා දාලා save කරනවනම් එ්ක එන්න ඕනෙ firstProgram.c කියලා.



දැන් අපිට මේ file එකේ අපේ C program එක ලියන්න පුළුවන්. එහෙම C program එකක් ලියද්දි හැම එකකම ලියවෙන්නෙ එකම විදියට.. ඉතින් අපි මුලින්ම අන්න ඒ ආකෘතිය කොහොමද කියලා බලමු.



උඩ රූපෙ පේන විදියට මුලින්ම #include කියලා ගහන්නම ඕනෙ. මේවායේ තේරුම් දැන්ම ඕනෙ නෑ. මතක තියාගන්න C program එකක් ගහන්න කලින් මේක අනිවාර්යෙන්ම ලියවෙන්න ඕනෙ කියලා. ඒ වගේම මෙතන තියෙන්නෙ studio.h නෙවෙයි එ්කෙ u අයින් කරලා stdio.h කියලත් අමතක කරන්න එපා. ඊට පස්සෙ main() කියලා ලියන්න ඕන. program එක ලියවෙන්නේ මෙන්න මේ main() කියන function එක ඇතුලෙ. මතක තියා ගන්න ගොඩක් programming languages වල මොකක් හරි දෙයක් යටතේ codings තියෙනවා නම් එ්වා  { }  (curly braces) ඇතුලෙ තමයි ලියන්නෙ. දැන් අපි කලින් කිව්වා වගේ main() කියන එක යටතේ අනෙක් codings ලියන නිසා තමයි main() කියලා ලියපු තැනින් { එකක් දාලා පටන් අරගෙන codes ඉවර වුනාට පස්සෙ } දාලා ඉවර ක‍රන්නෙ.

මේ C program structure එක හොඳට ඔලුවට ගන්න. ඒක වරදින්න දෙන්න එපා. අනිවාර්යෙන්ම මේ ටික ලියවුනේ නැතිනම් අපේ program එකේ error එකක් එනවා. දැන් මම කියලා දෙන්නම් අපිට ඕන දෙයක් කොහොමද program එකකදි print කරන්න දෙන්නෙ කියලා. ඒකට පහතින් පේන රූපෙ විදියට C වල function එකක් දීලා තියෙනවා printf() කියලා.

මේ printf() කියන එක අමුතුවෙන් මතක තියාගන්න ඕන වෙන්නෙ නෑ. මොකද අපිට print කරන්න ඕන වුනාම මේක දාන නිසා කොහොමත් print කියන එක අමතක වෙන්නෙ නෑ. ඊට අමතරව මේක function එකක් නිසා තමයි අගට f අකුරක් එන්නෙ.. ඔන්න එහෙනම් දැන් මේක කාටවත් අමතක වෙන්න බෑ හොඳද.. print කියන එක නිසා print කියන කොටසත් function කියන එක නිසා f අකුරත් ඇවිල්ලා තමයි printf කියන function එකට නම දීලා තියෙන්නෙ. ගොඩක් programming languages වල function එකක් හඳුනා ගන්න පුළුවන් ඒවායේ අගට () (වරහන්) දාලා තියෙන නිසා. ඒ කියන්නෙ function එකක අනිවාර්යෙන්ම () තියෙන නිසා දැන්නම් කාටවත් printf() කියන function එක අමුතුවෙන් කට පාඩම් කරගන්න ඕන වෙන එකක් නෑ කියලා හිතනවා. දැන් කාටහරි හිතෙන්න පුළුවන් අපිට ලියන්න ඕන දේ කොහෙද ලියන්නෙ කියලා. මේ printf() කියන function එකේ වරහන ඇතුලෙ " " (double quota) දාලා ඒක ඇතුලෙ තමයි අපිට print කරන්න ඕන දේ ලියන්න ඕන.. දැන් කට්ටියට පේනවා ඇති උඩ රූපෙ තියෙන program එකේ Hello World කියලා තමයි print වෙන්නෙ කියලා..

මේකෙදි මතක තියාගන්න අපි double quota (" ") ඇතුලෙ ලියන හැම දෙයක්ම ඒ විදියටම මෙයා print කරනවා. ඒ කියන්නෙ අපි space තිව්වොත් එයා ඒ space එකත් එහෙමම තියලා තමයි print කරන්නෙ. ඉතින් අපිට මෙන්න මේක නම් ගොඩක් වටිනවා. මොකද අපිට අවශ්‍ය දේවල් අවශ්‍ය විදියටම එහාට මෙහාට දාලා print කරන්න මේක ගොඩක් වටිනවා. ඊට අමතරව කියන්න ඕන වැදගත්ම දෙයක් තමයි අපිට අළුතින් line එකකට යන්න ඕන වුනොතින් කරන්න තියෙන්නේ අළුත් line එකට යන්න ඕන තැනදි \n කියලා type කරන එක විතරයි.




මේකෙදි Line one කියලා print වෙලා අළුත් line එකක Line Two කියලා print වෙන්න ඕන නිසා තමයි \n කියන එක Line one කියන එක ඉවර වුන තැනින් ලියලා තියෙන්නෙ..

ගොඩක් programming languages වල මොකක් හරි code line එකක් ඉවර වුනාට පස්සෙ ඒක ඉවර වුන තැනින් ; (semicolon) එකක් තියන්න ඕන. එහෙම නැතිනම් කොච්චර හොඳට program එකක් ලිව්වත් එක line එකක හරි semicolon දාලා නැතිනම් මුළු program එකම run වෙන්නෙ නෑ error එකක් එනවා. ඒකට හේතුව තමයි අපි ලියන මේ program එක computer එකට තේරෙන භාෂාවට හරවන compiler ට අපි මේ ලස්සනට enter කර කර space තිය තියා ලියන program එකේ ඔක්කොම space අයින් වෙලා එකම line එකක් වගේ තමයි එයාට පේන්නෙ.. ඉතින් එතකොට එයාට අළුත් code statement එකක් පටන් ගත්තා කියලා දැනගන්න බැරි නිසා එයාට කියලා තියෙන්නෙ අපි එකක් ඉවර වෙන තැනින් තමයි semicolon එක තියන්නෙ ඔයාට එහෙම semicolon එකක් අහු වෙනකන්ම එක statement එකක් විදියට ගන්න කියලා. දැන් අපි බලමුකො අපිට පේන විදියයි compiler ට code එක පේන විදියයි අතරෙ කොච්චර ලොකු වෙනසක් තියේද කියලා..

අපිට පේන විදිය   



compiler ට පේන විදිය



දැන් කට්ටියට පේනවා ඇති අපි එක semicolon එකක් අතෑරියොත් අහිංසක compiler කොච්චර අමාරුවක වැටෙනවද කියලා. ඒක නිසාම තමයි එක semicolon එකක් අතෑරුන ගමන් error එකක් එන්නෙත්. ඔන්න එහෙනම් අමතක කරන්න එපා මොකක් හරි statement එකක් ලියපු ගමන්ම අවසානයට semicolon එකක් මතක ඇතුවම දාන්න.

එහෙනම් අද දවසට මම වැඩේ නතර කරනවා. දැන් මට තේරෙන විදියට අවශ්‍ය මූලිකම ටික හිතන විදිය කියලා දුන්න නිසා ඊළඟ කොටසෙ ඉඳන් මීට වඩා ඉක්මනට අපිට කරන්න පුළුවන් වෙයි. මතක තියාගන්න programming කට පාඩම් කරන්න එපා වෙන දේ තේරුම් අරගන්න. එතකොට ඔයාලට programming කියන එක ආස හිතෙන සරල දෙයක් වෙයි.. ඔයාලගෙ අදහස් මට කියන්න. නොතේරෙන දෙයක් තියෙනවනම් දෙපාරක් හිතන්නෙ නැතුව අහන්න. එහෙනම් ඉක්මනටම නැවත හමුවෙමු.

මට Code Blocks වල program එකක් ලියලා run කරන විදිය කියලා දෙන්න අමතක වුනානෙ.. හරිම සරලයි කරන්න තියෙන්නෙ program එක ලියලා යටින් දාලා තියෙන රූපෙ විදියට සලකුණ උඩ click කරන්න විතරයි. එතකොට program එක compile වෙලා run වෙනවා.



කට්ටිය පුරුදු වෙන්නත් එක්ක යටින් දාලා තියෙන රූපෙ විදියටම ඒ දේවල් print වෙන්න program එකක් තනියම ලියන්නකො එහෙනම්.....



මතුසම්බන්ධයි.







96 comments:

  1. සුප්පා මචං.මේකෙදි Function එකක් කියන්නේ ක්‍රියාවකට ද?
    උදා: main() කියන function එක ඇතුලෙ

    ReplyDelete
    Replies
    1. function එකක් කියන්නෙ බන් මොකක් හරි code set එකක් group කරලා තියා ගන්න දේකට කියලා idea එක තියාගත්තනම් හරි බන්.. මොකද ඇත්තටම අපිට functions ඕන වෙන්නෙ මොකක් හරි codes set එකක් වෙන් කරලා, group කරලා තියලා අවශ්‍ය වෙලාවට run කරවන්නනෙ..

      Delete
    2. තැන්ක්ස් මචෝ.

      Delete
  2. ඔබට ජයෙන් ජය!!!

    ReplyDelete
  3. අඩෝ මචන් උබේ site එක නම් මාර , මාර ,, මාරම සුපිරි ,, thanz මචං

    ReplyDelete
  4. එල මචන් ... දිගටම කරගෙන පලයන්.. සුපිරි වැඩක් ........

    ReplyDelete
  5. super digatama yamu

    ReplyDelete
  6. Machan oyata mewage pdf file ekak apita denna.....

    ReplyDelete
  7. ෆට්ටයි bro........ ;-)

    ReplyDelete
  8. උඹ නම් දෙයියෙක් බ්‍රෝ/ එල එල...

    ReplyDelete
  9. This comment has been removed by the author.

    ReplyDelete
  10. This comment has been removed by the author.

    ReplyDelete
  11. අපිට progamming හරහා කරගන්න පුලුවන් මොන වගේ දේවල් ද ?

    ReplyDelete
  12. අපිට මේ දවස් වල C programming කරන්නෙ. මේ ටිකනම් මාර වටිනව thanks ආ.....

    ReplyDelete
  13. kiyanna bari tharamata watinawa.pattai

    ReplyDelete
  14. This comment has been removed by the author.

    ReplyDelete
  15. නියමයි අයියා වීඩියෝ ටිකත් හොදයි මේ බ්ලොග් එකත් හොදයි

    ReplyDelete
  16. නියමයි අයියා එලම

    ReplyDelete
  17. ftt mcn plz nawathwannepa digatama karanna aiya ooyata godak pin..jayawewaa

    ReplyDelete
  18. elama...mewage wisthara karala dena clz ekakwath thiyenawada danne na.thanks.
    Issarahatath meka karagena yamu.jaya wewa.

    ReplyDelete
  19. pattama site ekak..best of luck bro...

    ReplyDelete
  20. Niyamai, keep it up

    ReplyDelete
  21. ඇත්තෙන්ම ගොඩක් හොද වැඩක්. .දිගටම කරගෙන යන්න අයියේ..ජය වේවා.

    ReplyDelete
  22. එල මචන් ... දිගටම කරගෙන පලයන්.. සුපිරි වැඩක් .......

    ReplyDelete
  23. #include

    int main ()
    {
    printf("Hello world");
    }


    mhmth liynna puluvn nee...

    ReplyDelete
  24. ඔයා නම් සුපිරි. මම හිතන්නේ ප්‍රෝග්‍රෑම් ලන්වේජ් එකක් ඉගන ගන්න ඕනි නියම පිළිවෙලට කියල දෙන්නේ ඔය.. පට්ටම පට්ට. දිගටම කරගෙන යන්න නවත්තන්න එපා... සුපිරි. ජය වේවා ..

    ReplyDelete
  25. wedenam supperb bro.maru. puluwannam oya dena exmpl eke output ekth exmple eka lgma danna.thwath apita therum ganna lesi.apita eka liyala harida kyala balagnnth lesi.tnkz ah,

    ReplyDelete
  26. oya supiriyatama wisthara karala denawa aiye onema kenekuta lesiyen therum ganna puluwan widihata...thnx

    ReplyDelete
  27. website ekai, youtube channel ekai digatama karagena yanna aiye...good luck!

    ReplyDelete
  28. supiri wedak aiye...digatama karagena yanna kohomahari...thawa oya danna dewal puluwannan web site eke hari youtube eke hari danna...good luck

    ReplyDelete
  29. supireeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

    ReplyDelete
  30. elama bro supiri digatama krn ynn ,thawa aluth dewal igena gnin good luck ...

    ReplyDelete
  31. Deyyek BN umba Nam MN ADA thamai planak Graham c program karanna gaththe use idan you tube video Bala Bala wede karanna heduwa okkoma karanne katapadam karawana eka mekahambune nethnam c atha erala campus ekath atha erala thamai nawathinne supiriyatama Mata ona widiyatama okkoma theruna jayama wewa

    ReplyDelete
  32. 1st progamming lesson eke link ekak dannako

    ReplyDelete
  33. මචන් මම ඔක්කොම බලන ගමන්.. වැඩේ සුපිරී.. ඒත් ඔයා අර compiler ට පේනදේ කියල කීව කථව තේරුනා.. ඒත් ඒ දාපු ss එක තේරුනේ නෑ..

    ReplyDelete
  34. Aiye void main() kyl function 1k tynone,ekd main() kyl dmme? ��

    ReplyDelete
  35. phone no danna puluwanna java gana danaganna

    ReplyDelete
  36. Void main() kiyana ekei main() kiyana ekei wenasa mokakda aiye?

    ReplyDelete
  37. godak pehediliwa thynw. digatama karagna ynn.good job..

    ReplyDelete
  38. thanks aye
    loku sewayak meka.oya pahedili karala thiyana widiyata godak therenawa

    ReplyDelete
  39. thank you aiye <3 oya dunnu podi exercises ekat kla. iye ptn gtte. lassanata liyala thynw.

    ReplyDelete
  40. onama kenekt therenn kiyla denwa.niyaMAI JAYAWEWA

    ReplyDelete
  41. This comment has been removed by the author.

    ReplyDelete
  42. 2023 නෙ බලන මම ;
    අවෘදු 7කට කලින් දාපු එකක් උනත් අදටත් වටිනව කි දෙනෙක් නම් ඉගන ගන්න ඇතිද බොහොම ස්තුතියි සහොදරයා ❤🤗

    ReplyDelete
  43. It's 2023. Thank u for sharing your knowledge.

    ReplyDelete
  44. 2023, තවමත් ප්‍රයොඅනවත්

    ReplyDelete
  45. සුපිරියක් තමා අයියේ. නියමෙට තේරෙනවා. ඔයාට ගොඩාක් පින් 😊😊❤️🥹

    ReplyDelete
  46. 💗💗💗😍

    ReplyDelete
  47. Superbbb & Thank You Soo much Aiye. Godak watinawa meka

    ReplyDelete
  48. kiyanna wachana na tnx you hodatama theruna niyamai wadi wadiyen oyata hariyanna one

    ReplyDelete

Contact Form

Name

Email *

Message *