Pages

Sunday, June 29, 2014

Programming in Sinhala (part 6)


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


හිතටත් ටිකක් fit වගේ නිසා ඔන්න අද අපේ කුප්පියට අළුත් කොටසක් එකතු කරන්න කියල තමයි ආවේ.. දැන් ඉතින් basic ටිකයි flow-chart ගැනයි variable ගැනයි operators ගැනයි if-else ගැනයි දන්න නිසා අද කියලා දෙන්න හදන්නේ switch එක ගැන.. ගොඩක් අය ටිකක් විතර පටලවාගන්න තැනක්නේ මේ switch එක කියන්නේ.. ඔන්න එහෙනම් අද ඒ පටලැවිලි ලිහාගන්නවා කියලා හිතාගෙනම වැඩේ පටන් ගමුකෝ..

Switch Statement

කිසියම් variable එකක තියෙන value එක අනුව එකකට එකක් වෙනස් යම් දෙයක් කරන්න ඕන වුනොත් අපිට if-else එකේ ඒ හැම value එකටම if ලිය ලියා ඉන්න ගියාම code එකත් ලොකු වෙනවා තේරුම් ගන්නත් අමාරු වෙනවානේ.. අන්න ඒකට විසඳුමක් දෙන්න තමයි මේ switch එක හදලා තියෙන්නේ.. ඒ කියන්නේ switch එකෙන් අපිට පුළුවන් variable එකකට run time එන value එක අනුව වෙනස් වෙනස් දේවල් වෙන්න කියලා සරලව code ටික ලියාගන්න.. මෙහෙම switch එකේ එක value එකකට අදාළව දෙයක් වෙන එකට අපි කියනවා case එකක් කියලා.. දැන් අපි බලමු කොහොමද switch එකෙන් එහෙම code එක ලියන්නේ කියලා..



උඩ රූපෙ පෙන්නලා තියෙන විදියට switch එකේදි කරන්න තියෙන්නේ switch කියලා ලියලා වරහන ඇතුලේ switch එක විදියට use කරන්න ඕන variable එකේ නම ලියන එක. (variable එක කලින් හදලා තියෙන්න ඕනෙ..) ඊට පස්සේ ඒ switch එකක් විදියට use කරන variable එකේ අපිට දෙයක් වෙන්න ඕන values වලට අදාළව cases ලියන්න ඕනෙ.. 

එහෙම case එකක් ලියද්දි case කියලා ලියලා ඊට ඉස්සරහින් ඒ අදාළ value එක ලියලා colan ( : ) එකක් තියලා ඒක ඉස්සරහින් ඒ value එක ආවොත් වෙන්න ඕන statement එක හෝ කිහිපය ලියන එක තමයි තියෙන්නෙ..

විශේෂයෙන්ම මතක තියාගන්න මේ switch එකට use කරන්න පුළුවන් integer type එකේ variable ලුයි, char variable ලුයි විතරයි.. වෙන data type එකක් මේ switch statement එකත් එක්ක use කරන්න බෑ කියලා හොඳටම ඔලුවට දාගන්න.. ඒ වගේම case එකත් එක්ක use කරන value එකත් switch එකේ use කරපු variable එකේ data type එකේම value එකක් වෙන්න ඕනෙ..


default 

දැන් කෙනෙක්ට ප්‍රශ්නයක් එන්න පුළුවන් මෙහෙම අපි variable එකේ values එකින් එකට වෙන්න ඕන දෙයක් ලබා දුන්නත් අපි එහෙම දෙන value එකක් නැතුව වෙන value එකක් ආවොතින් මොකද වෙන්නෙ කියලා.. ඇත්තටම අපිට එහෙම එන්න පුළුවන් හැම value එකම දෙන්න බැරි නිසා අපි අවශ්‍යම වෙන values ටිකට අදාළව case ලියලා ඒවා ඇරෙන්න වෙන ඕනම value එකක් ආවොත් වෙන්න ඕන දේ ලියන්නේ default කියලා ලියලා.. මේ default එක use කරද්දි වෙන එකම වෙනස කලින් case කියලා ලියලා value එක ලියන එක වෙනුවට මෙහෙම default කියලා ලියන එක විතරයි.. ඊට පස්සෙ සාමාන්‍ය විදියටම colan ( : ) එකක් තියලා වෙන්න ඕන දේ (statement එක) ලියන්න තියෙන්නේ..





break

දැන් කට්ටිය මෙහෙම cases ලියලා values වලට අදාළව වෙන වෙනම දේවල් දුන්නම ඒ value එක ආවොත් ඒකට අදාළම ටික විතරයි run වෙන්නෙ කියලා හිතාගෙන හිටියට එහෙම වෙන්නේ නෑ.. කිසියම් value එකකට අදාළව case එකක් true වුනොත් එතනින් පහළ ලියලා තියෙන හැම statement එකක්ම run වෙන්න පටන් ගන්නවා.. දැන් කටිටියට හිතෙයි එහෙනම් මෙච්චර වෙලා මොන මගුලක්ද මේ කිව්වෙ කියලා නේද? ඇත්තටම ටිකක් හිතලා බලන්නකෝ අපි switch එකක් on කළාම එතනින් එහාට ඒක දිගටම වැඩ කරනවා නේද.. මෙතනදිත් වෙන්නේ ඒකම තමයි කිසියම් value එකකට අදාළව switch එක on වුනොත් එතනින් පල්ලෙහා තියෙන හැම statement එකක්ම run වෙනවා.. 

එහෙනම් දැන් කෙනෙක් අහන්න පුළුවන් අපිට ඕන විදියට අවශ්‍ය දේම විතරක් වැඩ කරවලා ආපහු switch එක off කරන්නෙ කොහොමද කියලා.. අන්න ඒකට තමයි break කියන keyword එක දීලා තියෙන්නේ.. අපිට කරන්න තියෙන්නේ එහෙම අවශ්‍ය දේවල් run වුනාට පස්සෙ switch එක off වෙන්න ඕන තැනින් break කියලා දීලා semicolon (;) එක දෙන එක විතරයි.. ඔන්න එහෙනම් ඒක අමතක කරන්න එපා..




දැන්නම් switch එක ගැන තේරෙනවා කියලා හිතෙනවා.. එහෙමත් කෙනෙක්ට තේරෙන්නෙ නැත්නම් මේ උදාහරණෙ බලමුකො..

අපි age කියලා integer variable එකක තියෙන value එක අනුව වයස print කරන්න program එකක් ලියලා බලමු..



රූපේ පෙන්නලා තියෙන විදියට මුලින්ම age කියන integer variable එක හදලා ඒකට 4 කියන value එක දාලා තියෙනවා. ඊට පස්සෙ ඒ age කියන integer variable එක switch එක විදියට set කරලා තියෙනවා.. දැන් age කියන එකේ value එක 1 වුනොත් වෙන්න ඕන දේ ලියන්න case 1 : කියලා ලියලා තියෙනවා.. ඊට පස්සේ ඒක true වුනොත්, ඒ කියන්නේ age කියන එකේ value එක 1 නම් වෙන්න ඕන දේ ලියලා switch එක off කරන්න ඕන නිසා break; කියන statement එක දීලා තියෙනවා..

ඒ විදියටම age කියන එකේ value එක 2 වුනොත් වෙන්න ඕන දේයි, 3 වුනොත් වෙන්න ඕන දේයි, 4 වුනොත් වෙන්න ඕන දේයි ලියලා තියෙනවා.. ඊට අමතරව මේ age කියන එකේ value එක 1 වත් 2 වත් 3 වත් 4 වත් නෙවෙයි නම් වෙන්න ඕන දේ default: එක යටතේ ලියලා තියෙනවා.. curly braces දාලා මේ case ටික group කරලා තියෙන්නේ ඒ ඔක්කොම switch statement එක යටතේ තියෙන නිසා..

දැන්නම් ඕන කෙනෙක්ට තේරෙනවා කියලා හිතෙනවා.. වැරදිලා හරි කෙනෙක්ට තේරෙන්නෙ නැත්නම් comment එකක් දාලා හරි message එකක් දාලා හරි අහන්නකෝ.. එහෙනම් තව කොටසක් එක්ක ඉක්මනටම හමු වෙන බලාපොරොත්තුවෙන් මම සමුගන්නම්...

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

27 comments:

  1. thanks :) aththtma maara helpful

    ReplyDelete
  2. ela..mara uduwak meka digatama cs ewa krnna..math bcs krnne.ape ruhunu batch eke gdk aya meka dn follow krnwa

    ReplyDelete
    Replies
    1. Thank you macho.. kattiya wadipura use karanna karanna mata welawa kohoma hari hadagena tawa karanna hithenawa.. patta satutui.. :-)

      Delete
  3. tnx bro...therenne nthi dewal igana gththa gdk.thawa me swicth case eka example wlin pehedili krnm hodai.meka therenw adui.

    ReplyDelete
  4. කැම්පස් එකේදි අපිට තියෙන්නෙ C++ ඒත් අපේ මැඩම් කිව්වා මැඩම් ඒකට කැමති නැහැ හරි නම් අපිට තියෙන්න තිබුනෙ C කියලා. C දන්නවා නම් අනිත්වා නතිං කියලා යාලුවෙකුත් කියනවා ඇහුනා. ඉතින් මම හිතුවා C ඉගෙන ගන්න තනියම. නෙට් එකේ සර්ච් කරද්දි මේ බ්ලොග් එක හම්බ වුනා.. ඇත්තටම නියමයි. හොදට තේරෙන්න කියලා දීලා තියෙනවා. ගොඩාක් ස්තූතියි. අපිට දැන් C++ උගන්නන්න පටන් අරන් තියෙන්නෙ. ඉතින් මම ඊට සමාන්තරව අයියගෙ මේ බ්ලොග් එකෙන් C ත් ඉගෙන ගෙන යනවා. ස්තූතියි කියනවා ආයෙමත්.

    ReplyDelete
  5. Suprb brooo. Pattai. Best of luck & thanks a lot.

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

    ReplyDelete
  7. thanks,nice explanation

    ReplyDelete
  8. Mekanam maarama watina blog ekak. Oyage OOP videos tikat okkoma mama baluwa. Supiriyatama terenawa hama deyakma saralama pahadiliwa oya kiyala denawa. Oya lecture karanna part time machan. Thanks a lot.

    ReplyDelete
  9. Aththatama tnx ayye! Schole ICT Mrs ugannana kisi dheyak therenna. Eth methana hodatama kiyala denawa

    ReplyDelete
  10. apita case ekk athule statement gdk liyanna brida?? e kiyanne eka case ekakt print statement 2k dala break kranna plwnda??

    ReplyDelete
    Replies
    1. ow puluwan. hodama de meka kiyawana gaman mewa practical karala balanna IDE ekak dagena.. jaya wewa

      Delete
  11. good job.....
    digatama refer karanawa...
    nawattann epa mee wade....

    ReplyDelete
  12. thank you very much!!!!

    ReplyDelete
  13. Thank you so much

    ReplyDelete

Contact Form

Name

Email *

Message *