сontinue оператори
continue оператори худди break операторидек такрорлаш оператори танасини бажаришни тўхтатади, лекин программани қурилмадан чиқиб кетмасдан такрорлашнинг кейинги қадамига “сакраб” ўтишини тайинлайди.
continue операторини қўлланишига мисол тариқасида 2 ва 50 оралиғидаги туб сонларни топадиган программа матнини келтирамиз.
#include
int main()
{
bool Bulinadi=false;
for (int i=2; i<50; i++)
{
for (int j=2; j{
if (i%j) continue;
else
{
bulinadi=true;
break;
}
}
if (!bulinadi) cout <bulinadi=false;
}
return 0;
}
Программада қўйилган масала ичма–ич жойлашган иккита такрорлаш операторлари ёрдамида ечилган. Биринчи такрорлаш оператори 2 дан 50 гача сонларни ҳосил қилишга хизмат қилади. Ички такрорлаш эса ҳар ҳосил қилинаётган сонни 2 дан шу соннинг ўзигача бўлган сонларга бўлиб, қолдиғини текширади, агар қолдиқ 0 сонидан фарқли бўлса, навбатдаги сонга бўлиш давом этади, акс ҳолда bulinadi ўзгарувчисига true қиймат бериб, ички такрорлашни узади (сон 2 дан ўзигача бўлган қандайдир сонга бўлинар экан, демак у туб эмас ва кейинги сонларга бўлиб текширишга ҳожат йўқ). Ички такрорлашдан чиққандан кейин bulinadi қиймати false бўлса (!bulinadi), сон туб бўлади ва у чоп қилинади.
goto оператори ва нишонлар
Нишон – бу давомида иккита нуқта (‘:’) қўйилган идентификатор. Нишон билан қандайдир оператор белгиланади ва кейинчалик, программанинг бошқа бир қномидан унга шартсиз ўтиш амалга оширилади. Нишонга шартсиз ўтиш goto оператори ёрдамида бажарилади. goto оператори орқали фақат унинг ўзи жойлашган функция ичидаги операторларга ўтиш мумкин.
goto операторининг синтаксиси қуйидагича:
goto <нишон>;
Шартсиз ўтиш оператори – программани бажаришда кучли ва хавфли воситалардан ҳисобланади. Кучлилиги шундаки, унинг ёрдамида алгоритмнинг “боши берк” жойларидан “чиқиб” кетиш мумкин. Иккинчи томондан, блокларнинг ичига ўтиш, такрорлаш операторларини ичига “сакраб” кириш кутилмаган ҳолатларни юзага келтириши мумкин.
Қуйидаги мисолда нишон ёрдамида такрорлашни амалга ошириш кўрсатилган.
#include
int main()
{
int a,b;
cout<<” Ikkita A va B natural sonlarning EKUB topish programmasi\n”;
cout<<”A va B natural sonlarni kiriting: ”
cin >>a>>b;
nishon: if (a==b)
{cout <<”Bu sonlar EKUB = ”<return 0; }
if (a>b) a-=b; else b-=a;
goto nishon;
}
Программа иккита натурал сонларнинг энг катта умумий бўлувчиси (ЭКУБ) Эвклид алгоритми билан топиш масаласини ечади. Нишон билан белгиланган операторда a ва b сонларни тенглиги текширилади. Агар улар тенг бўлса, ихтиёрий биттаси, масалан a ЭКУБ бўлади ва функциядан чиқилади. Акс ҳолда бу сонларнинг каттасидан кичиги айрилади ва goto орқали яна уларнинг тенглигини текширилади.Такрорлаш жараёни a ва b сонлар ўзаро тенг бўлиб қолгунча давом этади.
Do'stlaringiz bilan baham: |