May 7, 2021

TechXlk

All About Technology

if statement (තේරීම් වර්ගයේ) හා loop (පුනර්කරන වර්ගයේ) ප්‍රකාශන|TechXlk C Tutorials – 06

if statement-loop tutorial 06 _techxlk_

අපි කලින් Article එකෙන් කිව්ව වගේම,අපිට  පටන්ගන්න තියෙන්නේ ගොඩක් වැදගත් වගේම ආස හිතෙන කොටසක්.අපි මේ කොටසෙන් ඉගෙනගන්න බලාපොරොත්තුවෙන කොටස් කීපයක් තියෙනවා ,අපි බලමු ඒ මොනවද කියල,

01-තේරීම් වර්ගයේ ප්‍රකාශන

02-පුනර්කරන වර්ගයේ ප්‍රකාශන,

අපි එහෙනම් මුලින්ම තේරීම් වර්ගයේ ප්‍රකාශන භාවිතා කරන විදිය ගැන ඉගෙනගනිමු.

තේරීම් වර්ගයේ ප්‍රකාශන. ( IF statement )

if satement එක භාවිතා කිරීමේ syntax එක.

if ("Expression that want to be check"){

//statement that execute if above expression is true

}

අපි දැන් බලමු කොහොමද මේ if statement එක ක්‍රියා කරන්නේ කියල.

මුලින්ම if කියන keyward එක ලියල වරහන් දෙක ඇතුලත අපිට පරික්ෂා කරන්න ඕනි වෙන ප්‍රකාශනය සටහන් කර ගන්න ඕනි.

ඊළගට සඟල වරහන් දෙක ඇතුලත ,ඉහතින් සටහන් කර ගත්ත ප්‍රකාශනය සත්‍යය වේ නම් සිදුවෙන්න ඕනි කරන දේ සටහන් කර ගන්න.මම පොඩි උදාහරණයක් දෙන්නම් මේ කිව්ව දේ පැහැදිලි කරගන්න

#include <stdio.h> 
int main(){
int num=10; 
if(num<20)
{
printf("number is less than 20");
}
return 0;
}

අපි මෙතනදි මුලින්ම int දත්ත වර්ගයට අයත් num කියන variable එකට 10 කියන අගය පවරලා දීල තියෙනවා.ඊළගට අපි num කියන අගය 20 ට වැඩ අඩුද කියල if statement එකක් දාල පරික්ෂා කරගැනීමක් තමයි කරලා තියෙන්නේ.ඇත්තටම මේ ප්‍රකාශනය සත්‍ය වෙන නිසා number is less than 20 කියල ප්‍රින්ට් වෙනවා.මෙහෙම ප්‍රකාශනය සත්‍ය වෙන්නේ නැති අවස්ථාවක ඊළගට තියෙන කේත ඛණ්ඩය ක්‍රියාත්මක වෙනවා.

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

#include <stdio.h> 
int main(){
int number;
printf("Enter a number: "); 
scant("%d",&number);
if (number >=0)
{
printf("you entered a positive number.\n”);
}
printf ("After if statement........");
return 0;
}

මේ programme එකේ හැටියට නම් අපි ධන අගයක් ආදානය කරාම you entered a positive number කියල ප්‍රින්ට් වෙනවා.ඊළගට After if statement කියලත් ප්‍රින්ට් වෙන්න ඕනි.අපි ධන අගයක් දුන්නම output එක මොනවගේද කියල බලමු.

ඒ වගේම 0 ට වඩා අඩු සංඛාවක් ලබාදුන් විට After if statement යන්න පමණක් ප්‍රතිදානය වෙනව.

if ….else statement එක භාවිතා කිරීමේ syntax එක.

if("expresion to test"){
//statement to be run if expresion is true;
}
else{
//statement to be run if expresion is false;
}

if…else ප්‍රකාශනය run වෙන්නේ මෙහෙමයි. කලින් කිව්ව විදියටම අපි දීල තියෙන කොන්දේසිය පරික්ෂා කරලා බලනවා.ඒ කොන්දේසිය සත්‍ය නම් if එක ඇතුලේ තියෙන statements ටික ක්‍රියාත්මක වෙනව,ඒ වගේම else එක ඇතුලේ තියෙන statement එක ක්‍රියාත්මක වෙන්නේ නෑ.

අපි දීල තියෙන  කොන්දේසිය අසත්‍ය වේ නම් ,if එක ඇතුලේ තියෙන statement ටික ක්‍රියාත්මක නොවී,else එක ඇතුලෙ තියෙන statement ටික ක්‍රියාත්මක වෙනව. 

අපි මේක උදාහරණයකින් පැහැදිලි කර ගනිමු.

උදාහරණ-

සිසුවෙකු ගණිත විෂයට ලබාගත් ලකුණු ආදානය කල විට ,එම ලකුණු 50 ට වැඩි නම් “good” ලෙසද ,එසේ නැතිනම් “Try Again” ලෙසද ප්‍රතිදානය කිරීමට වැඩසටහනක්,

#include <stdio.h>
int main(){
int marks;
printf("Enter marks for mathematics: ");
scanf("%d",&marks);
if(marks>=50){
printf("Good...;
}
else{
printf("Try again...");
}
return 0;
}

Nested if…else භාවිතා කරන ආකාරය.

if ("Expression 01"){
//statement 01
}
else if("Expression 02"){
//statement 02
}
else if("Expression 03"){
//statement 03
}

අපි මේ ක්‍රමයේදී කරන්නේ,එක කොන්දේසියක් සත්‍ය ද කියල බලන එක වෙනුවට ඒ වගේ කොන්දේසි කීපයක් පරික්ෂාවට ලක් කරල ප්‍රතිදානයක් ලබා ගන්න එකයි.අපි මේකත් උදහරනයකින්ම පැහැදිලි කර ගනිමු.

උදාහරණ-

සිසුවෙකුගේ ගණිත විෂයට ලබාගත් ලකුණු ආදානය කල විට ,එම ලකුණු ප්‍රමාණය අනුව ලබාගත් ශ්‍රේණිය ප්‍රතිදානය කිරීමට වැඩසටහනක්.

#include <stdio.h> 
int main(){
int marks;
printf("Enter marks for mathematics:"); 
scanf("%d",&marks);
if(marks>=75){
printf("You got A pass");
}
else if(marks>=65){
printf("You got B pass");
}
else if(marks>=55){
printf("You got C pass");
}
else if(marks>=35){
printf("You got S pass");
}
else{
printf("You are fail..");
}
return 0;
}

උදාහරණ-

දෙන ලද සංඛා දෙකකින් විශාලම සංඛාව සෙවීමට වැඩසටහනක්,

#include <stdio.h>
int main(){
int number1,number2;
printf("enter two numbers: ");
scanf("%d%d",&numberl,&number2);
if(numberl>=number2){
    if(numberl==number2){
        printf("Two numbers are same.");
    }
    else{
        printf("number 1 is bigger than number2.");
    }
}
else{
printf("number 2 is bigger than number 1");
}
return 0;
}

 අපි දැන් කතා කරේ බොහොම වැදගත් වගේම programme එකක් ලියද්දි නැතුවම බැරි දෙයක් ගැන .ඒක නිසා if statement එක භාවිත කරන විදිය ගැන හොද දැනුමක් අනිවාර්යයෙන්ම තියෙන්න ඕනි.

හරි එහෙනම් අපි මේ කොටසෙන් C හි භාවිතා වන loop වර්ග ගැන කතාකරමු.

C හි භාවිතා කරන loop (ලූප්) වර්ග.

C හි භාවිතා වන ප්‍රදාන loop වර්ග 3 ක් පවතී.

01-For loop

02-while loop

03-do…while loop

අපි එහෙනම් මුලින්ම For loop එක ගැන ඉගෙනගනිමු.

for loop.

for loop එක භාවිතා කිරීමේ syntax එක.

for(initialization;condition test;increment or decrement){
//statement to be execute
}

දැන් අපි බලමු කොහොමද මේ for loop එක වැඩ කරන්නේ කියල.

  • මුලින්ම මේ initialization statement එක වතාවක් run වෙනවා.එකෙන් කරන්නේ අපිට වෙනස් වෙන්න ඕනි කරන variable එක මොකක්ද කියල හදුනා ගන්න එක.
  • ඊළගට අපි දීල තියෙන condition එක පරික්ෂ කරනවා.condition එක true වෙලා තියෙනකන් loop එක run වෙනවා.
  • ඊට පස්සේ තියෙන increment or decrement කියන කොටසින් අපි දුන්න variable එකේ අගය වෙනස් කරනවා.

මේ ටික ,අපි අර දුන්න condition එක true වෙලා තියෙනකන් run වෙලා condition එක false උනාට පස්සේ loop වෙන එක නවතිනව.මෙහෙම තමයි for loop එක වැඩ කරන්නේ.තව පැහැදිලි වෙන්නත් එක්ක for loop එකේ කාර්ය සිදුවෙන ආකාරය flow chart එකකින් පෙන්වන්නම්.

හරි එහෙනම් අපි පොඩි උදාහරණ ටිකක් බලමු.

උදාහරණ 01-

1 සිට 20 ට යනතුරු ඉලක්කම් ප්‍රතිදානය කිරීමට වැඩසටහනක්,

#include <stdio.h>
int main(){
for (int i=l;i<=20;i++){ 
printf("%d \n",i);
}
return 0;
}

මෙතන වෙන්නේ මොකක්ද කියල පොඩ්ඩක් බලමු.

මුලින්ම අපි කරලා තියෙන්නේ int වර්ගයට අයත් i කියල variable එකක් සකස් කරගන්න එක,ඊළගට condition  එක දීල තියෙනව,මේකේ විදියටනම් i <=20 වෙලා තියෙනකන් loop එක run වෙනව,ඒ කියන්නේ condition එක true වෙලා තියෙනකන්.

ඊලගට ඔය i++ කියල තියෙන්නෙ i කියන variable එකේ මුලින් තිබුන අගයට එකක් එකතු කරන්න කියන එක .ඒක i=i+1 කියන එකම  ලියන්න පුළුවන් තව විදියක්.

ඔය ටිකෙන් පස්සේ තියෙන කොටස ,ඒ කියන්නේ for loop එකේ body එකේ තියෙන කොටස තමයි අපි අර උඩින් දුන්න condition එක true වෙලා තියෙනකන් run වෙන්නෙ.

for loop එකෙන් තව ගොඩක් උදාහරණ දෙන්න තියෙනවා ඒ ටික අපි පාඩම ඉවර වෙලා කරන ප්‍රශ්න ටිකෙදීම දෙන්නම්.අපි මේ Article එක දැනට ඉවර කරමු.අපිට තව කතාකරන්න loop වර්ග දෙකක් තියෙනවා.අපි ඊලග Article එකෙන් ඒ ටික කතාකරමු.