Күрделі циклдер. Егер бір цикл тұлғасында басқа циклдік құрылым бар болса, онда олар қабатталған циклдер деп аталады. Құрамына басқа цикл кіретін цикл сыртқы болып саналады да, сыртқы цикл тұлғасына кіретін цикл ішкі болып есептеледі.
Көптеген есептерді шығару үшін бірінің ішіне бірі қабаттасқан осындай күрделі циклдерді пайдалануға тура келеді. Мұндай программаларда ішкі цикл толығымен сыртқы циклдің ішінде орналасуы қажет. Ішкі цикл құрамында басқа да ішкі циклдер болуы мүмкін.
Күрделі циклдер қарапайым while, repeat, for циклдері сияқты құрыла береді, бірақ қабатталған циклдер құру кезінде мына ережені есте ұстау қажет: ішкі циклдің барлық операторлары сыртқы циклдің ішінде орналасуы тиіс. Күрделі циклдің құрылымын төмендегі көбейту кестесін жасау мысалынан көруге болады. Бұл мысалда for операторы пайдаланылады да, 2-ден 9-ға дейінгі көбейту кестесі бір бағанаға шығарылады.
Program kobejtu_kestesil;
var i, j : byte;
begin
for i := 2 to 9 do
begin
for і:= 1 to 10 do
writeln (i,’x’,j,’=’, i*j);
writeln
end
end.
Пунктуациялық ережелер Операторларды жазу кезінде жазу ережесі сақталуы тиіс:
l.Uses, label, type, const, var түйінді сөздерінен кейін нүктелі үтір қойылмайды, ол сол сөздерден кейінгі сипаттау символдары өткен соң қойылады.
Нүктелі үтір таңбасы beginсөзінен кейін және end сөзінің алдында қойылмайды, өйткені бұл сөздер оператор емес, тек операторлық жақшалар болып саналады.
Нүктелі үтір таңбасы операторларды бір-бірінен ажырату үшін қажет, ол оператордан соң қойылмаса, компилятор қате деп санайды.
Цикл операторларында while, repeat, do түйінді сөздерінен кейін және until сөзінің алдында нүктелі үтір қойылмайды.
Шартты операторларда thenсөзі мен else сөзінің алды, артына нүктелі үтір қойылмайды.