x=2;
for(n=4; x<=100;)
x=x*n;
For
цикл операторында құрама өрнектерді " , " операциясы арқылы
жазуға да болады, " , " операциясы – құрама өрнекті ұйымдастыру үшін
қолданылады. Осы операцияны қолданғанда, үтір арқылы бөлектенген
өрнектер сол жақтан оң жаққа қарай есептеледі. " , " операциясы цикл
операторының тиімді болуы үшін жиі пайдаланылады.
Күрделі циклдер
Кейбір есептерді шығару үшін бірінің ішінде бірі жатқан
күрделі
деп
аталатын қабаттаса орналасқан циклдерді пайдла- нуға тура келеді. Бұндай
программаларды құрғанда ішкі цикл толығымен сыртқы циклдің ішінде
орналасуы қажет. Ішкі циклдің
өзі де басқа ішкі циклдерді қамтуы мүмкін.
Күрделі циклдің құрылымын төмендегі мысалдан көруге болады.
for(x=1;x<=3;x++)
{ y=2;
while(y<=8)
{ z=(2*y+x)/log(x*y);
System.Out.println("%2d%4d%8.2f\n",x,y,z);
y+=2;
}
}
Циклды орындамас бұрын, тізімнің өрнектерінің тізімі есептеледі1. Бұл
нөл немесе үтірмен тізімделген бірнеше өрнектер. Олар солдан оңға қарай
есептеледі, ал келесі өрнекте алдыңғы өрнектің нәтижесін қолдануға болады.
Әдетте, мұнда бастапқы мәндер цикл айнымалыларымен беріледі. Содан
кейін логикалық өрнек есептеледі. Егер ол шын, шын болса, онда оператор
жұмыс істейді, содан кейін тізімнің өрнектері тізіміндегі өрнектер солдан
оңға қарай есептеледі2.
Содан кейін логВыр қайтадан тексеріледі. Егер бұл рас болса, онда
оператор орындалады және тізім2 және т.б. логВыр false-ге тең болғаннан
кейін цикл аяқталады. Қысқаша айтқанда, операторлар тізбегі орындалады
тізім1; while (логВыр){
тізімдік оператор2;
}
сонымен қатар, егер оператор циклде оператор болса
continue, содан кейін тізім2 әлі де орындалады.
Тізімнің орнына 1 бастапқы мәні бар айнымалының бір анықтамасы
болуы мүмкін. Мұндай айнымалылар тек осы цикл ішінде белгілі.
For операторының кез-келген бөлігі болмауы мүмкін: цикл бос болуы
мүмкін, тақырыптағы өрнектер де үтір нүктелері сақталған кезде. Сіз тіпті
шексіз циклды орната аласыз:
for (;;) оператор
Бұл жағдайда цикл денесінде одан шығудың қандай да бір түрін
қамтамасыз ету керек. For мәлімдемесінде үлкен мүмкіндіктер болса да, ол
көбінесе олардың саны белгілі болған кезде, мысалы, код үзіндісі үшін
қолданылады
int s = 0;
for (int k = 1; k <= N; k++) s += k * k;
// Мұнда k айнымалысы белгісіз
бірінші n натурал сандардың квадраттарының қосындысын есептейді.
Java тілінде массивтер мен коллекциялар элементтерін санау үшін
қолданылатын "for-each" деп аталатын оператордың тағы бір формасы бар.
Біз онымен осы тараудың массивтерге арналған бөлімінде танысамыз.
Достарыңызбен бөлісу: |