C programmin in sinhala

C Programming In Sinhala | 04 | If/Else

හැමෝටම කලින් කරපුවා මතක ඇති කියලා මම හිතනවා, වැරදිලා හරි කෙනෙකුට කලින් කරපුවා බලාගන්න බැරිවුනා නම් මෙතනින් ගිහිල්ලා ඒ ටිකත් බලලම එන්නකො..

ඇත්තටම if/else කියන්නෙ අපිට මොකක් හරි තර්කයක සත්‍ය හෝ අසත්‍යභාවය අනුව යම් දෙයක් තීරණය කරන්න ඕන වුනොත් programming වලදි use කරන දෙයක්.. දැන් එහෙනම් අපි බලමු කොහොමද ඒක use කරන්නෙ කියලා..

C Programming In Sinhala | 04 | If/Else

උඩ රූපේ පෙන්නලා තියෙන විදියට if/else එකේදි කරන්න තියෙන්නෙ if කියලා ලියලා වරහන් ඇතුලෙ මොකක්ද තර්කය, condition එක කියලා දෙන එක. එතකොට ඒ condition එක check කරලා ඒක true වෙනවනම් වෙන්න ඕන දේවල් ටික if එක යටතේ ලියන්න ඕන. මම කලින් කිව්වා වගේ programming වලදි කිසියම් දෙයක් යටතේ code තියෙනවානම් ඒවා ලියන්නෙ curly braces ඇතුලෙ නිසා තමයි curly braces දාලා තියෙන්නෙ.. දැන් මෙහෙම වරහන් ඇතුලෙ දීලා තියෙන condition එක true නම් ඒ if එක යටතේ තියෙන code ටික run වෙන්න පටන් ගන්නවා..

වැරදිලා හරි වරහන් ඇතුලෙ තියෙන දේ false වුනොත් වෙන්න ඕන දේත් ලියන්න ඕන නිසා තමයි else කියලා part එකක් තියෙන්නේ else වලදි වෙන්නේ අර if එකේ වරහන ඇතුලෙ තියෙන දේ false නම් else එක යටතේ තියෙන code ටික run වෙන එක..

විශේෂයෙන්ම මතක තියාගන්න මේ if හරි else හරි දෙකම එක සැරේට run වෙන්නේ නෑ.. ඒ කියන්නෙ if එක යටතේ තියෙන දේවල් run වුනොත් else එක යටතේ තියෙන දේවල් run වෙන්නෙ නෑ, else එක යටතේ තියෙන දේවල් run වුනොත් if එක යටතේ තියෙන දේවල් run වෙන්නෙ නෑ.. කට්ටියට තේරෙනවානේ, run වෙන්නෙ මොකක්ද කියලා තීරණය කරන්නෙ වරහන ඇතුලෙ තියෙන condition එක..

ඒ වගේම අමතර දෙයක් විදියට මතක තියාගන්න if තිබුනා කියලා else තියෙන්න ඕනම නෑ හොඳද.. හැබැයි if එකක් නැතුව else එකක් තියෙන්න විදියක් නෑ. කට්ටියට තේරෙනවානේ condition එක තියෙන්නෙ if එකත් එක්ක තියෙන වරහනේනෙ එ්ක නිසා else තියෙන එක අනිවාර්ය නැති වුනාට if එක තියෙන එක අනිවාර්යයි..

දැන් කට්ටියට ප්‍රශ්නයක් එන්න පුළුවන් අපි මේ වරහන ඇතුලෙ ලියන්නෙ මොකක්ද කියලා.. අන්න ඒකට තමයි Programming in Sinhala (part 4) එකේ කියලා දුන්න relational operators ඕන වෙන්නෙ.. අපි දැන් උදාහරණයක් බලමු.. එතකොට මේ හැමදේම තේරෙයි..

C Programming In Sinhala | 04 | If/Else

මේ උදාහරණෙදි වෙන්නෙ if එකේ වරහන ඇතුලෙ තියෙන condition එක (5>10) මුළින්ම true ද false ද කියලා check කරලා බලන එක. එහෙම check කරාට පස්සෙ true නම් 5 greater than 10 කියලා print වෙනවා. ඇත්තටම මේකෙදි 5>10 කියන එක false නිසා මේකෙදි print වෙන්නෙ 10 greater than 5 කියලා. දැන් කට්ටියට තේරෙනවානේ.. දෙකම run වෙන්නෙ නෑ. condition එක අනුව true නම් if part එකත්, false නම් else part එකත් විදියට තමයි run වෙන්නෙ..

දැන්නම් තේරෙනවා කියලා හිතෙනවා හැබැයි තාමත් අපේ යාළුවෙක්ට තේරෙන්නෙ නැත්නම් තේරුම් ගන්න ඕන නිසා මම තව උදාහරණයක් දෙන්නම්.. හිතන්න අපි x කියලා ගන්න variable එකේ තියෙන value එකක් ඉරට්ටේ නම් EVEN කියලා print කරන්නයි ඔත්තේ නම් ODD කියලා print වෙන්නයි ඕන වුනා කියලා.. එහෙම උනොත් program එක ලියවෙන්නෙ මෙන්න මෙහෙමයි..

C Programming In Sinhala | 04 | If/Else

මෙතනදි වෙන්නේ මුලින්ම integer variable එකක් x කියන නමින් හදලා ඒක ඇතුළට 5 කියන value එක දානවා.. පස්සෙ if එක යටතේදි ඒ x ගේ ළඟ තියෙන value එක දෙකෙන් බෙදුවම ඉතිරිවෙන අගය 0 ට සමාන වෙනවද කියලා බලනවා.. ඒකට හේතුව තමයි ඉරට්ටේ කියන්නෙ එහෙම කිසියම් සංඛ්‍යාවක් 2න් ඉතිරි වෙන්නෙ නැතිව බෙදෙන සංඛ්‍යාෙ නිසා අපි මෙතනදි ඒකම තමයි බලන්නෙ..

කට්ටියට මතක ඇති C Programming In Sinhala | 04 | එකේදි අපි මෙතනදි පාවිච්චි කරලා තියෙන modulo operator එක ගැන කතා කරද්දි කිව්වා ඒකෙන් කරන්නෙ ඒ % ලකුණට දකුණෙන් තියෙන value එක වම් පැත්තෙන් තියෙන value එකෙන් බෙදලා ඉතිරි වෙන value එක ලබා දෙන එක කියලා කිව්වා.. දැන් මෙතනදි බලන්නෙ එහෙම බෙදුවම එන සංඛ්‍යාව 0 ට සමාන වෙනවාද කියලා බලන එක. ඒක එහෙම වෙනවනම් if එක ඇතුලෙ තියෙන එක run වෙලා EVEN කියලා print වෙනවා.. ඒත් මෙතනදි ඒක false වෙන නිසා මෙතනදි print වෙන්නෙ ODD කියලා..

මතකද කට්ටියට මම කිව්වා හොඳටම මතක තියාගන්න programming වලදි තනි සමාන ලකුණින් කරන්නෙ සමානද කියලා බලන එක නෙවෙයි assign කරන එක කියලා, එහෙම සමානද කියලා බලන්න ඕන නම් සමාන ලකුණු 2ක් දෙන්න ඕන කියලා. මෙතනදි තමයි ඕක ඕන වෙන්නෙ. අපේ සමහර අය මෙතනදි තනි සමාන ලකුණ දීලා 0 ට සමානද කියලා බලන්න හදනවා.. හිතලා බලන්න එහෙම තනි සමාන ලකුණ දුන්නම compiler මොකක්ද ගන්න තීරණය කියලා. ඒ දේ කරන්න පුළුවන්ද කියලත් බලන්න. අන්න ඒක නිසාම තමයි compiler එහෙම තනි සමාන ලකුණ දුන්න ගමන් මේ වගේ තැන් වලදි error එකක් ලබා දෙන්නෙත්..

එහෙනම් දැන්නම් කට්ටියටම if/else ගැන හොඳටම තේරුණා කියලා හිතනවා.. එහෙනම් ඉක්මනටම ඊළඟ කොටසින් හමු වෙමු කියලා මම සමුගන්නම්..

Leave a Reply

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