for மடக்கு
for மடக்கு ஓர் நுழைவு சோதிப்பு மடக்கு மற்றும் எளிய மடக்காகும். இது கூற்றுகளை மீண்டும் மீண்டும் இயக்கும். for மடக்கு மூன்று கூற்றுகளை கொண்டிருக்கும் அவை 1. தொடக்க மதிப்பிருத்தல் (Initialization), 2. சோதிப்பு நிபந்தனை அல்லது நிபந்தனை கோவை (Test - expression) மற்றும் 3. மிகுப்பு கோவைகள் (Update expressions). இவை அரைப்புள்ளியால் பிரிக்கப்பட்டிருக்க வேண்டும்.
தொடரியல் :
for (தொடக்க மதிப்பிருத்தல்; சோதிப்பு நிபந்தனை; மிகுப்பு கோவைகள்)
{
நிரல் கூற்று 1;
நிரல் கூற்று 2;
.............
}
நிரல் கூற்று -x;
தொடக்க மதிப்பிருத்தல் பகுதி, கட்டுப்பாட்டு மாறியை அறிவிக்க அல்லது மாறியின் மதிப்பிருத்த பயன்படுகிறது. இந்த பகுதி ஒரு முறை மட்டும் இயக்கப்படும். பின்னர் நிரல் பாய்வு, சோதிப்பு நிபந்தனை கோவைக்கு செல்லும். கட்டுப்பாட்டு கோவையின் நிபந்தனை சோதிக்கப்பட்டு, அதன் மதிப்பு தவறு என்று வந்தால் நிரல் கூற்று-x இயங்கும். மதிப்பு சரியென்று வந்தால் for மடக்கின் உடற்பகுதி இயக்கப்பட்டு, பின்னர் நிரல் பாய்வு மிகுப்பு கோவைக்கு அனுப்பி வைக்கப்படும். மிகுப்பு கோவை செயல்பட்ட பின்னர், மீண்டும் சோதிப்பு நிபந்தனை கோவைக்கு அனுப்பி வைக்கப்படும்.
for மடக்கு இயக்கும் முறை மற்றும் பாய்வு படம் 10.6 ல் விளக்கப்பட்டுள்ளது.
மேலே கொடுக்கப்பட்டுள்ள நிரலில், முதலில் கட்டுப்பாட்டு மாறி i க்கு தொடக்க மதிப்பிருத்தப்படும், பின்னர் i மாறியின் தொடக்க மதிப்பு 10 என்ற எண்ணுடன் ஒப்பிடப்படும். ஒப்பீட்டின் முடிவு சரி என இருந்தால், நிரல் கட்டுப்பாட்டு பாய்வு, இயக்கப்பட வேண்டிய நிரல் கூற்று cout<< "value of i : " <<i<<endl;
எடுத்துக்காட்டு 10.7: சுழியம் (0) முதல் ஒன்பது (9) வரை உள்ள எண்களை வெளியிட for மடக்கை பயன்படுத்தி நிரல் ஒன்று எழுதுக.
#include <iostream>
using namespace std;
int main ()
{
int i;
for(i = 0; i< 10; i ++ )
cout<< "value of i : " <<i<<endl;
return 0;
}
வெளியீடு
value of i : 0
value of i : 1
value of i : 2
value of i : 3
value of i : 4
value of i : 5
value of i : 6
value of i : 7
value of i : 8
value of i : 9
மேலே கொடுக்கப்பட்டுள்ள நிரலில் for மடக்கு இயங்கும் முறை கீழே கொடுக்கப்பட்டுள்ளது.
மேலே கொடுக்கப்பட்டுள்ள நிரலில், முதலில் கட்டுப்பாட்டு மாறி i க்கு தொடக்க மதிப்பிருத்தப்படும், பின்னர் மாறியின் தொடக்க மதிப்பு 10 என்ற எண்ணுடன் ஒப்பிடப்படும். ஒப்பீட்டின் முடிவு சரி என இருந்தால், நிரல் கட்டுப்பாட்டு பாய்வு, இயக்கப்பட வேண்டிய நிரல் கூற்று cout<< "value of i : " <<i<<endl;
என்பதை இயக்கும். பின்னர், நிரல் கட்டுப்பாட்டு பாய்வு for மடக்கின் மிகுப்பு கோவைக்கு செல்லும். அங்கு ன் மதிப்பு மிகுக்கப்படும். இதைப்போல 0 முதல் 9 வரை மடக்கு இயக்கப்பட்டு எண்கள் வெளியிடப்படும். நிபந்தனை சோதிப்பு தவறாகும்போது, கட்டுப்பாட்டு பாய்வு மடக்கை விட்டு வெளியேறும்.
எடுத்துக்காட்டு 10.8 for மடக்கை கொண்டு 1 முதல் 10 வரை உள்ள எண்களின் தொடர் கூட்டலை வெளியிடும் நிரல் எழுதுக.
#include <iostream>
using namespace std;
int main ()
{
int i,sum=0;
for(i=1; i<=10;i++)
{
sum=sum+i;
}
cout<<"The sum of 1 to 10 is "<<sum;
return 0;
}
வெளியீடு
The sum of 1 to 10 is 55
for மடக்கின் மாறுபட்ட வடிவங்கள்
for கூற்று C++ மொழியில் ஓர் முக்கிய மடக்கு கூற்றாகும். ஏனெனில், இதனை வேறுபட்ட பல வடிவங்களில் பயன்படுத்தலாம். இவ்வகை வடிவங்கள் நெகிழ்வு மற்றும் பொருந்தும் தன்மையை மடக்கிற்கு வழங்குகிறது. for மடக்கின் பல்வேறு வடிவங்கள் கீழே கொடுக்கப்பட்டுள்ளது.
ஒன்றுக்கும் மேற்பட்ட தொடக்க மதிப்பு மற்றும் மிகுப்புகள்:
for மடக்கில் தொடக்க மதிப்பிருத்த மற்றும் மிகுப்பு கோவையை அறிவிக்க ஒன்றுக்கும் மேற்பட்ட கூற்றுகளை பயன்படுத்தலாம். தொடக்க மதிப்பிருத்தல் மற்றும் மிகுப்பு கோவைகளை ஒன்றுக்கும் மேற்பட்ட கூற்றுகளைக் கொண்டு நிறைவேற்றும் போது அவை காற்புள்ளியில் (,) பிரிக்கப்பட்டிருக்க வேண்டும். எடுத்துக்காட்டு :
வெளியீடு
The value of i is 0 The value of j is 10
The value of i is 1 The value of j is 9
The value of i is 2 The value of j is 8
The value of i is 3 The value of j is 7
The value of i is 4 The value of j is 6
மேலே கொடுக்கப்பட்டுள்ள எடுத்துக்காட்டில் தொடக்க மதிப்பிருத்தலின், i மற்றும் j என்ற இரு வேறு மாறிகள் பயன்படுத்தப்பட்டுள்ளது. அதே போன்று, i++ மற்றும் j++ என்ற இரண்டு மிகுப்புக் கோவைகளை கொண்டுள்ளது. இவ்விரு மாறிகளும் காற்புள்ளியால் பிரிக்கப்பட்டு வரிசை முறையில் வைக்கப்பட்டுள்ளது. அதாவது தொடக்க மதிப்பு இருக்கும் போது i ன் மதிப்பு 0 எனவும் j ன் மதிப்பு 10 எனவும் கருதப்படுகிறது. மிகுப்பு கோவை i++ முதலில் மிகுக்கப்படும், பின்னர் j-- மிகுக்கப்படும்.
பின்னொட்டு மற்றும் முன்னொட்டு செயற்குறிகள்:
பொதுவாக மிகுப்பு கோவை, மிகுப்பு (++) மற்றும் குறைப்பு (--) செயற்குறியை கொண்டிருக்கும். மிகுப்பு கோவை தனியாக பயன்படுத்தப்படும் போது முன்னொட்டு மிகுப்பு அல்லது குறைப்பு செயற்குறியை விட பின்னொட்டை அதிகம் பொருத்தமானதாக அமையும். முன்னொட்டு செயற்குறி, பின்னொட்டு செயற்குறியை விட விரைவாக இயக்கப்படுவது இம்முறையை விரும்பக் காரணம் ஆகும்.
விருப்ப கோவைகள் (Optional expressions)
பொதுவாக, for மடக்கில் மூன்று பகுதிகள் உள்ளது, அவை தொடக்க மதிப்பு, நிபந்தனை கோவைகள் மற்றும் மிகுப்பு கோவை. இந்த மூன்று கோவைகளும், ஓர் மடக்கில் விருப்பகோவைகளாக பயன்படுத்தப்படலாம்.
எடுத்துக்காட்டு 10.9 1 முதல் 10 வரையான எண்களின் கூட்டுத்தொகையை காணும் C++ நிரல்
#include <iostream>
using namespace std;
int main ()
{
int i, sum=0, n;
cout<<"\n Enter The value of n";
cin>>n;
i =1;
for ( ; i<=10;i++)
{
sum += i;
}
cout<<"\n The sum of 1 to " <<n<<"is "<<sum;
return 0;
}
வெளியீடு
Enter the value of n 5
The sum of 1 to 5 is 15
மேலே கொடுக்கப்பட்டுள்ள நிரலில், தொடக்க மதிப்பிருத்தம் மற்றும் மிகுப்பு கோவை தரப்படவில்லை. ஆனால், இரண்டு பகுதிகளையும் குறிக்க அரைப்புள்ளி மட்டும் பயன்படுத்தப்பட்டுள்ளது.
ஒன்று அல்லது இரண்டு கோவைகள் கொடுக்கப்படாதபோது, நிரல் பாய்வுக் கட்டுப்பாடு சோதிப்பு நிபந்தனைக்கு அனுப்பி வைக்கப்படும்.
சூழல் - 3
for மடக்கில் நிபந்தனை சோதிப்பு கோவை கொடுக்கப்படாத போது மடக்கு முடிவற்றதாக இயக்கப்படும்.
வெற்று மடக்கு (Empty loop)
ஒரு மடக்கில் எந்த கூற்றும் இடம்பெறவில்லை என்றால் அது வெற்று மடக்கு எனப்படும்: பின்வரும் மடக்கு ஒரு வெற்று மடக்கு ஆகும்.
மேலே கொடுக்கப்பட்டுள்ள மடக்கு வெற்றுக் கூற்றைகொண்டுள்ளதால், இது ஒரு காலி மடக்கு எனப்படும்.
மேலே கொடுக்கப்பட்டுள்ள நிரலில் for மடக்கின் இறுதியில் அரைப்புள்ளி இடம்பெற்றுள்ளதால், நெளிவு அடைப்புக்குறியில் இடம்பெற்றுள்ள மடக்கின் உடற்பகுதி இயக்கப்படாது.
for மடக்கில் மாறி அறிவிப்பு (Declaration of variable in a for loop)
C++ மொழியில், மாறிகள் for மடக்குக்கு உள்ளும் அறிவிக்கப்படலாம். எடுத்துக்காட்டு,
குறிப்பு
main() உள்ளே எதாவது ஒரு தொகுதிக்குள் அறிவிக்கப்படும் மாறிகள், main() தொகுதிக்குள் எங்கு வேண்டுமென்றாலும் அணுகலாம்.