Цикльдік бағдарламаны ұйымдастыру


Пән: Автоматтандыру, Техника
Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 21 бет
Таңдаулыға:   

Цикльдік бағдарламаны ұйымдастыру

Цикл - нұсқауларды жиынның бiрнеше рет орындауын ұйым үшiн қолайлы жоғары деңгейлi программалау тiлдерiндегi бағдарлаушы конструкциясының бiр түрi. Мысалы, нұсқауларды шартты өту көмегiмен кез келген әдiс ұйымдастырылған кез келген дүркiн-дүркiн атқарылатын тiзбек деп аталуға тiптi циклдi де алды дайды.

Анықтаулар

Нұсқауларды бiрнеше рет орындау үшiн қолайлы тiзбек циклда денемен деп аталады. Циклданың денесiнiң жеке орындауы итерациямен деп аталады. Өрнек анықтайтын, итерация, немесе цикл орындала шығу шарты немесе (немесе жалғасының шартымен оның циклданың аяқтауды қажеттiлiк немесе жалғасының белгiсi ) ретiнде шындығын түсiндiрiп беретiнi соған сәйкес) циклданың аяқтауын шартпен бiтiп, деп аталады. Итерацияның ағымдағы нөмiр саудырлақ айнымалы циклда циклданың итерацияларының есептеуiшi немесе жай ғана есептеуiшпен деп аталады. Мысалы, цикл есептеуiш, есептеуiште мiндеттi түрде болады, бiр болуға мiндеттi емес болғанында - циклдасы шығу шарты бiрнеше жұрнақтарды қабылдайтын сөз т циклдерден айнымалы тәуелдi бола алғанында емес, белгiлi бiр уақытты шабуылмен сыртқы шарттармен анықтала алғанында ), есептеуiш соңғы жағдайда тiптi керек болмауы мүмкiн болғанында.

Кез келген циклданың орындауы айнымалы циклдалардың бастапқы инициализациясы, шығу шартының тексеруi, әрбiр итерациядағы айнымалы циклдасының циклда және жаңартуын дененiң орындауы қосады. Мысалы, демек, бұдан басқа, программалау тiлдерiнiң көпшiлiгi (си - breakтың тiлiнде) шығу шарты және (си - continueнiң тiлiнде) итерацияның рұқсатнамасының операторлары циклдадан шығатын есiктi циклда аяқтаудың операторлары циклдi мерзiмiнен бұрын басқару үшiн құрал тәуелсiз шындық iлiгедi.

Сөзсiз циклдер

Бағдарламалардағы кейде шығуы бағдарламаның логикасымен ескерiлмеген циклдер қолданылады. Мұндай циклдер сөзсiз, немесе шексiз деп аталады. Шексiз циклдердiң жасаулары үшiн арнайы синтаксистiк құралдар, олардың типсыздығы, программалау тiлдерi сондықтан ескермейдi, сондықтан мұндай циклдер (немесе шартты) кәдiмгi циклдердiң жасауы үшiн қолайлы болып конструкциялар арқылы жасалады. Мысалы, такомалардың циклiндегi шарттың тексеруi шексiз қайталаудың қамтамасыз етулерi үшiн немесе (егер ада тiлдiң LOOP END LOOPның цикл синтаксис мүмкiндiк бередi) болмап, немесе (Паскальдегi while true do) тұрақты мәнмен ауыстырылады.

Алғы шартпен цикл

Алғы шарты бар цикл - бас алдында көрcетiлген шын кейбiр шарт болғанша орындалатын цикл. Бұл шарттар циклданың дененiң орындауына дейiн тексередi, сондықтан дене (өздерi бар шарт егер бастады) бiр деге орындамауы мүмкiн. Процедура программалау тiлдерi көпшiлiкте whileнiң операторымен жүзеге асырылады, бұдан оның екiншi атау - whileсi - цикл. Алғы шартпен цикл Pascalдың тiлiнде келесi түрi болады:

while < шарт > do

begin

< циклда дене >

end;

Си тiлде:

while(<шарт>)

{

< циклда дене >

}

Шартпен цикл

Шарты бар цикл - шартқа циклданың дененiң орындауынан кейiн тексеретiн цикл. Дене ең болмаса бiр рет әрдайым орындалатынын бұдан шығады. Бұл цикл Паскаль тiлде repeat. . untilдiң операторын жүзеге асырады си - do whileлерге. Шартпен цикл Pascalдың тiлiнде келесi түрi болады:

repeat

< циклда дене >

until < шығу шарты >

Си тiлде:

do

{

< циклда дене >

}

while(<циклданың жалғасының шарты >)

Әртүрлi тiлдердегi шарты бар циклдасы шарттарды түсiндiруде бұл айырмашылық. Мұндай циклданың шарты Паскальде және ол болған тiлдер (цикл шарт шын, мұндай циклдер орыс терминологиясында дейiн циклдердi әлi деп атайтында бiтедi) шығу шарты сияқты түсiндiредi, силарға және (цикл шарт жалған, мұндай циклдер болғанша циклдердi кейде деп атайтында бiтедi) жалғасының шарт оның нәсiлдерi.

Ортадан шығатын есiкпен цикл

Ортадан шығатын есiкпен цикл - шартты циклданың жұртқа белгiлi формасы. Мұндай цикл синтаксис бойынша үш конструкциялар көмегiмен пiсiп жетедi: циклда, циклданың аяғы және циклдадан шығатын есiктi команда бастады. Конструкция аяқтың циклда, конструкциясы дененi бастайтын бағдарламаның нүктесiн дененi бiткен нүктенi таңбалайды. Цикл орындаудың жанында бiткен және басқару операторға берiлген циклдадан шығатын есiктi команда циклданың аяғының келесi конструкциясына дененiң iшi қатысуы керек. Табиғи, шығуды команда циклдадан шығу шарты әрине, емес тек қана орындаудың жанында шақыруы керек.

Мұндай циклдасының түрiнiң маңызды айырмашылығы қарастырылған кейiн циклда ЄдЄ шығуды командаға дейiн бастауға орналасқан циклда мүшедi (бiрiншi итерацияның жанында циклда шығу шарты егер де шын) әрдайым орындалатын жоғары болып табылады, шығуды командадан кейiн болатын циклда мүшедi соңғы итерацияның жанында орындалмайды.

Циклда арқылы ортадан шығатын есiкпен оңай (циклданың денесi шығуды команданы басында таратып салып қойып) алғы шарты бар цикл, және (циклда шығуды команданы дененiң соңында таратып салып қойып) шарты бар цикл де үлгi жасауға болғанын оңай көру.

Программалауды тiлдердiң бiр бөлiгi ортадан шығатын есiгi бар циклданың ұйымы үшiн арнайы құралымдарда болады. Осылай, ол үшiн ада тiлде EXIT немесе EXIT WHEN:нiң шығуын LOOP END LOOP-ның конструкциясы және команданы қолданылады

LOOP

. . . Циклда мүшедi

EXIT WHEN < шығу шарты >;

. . . Циклда мүшедi

IF < шығу шарты > THEN

EXIT;

END;

. . . Циклда мүшедi

END LOOP:

Екi түрлердiң шығудың командаларының кез келген саны бұл жерде циклданың iшi бола алады. Өзгешеленбегенiнде, EXIT WHEN әдетте тек қана шығу шарты тексеретiнде қолданғанында емес, циклдадан шығатын есiк күрделi шартты оператордың варианттардың бiрлерiнде өндiрiп алатында EXIT жай ғана - шығуды өздерiнiң командасы принциптi.

Ұқсас конструкциялар ескерiлмеген, ортадан шығатын есiгi бар цикл кез келген шартты циклда және (т. б. Паскаль турбода си, exit-терге breakқан) мерзiмiнен бұрын циклдадан шығатын есiктi оператор, немесе goto-ның сөзсiз өтуiн оператор көмегiмен үлгi жасай алған тiлдер сол.

Есептеуiшпен цикл

Есептеуiшi бар цикл - кейбiр айнымалы тап қалған бастапқы мән кейбiр адымы бар түпкi мәнге өз мәнiн өзгертетiн цикл және циклданың бұл айнымалы дененiң әрбiр мәнi үшiн бiр рет орындалады. Процедура программалау тiлдерi көпшiлiкте (немесе есептеуiштiң шектi мәнi) өтулердi тиiстi сан және (деп аталатын айнымалы циклда) есептеуiш көрсетiлген forдiң операторымен жүзеге асырылады болуы мүмкiн, есептеуiш өзгеретiн адым. Мысалы, оберон тiлде - 2 мұндай цикл сияқты болады:

FOR v := b TO e BY s DO

. . . циклда дене

END

(v - b, b бұл жерде - бастапқы мән есептеуiш, eлер - есептеуiш, sтiң шектi мәнi - адым) . Бұл айнымалы есептеуiштi сияқты қолданылатын циклда аяқтағаннан соң айнымалы мәнi туралы сұрақ бiрмәндi емес. Мысалы, егер Паскаль тiлде бағдарламада түрдiң конструкциясын кездессе:

i := 100;

for i := 0 to 9 do

begin

. . . циклда дене

end;

k := i;

сұрақ пайда болады: мүмкiн, жинап келгенденiң мән неткен қандай болса да басқа айнымалы k: 9, 10, 100 бередi? Егер циклдi жедел бiтсе ме? Жауаптар есептеуiштiң мәнi соңғы итерациядан кейiн үлкеедi ме және бұл мән транслятор қосымша өзгертпейдi ме, сонымен тәуелдi болады. Тағы бiр сұрақ: егер циклданың iшi есептеуiшке жаңа мәндi анық берсе не болады? Әр түрлi программалау тiлдерi осы мәселелер әртүрлi шешедi. Есептеуiштiң кейбiр мiнез-құлықтарына айқын реттелген. Мысалы, басқа сол Паскальделерде, тiлдiң стандарты циклде есептеуiштiң түпкi мәнi де, оның анық өзгерiсiнiң зардаптары дан анықтамайды, бiрақ есептеуiш анық өзгертпейдi және циклда оның аяқтағаннан соңы қайтадан инициализациясыз қолдануға кеңес бермейдi. Бұл ұсыныс аяққа басатын Паскаль тiлiндегi программа әртүрлi жүйелер және әртүрлi трансляторлардың қолдануында орындаудың жанында әртүрлi нәтиже бере алады.

Ада тiлдегi сұрақ батыл шешiлген: есептеуiш циклда суреттеп айтылған баста болып есептеледi, және ол тыс жай ғана бар болмайды. Егер қолданылып қойылдарды бағдарламадағы есептеуiштiң ат болса, жеке айнымалы циклданың iшi есептеуiш ретiнде қолданылады. Есептеуiшке қандай болмасын мәндер, ол тағайындауға анық тыйым салылған циклданың операторының тек қана iшкi тетiгiмен өзгере алады. Конструкцияның нәтижесiнде

i := 100;

for i in (0. . 9) loop

. . . циклда дене

end loop;

k := i;

Паскальде сыртқы ұқсасы жоғарыда айтылған циклге, бiрмәндi түсiндiредi: айнымалы iлер циклданың берiлгеннен тыс қолданылатын жасалып циклданың iшi өзгеретiн iнiң есептеуiшiне ешқандай да қатынасы болмайтындығынан, айнымалы kтармен 100-шi мәндi бередi. Есептеуiштiң ұқсас жекелеуi ыңғайлы және қауiп-қатерсiз: цикл қарағанда кездейсоқ қиратумен сыртқы айнымалы сабақтас кездейсоқ қателердiң оны және ең төменгi ықтималдығы үшiн жеке сипаттама керек болмайды. Егер бағдарламашыға есептеуiшi бар цикл дайын кодқа қосуға керек болса, бiрақ осы уақытта еркiн есептеуiштер, онда ол тексермеуi мүмкiн болады, айнымалы оны есептеуiш ретiнде таңдайтын атпен бiрiн тиiстi процедураның басына жаңа есептеуiшiнiң сипаттамасына толықсытпау қолдануға тырыспауға бар болады бар. Ол цикл айнымалы жай ғана жазады - оған аты ыңғайлы есептеуiшпен және аттардың ешқандай да қайшылығында болмағанын сендiре алады.

Есептеуiшi бар цикл есептеуiшке басының алдында бастапқы мән тағайындаған шартты цикл шығу шарты түпкi мәннiң есептеуiшiмен табыс болып табылады әрдайым сияқты жазып алуға болады; сонымен бiрге циклданы денеге тап қалған адымға есептеуiштiң өзгерiсiнiң операторы жамалады. Есептеуiшi бар циклда арнайы операторлар дегенмен тиiмдiрек хабарландырлай алады, мұндай циклданың өйткенi формализацияланған түрi циклдердiң ұйымының арнайы процессорлық командаларын қолдануға ꬬ¦оЄ мюгұнады.

Мысалы, есептеуiшi бар циклда синтаксистiк форманы for, неткенмен цикл тағы басқалар силардың ол болған кейбiр тiлдерiнде, алғы шарты бар цикл шындықта болып табылады. Циклда конструкция силарға демек:

for (i = 0; i < 10; ++i)

{

. . . циклда дене

}

конструкцияның жазуын басқа форманы iс жүзiнде болады:

i = 0;

while (i < 10)

{

. . . циклда дене

++i;

}

Әйтеуiр, for-дың конструкцияларында демек циклданың инициализациясының кез келген ұсынысы бастапқыда жазылады, содан соң - кейбiр операцияның циклданың әрбiр денесiнен кейiн бұл есептеуiштiң өзгерiсi мiндеттi түрде емес болуы керек болуға атқарылатын жалғастары шарт; бұл нұсқағыштың түзетуi немесе қандай болмасын мүлде бөтен операция бола алады. Мұндай жоғарыда айтылған мәселенiң түрiнiң тiлдерi үшiн өте оңай ұйғарылады: айнымалы - есептеуiш болжалғандық мүлде өзiн-өзi ұстайды және циклда аяқтағаннан соң өз соңғы мәнiн сақтайды.

Бiрлескен цикл

Циклда тағы бiр вариант тап қалған жиыннан объекттерi үшiн кейбiр операцияның орындау бенетiн цикл бұл объекттердiң тiзiмнiң ретiнiң анық нұсқауысыз болып табылады. Мұндай циклдер (сонымен бiрге коллекция бойынша циклдермен, көрудiң циклдерiмен) бiрлескен деп аталады және түрдiң нұсқауын үстiрт жазуларды болады: «M-ның жиын кiретiн барлық элементтер үшiн операцияны X орындау. Әлбетте, нақты программалау тiлдерi элементтердiң асып кетуiн нақты рет тапсырма бере алатындығыменнен, бiрлескен цикл, теория жағынан алғанда, операция ретте жиынның элементтерiне қолданылатынын ешқалай анықтамайды. Кез келгендiк емес рұқсаттың мекеме есебiненiнiң циклдасының орындауды ықшамдауы мүмкiндiк бередi, тап қалған бағдарламашы емес, өте тиiмдi рет. Бiрнеше операциялардың мүмкiндiк болған жағдайда параллел орындауы бiр және операция та әртүрлi объекттер үшiн әртүрлi есептеуiш модулдарға бiр уақытта орындалатында бiрлескен циклданың орындауын қиғаштау тiптi бағдарлама сол ненiң жанында қисынды бiртiндеп болып қалады болуы мүмкiн.

(C, Eiffel, Java, JavaScript, Perl, Python, PHP, LISP, Tcl тағы басқалар) кейбiр программалау тiлдерiндегi бiрлескен циклдерi объекттердiң тап қалған коллекциясының барлық элементтерiне арналған циклдердi орындауға мүмкiндiк беруге болады. Мұндай циклданың анықтауында объекттердiң тек қана коллекциясын көрсетуге керек болады және циклда дене (немесе оған сiлтеме) объект мән жұмыстанылатын осы уақытта берген айнымалы. Оператордың синтаксисi әр түрлi программалау тiлдерiнде айырып таныған:

C#:

foreach (type item in set)

{

// қолдануы item

}

Delphi:

For item In [1. . 100] Do

Begin

// қолдануы item (Кодтың жұмысқа қабiлеттiлiгi Delphi 2010 тексердi)

End;

Perl:

foreach (@set)

{

#қолдануы $_

}

немесе

for(@set)

{

#қолдануы $_

}

немесе

foreach $item(@set)

{

#қолдануы $item

}

Eiffel:

across set as cursor loop

-- қолдануы cursor. item

End

Java:

for (type item : set)

{

//қолдануы item

}

JavaScript:

for (txtProperty in objObject)

{

/*

қолдануы:

objObject [txtProperty]

*/

}

PHP:

foreach ($arr as $item) {

/* қолдануы $item*/

}

//немесе

foreach ($arr as $key=>$value) {

/* $key-ның индексi және $value-ның оның мәнiнiң қолдану мәндерi */

}

Visual Basic. NET:

For Each item As type In set

'қолдануы item

Next item

Windows PowerShell:

foreach ($item in $set) {

# $item-мен операциялар

}

немесе

$set ForEach-Object {

# операциялармен $_

}

Python

for item in iterator_instance:

# қолдануы item

Мерзiмiнен бұрын шығу және итерацияның рұқсатнамасы

Циклдiк конструкциялар өз синтаксис болатын көп программалау тiлдерi бұл конструкциялардың жұмысының ретiн бұзылуға мүмкiндiк беретiн ерекше командалар сонымен бiрге алады: мерзiмiнен бұрын циклдадан шығатын есiк команданы және итерацияның рұқсатнама командасын.

Мерзiмiнен бұрын циклдадан шығатын есiк

Мерзiмiнен бұрын шығуды команда шығу шартына әлi жетуге жеткiлiксiз болатын циклда орындау үзуге керегетiнде қолданылады. Мысалы, циклда ары қарай жұмыстан кейiн мағынасы болмайтын циклданың денесi қашан орындаудың жанында болады қате мәлiм болады. Мерзiмiнен бұрын шығуды команда EXIT немесе break әдетте деп аталады, команданы, тiкелей келесi бұл команда iшiнде болатын циклге (goto ) сөзсiз өтудi команданың әсерiне оның әсерi сол сияқты. Осылай, екi төменде келтiрiлген циклдалар си тiлде бiрдей мүлде жұмыс iстейдi:

// Break-тың операторының қолдануы

while(<шарт>) {

. . . оператор

if (<қате>) break;

. . . оператор

}

. . . бағдарламаның жалғасы

// Ұқсас бөлiк break-сыз

while(<шарт>) {

. . . оператор

if (<қате>) goto break_label;

. . . операторы

}

break_label:

. . . бағдарламаның жалғасы

Егер циклда дене <қате > шарт орындалса, екi жағдайларға, белгi қойылған бағдарламаның жалғас операторларға өткел жасалады. Мысалы, breakтың мiнез-құлығы тiлмен айқын бергендiгi, мүмкiндiгi бойынша кем (ықтималдық жағдаймен немесе таңбаның атауымен жанылауға жоқ бол) қауiптiнен, сайып келгенде, мерзiмiнен бұрын циклдадан шығатын есiктi оператор, мән бойынша, сөзсiз өтудi жай ғана маскировка жасайды, дегенмен қолдану breakтар нелiктен goto болғанын артықшылығы барырақ. Бұдан басқа, анық мерзiмiнен бұрын циклдадан шығатын есiк қағида құрылымдық программалауын бұзбайды.

Мерзiмiнен бұрын шығуды кәдiмгi оператор ол тiкелей болатын циклдасы жұмысты бөледi. Бұл оператордың функционалдығы программалау тiлдерi қатарда кеңiткен, ол бiрнеше қабаттасқан (төменде қара) циклдерден шығуға мүмкiндiк бередi. Мерзiмiнен бұрын шығуды операторда шығуға керек болатын цикл бұл жағдайда таңбамен белгiленедi бұл таңба көрсетiледi.

Итерацияның рұқсатнамасы

Осы оператор циклданың ағымдағы итерациясында циклданың денесi барлық команда ақырына дейiн өткiзуге кереккенде қолданылады. Өзiмнiң циклi сонымен бiрге мiндеттi, жалғасының шарты немесе шығу бөлiнсiн кәдiмгiдей есептеуi керек. Итерацияның рұқсатнамасы си және оның тiлдерiнiң тiлде команда ретiнде циклданың конструкциясындағы continueнiң операторын қолданылады. Циклда, келесi соңғы оның командасына жолға сөзсiз өтуге бұл оператордың әсерi сол сияқты дененiң iшi. Мысалы, силарда массивтың элементтерiнiң сомасы және массивтың барлық оң элементтерiнiң сома табатын код келесi түрдi иемдене алады:

int arr[ARRSIZE] ;

. . .

// Жинақтау бөлек барлық және тек қана оң

// continue-нiң қолдануы бар arrдың массивының элементтерi.

int sum_all = 0;

int sum_pos = 0;

for (int i = 0 ; i < ARRSIZE; ++i)

{

sum_all += arr[i] ;

if (arr[i] <= 0) continue;

sum_pos += arr[i] ;

}

// C goto ұқсас код

int sum_all = 0;

int sum_pos = 0;

for (int i = 0 ; i < ARRSIZE; ++i)

{

sum_all += arr[i] ;

if (arr[i] <= 0) goto cont_label;

sum_pos += arr[i] ;

cont_label:

}

Егер массивтың кезектi элементi шартқа қанағаттандырмаса екiншi бөлiктен ашық continue: оны жұмыс iстейдi циклданың денесiнiң соңғы командасына басқаруды жинақтауды команданың орындауы өткiзе жай ғана алып бергенi көруге болатын. Сайып келгенде, sum_pos-қа тек қана массивтың оң элементтерiнiң сомасы жинақталады.

Қажеттiлiк

Олардың әсерi таза құрылымдық құралдармен оңай үлгi жасай алатындығынан, мерзiмiнен бұрын циклдадан шығатын есiк және итерацияның жалғасының командалары көздiң нүктесiмен құрылымдық программалау мол болып табылады. Керiсiнше, мамандандырылған формалар, сондай break немесе continueлер (Эдсгера Дейкстры жеке алғанда) программалаудың теоретиктерi, құрылымсыз құралдардың бағдарламасындағы қолданудың өзiмнiң айғағы, болса классикалық сөзсiз өту немесе олардың кез келгенi қатардың пiкiрiншедi, есептiң шешiмiнiң жеткiлiксiз жасап бiткен алгоритмын куәлiк қағаз болып табылады.

Бағдарламасының коды iс жүзiнде дегенмен бар, бұрын сипатталған таза техникалық себептер бойынша орынсыз қайта өңдейтiн алгоритм ендi жазуы жиi болып табылады. Талпыныс құрылымдық конструкцияларға такомалардың мерзiмiнен бұрын шығуды команда кодында жиi арбиған өйткенi тиiмсiз алмастырған екен. Мысалы, breakтың командасы бар кодтың жоғарыда айтылған бөлiгi осылай жазып ала алады:

// Мерзiмiнен бұрын циклдадан шығатын есiк break-сыз

bool flag = false; // Мерзiмiнен бұрын циклдадан шығатын есiк break-сыз

while(<шарт> && !flag) {

. . . операторы

if (<қате>) {

flag = true;

} else {

. . . оператор

}

}

. . . Бағдарламаны жалғасы

Бөлiгi айырмашылық тiкелей циклдадан шығатын есiк орынына қатеге тексерудi орында циклда жалғасының штаттық шартында соңыра тексеретiн мерзiмiнен бұрын шығуды байрақ бекiтiлгенi тек қана сол сияқты алдыңғы болып жұмыс iстейтiнiн оңай көз жеткiзсiн. Мерзiмiнен бұрын шығудың командалары бас тарту үшiн дегенмен байрақтың сипаттамасы бағдарламаға қосуға тура келдi және шартты оператор тармақ екiншi, (мерзiмiнен бұрын шығу туралы шешiм бiр жерде қабылданады, басқа орындалады) бағдарламаның логикасының шаюында сонымен бiрге болды. Еш оңай болмады, еш қысқалау, түсiнiктiрекпе.

Бiрнешесi итерацияның рұқсатнама командасымен әйтпесе жағдай болады. Өте оңай және табиғи шартты операторға ауыстырылатын ол. Мысалы, массивтың жинақтауын жоғары келтiрiлген бөлiк осылай жазып алуға болады:

int arr[ARRSIZE] ;

. . .

// Жинақтау бөлек барлық және тек қана оң

// continue-нiң алмастыруы бар arrдың массивының элементтерi

int sum_all = 0;

int sum_pos = 0;

for (int i = 0 ; i < ARRSIZE; ++i)

{

sum_all += arr[i] ;

if (arr[i] > 0) // Шарт қарама-қарсыға алмастырған!

{

sum_pos += arr[i] ;

}

}

Қалай тексерiлетiн шарт қарама-қарсыға алмастырсын және шартты операторға циклданың денесiнiң қорытынды бөлiгiн орналастыру болу жеткiлiктi көремiз болу жеткiлiктi. Бағдарлама болғанын және (кодтан тiкелей оң элементтердi жинақтайтыны көруге болатын) бiр уақытта қисындырақ болатынын байқауға болады.

Басқа тiл конструкциялары, итерацияның рұқсатнама командасындағы өз шектелген пайдалылық және алмастыруды мүмкiндiгiн неткенмен және, әсiресе, мерзiмiнен бұрын циклдадан шығатын есiктер кейде толып қалады өте пайдалы, олар сондықтан тап қазiргi программалау тiлдерiнде сақталынады.

Қабаттасқан циклдер

Дененiң iшi басқа циклданың циклi ұйымдастыру мүмкiндiгi бар болады. Мұндай цикл қабаттасқан циклмен деп аталады. Ол денесiне циклi қарағанда қабаттасқан циклi қай қабаттасқан циклi циклi керiсiнше дене қарағанда сыртқы ат қойылауға бар болады қабаттасқан iшкi циклмен ат қойылауға салған. Iшiнде қабаттасқан циклда тағы бiр цикл өз кезегiнде салынғандықтың келесi деңгейi және әрi қарай құрастыра сала алады. Шектелмеген салынғандықтың деңгейлерiнiң саны.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Си тіліндегі циклдік алгоритм және циклдік алгоритмді бағдарламау
Бағдарламаны тестілеу
Шартты цикл операторлары C++
Алгоритмдеу, қасиеттері, негізгі құрылымдары. Паскаль бағдарламалау ортасы
Turbo pascal тілінің негізгі элементтері туралы
Өндірістік учаскелердің ауданын есептеу
Тұрғындардың жұмысбастылық теориясы
Электр жетегінің жағдайын аналогты және санды аналогты жүйелермен басқару
ТҚК санын анықтау
Ұлттық шаруашылықтың циклдік өсу қарқыны
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz