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

Цикл . нұсқауларды жиынның б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нде шындығын ... ... ... ... ... шартпен б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ң
LOOP END ... цикл ... ... бередi) болмап, немесе
(Паскальдегi while true do) тұрақты мәнмен ауыстырылады.
Алғы шартпен цикл
Алғы шарты бар цикл - бас ... ... шын ... шарт ... ... Бұл ... ... дененiң орындауына дейiн тексередi,
сондықтан дене (өздерi бар шарт егер бастады) бiр деге орындамауы мүмкiн.
Процедура программалау тiлдерi ... ... ... ... бұдан оның екiншi атау - whileсi - цикл. Алғы шартпен цикл
Pascalдың тiлiнде келесi түрi ... < шарт > ... ... дене >
end;
Си тiлде:
while()
{
< циклда дене >
}
Шартпен цикл
Шарты бар цикл - ... ... ... ... кейiн тексеретiн
цикл. Дене ең болмаса бiр рет ... ... ... ... Бұл цикл
Паскаль тiлде repeat..untilдiң операторын жүзеге асырады си - ... ... цикл ... ... ... түрi ... ... дене >
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лде EXIT
немесе EXIT WHEN:нiң шығуын LOOP END ... ... және ... ... ... WHEN < шығу шарты >;
... Циклда мүшедi
IF < шығу шарты > THEN
EXIT;
END;
... ... ... ... түрлердiң шығудың командаларының кез келген саны бұл жерде циклданың
iшi бола алады. Өзгешеленбегенiнде, EXIT WHEN әдетте тек қана шығу ... ... ... циклдадан шығатын ес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лген forдiң операторымен жүзеге
асырылады болуы мүмкiн, есептеуiш өзгеретiн адым. Мысалы, ... ... - ... цикл ... ... v := b TO e BY s DO
... циклда дене
END
(v - b, b бұл ... - ... мән ... eлер - есептеуiш, sтiң шектi
мәнi - адым). Бұл айнымалы есептеуiштi сияқты қолданылатын циклда
аяқтағаннан соң айнымалы мәнi ... ... ... ... ... егер
Паскаль тiлде бағдарламада түрдiң конструкциясын кездессе:
i := 100;
for i := 0 to 9 do
begin
... ... ... := ... ... ... ... жинап келгенден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 := 100;
for i in (0..9) ... ... ... ... := i;
Паскальде сыртқы ұқсасы жоғарыда айтылған циклге, бiрмәндi түсiндiредi:
айнымалы iлер циклданың берiлгеннен тыс қолданылатын жасалып циклданың iшi
өзгеретiн iнiң ... ... да ... ... ... 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к форманы for, неткенмен цикл тағы
басқалар силардың ол ... ... ... алғы ... бар цикл шындықта
болып табылады. Циклда конструкция силарға демек:
for (i = 0; i < 10; ... ... ... ... ... форманы 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н
операцияны 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н.
(C, Eiffel, Java, JavaScript, Perl, Python, PHP, LISP, Tcl тағы ... ... ... бiрлескен циклдерi объекттердiң тап қалған
коллекциясының барлық элементтерiне арналған циклдердi орындауға мүмкiндiк
беруге болады. Мұндай циклданың анықтауында объекттердiң тек ... ... ... ... және ... дене ... оған ... мән жұмыстанылатын осы уақытта берген айнымалы. Оператордың
синтаксисi әр түрлi программалау тiлдерiнде айырып таныған:
C#:
foreach (type item in set)
{
// қолдануы ... item In [1..100] ... ... item ... ... ... 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 : ... ... ... in objObject)
{
/*
қолдануы:
objObject [txtProperty]
*/
}
PHP:
foreach ($arr as $item) {
/* қолдануы $item*/
}
//немесе
foreach ($arr as $key=>$value) {
/* $key-ның индексi және $value-ның оның ... ... ... ... ... Each item As type In ... ... item
Windows PowerShell:
foreach ($item in $set) {
# $item-мен операциялар
}
немесе
$set | ... {
# ... ... item in ... ... item
Мерз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:
// Break-тың ... ... ... ... () ... ... бағдарламаның жалғасы
// Ұқсас бөлiк break-сыз
while() {
... оператор
if () goto break_label;
... операторы
}
break_label:
... бағдарламаның жалғасы
Егер циклда дене шарт ... екi ... ... ... жалғас операторларға өткел жасалады. Мысалы, breakтың м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нде циклданың конструкциясындағы continueнiң операторын
қолданылады. Циклда, келесi соңғы оның командасына жолға сөзсiз ... ... ... сол ... дененiң iшi. Мысалы, силарда массивтың
элементтерiнiң сомасы және массивтың барлық оң элементтерiнiң сома табатын
код келесi ... ... ... ... ... бөлек барлық және тек қана оң
// continue-нiң қолдануы бар arrдың массивының элементтерi.
int sum_all = ... sum_pos = ... (int i = 0 ; i < ARRSIZE; ... += ... (arr[i]

Пән: Автоматтандыру, Техника
Жұмыс түрі: Реферат
Көлемі: 20 бет
Бұл жұмыстың бағасы: 400 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
"Қабылдау бөлімі" бағдарламасы63 бет
Turbo Pascal 7.0 интегралдық программалау ортасын пайдалану43 бет
«Бек-сервис» ЖШС жылжымалы құрамына ТҚК мен жөндеу жұмыстарын ұйымдастыру және басқару37 бет
«ОҚ Қазавтосервис» ЖШС жылжымалы құрамының агрегаттарды жөндеу учаскесінің технологиясын жетілдіру34 бет
Микрокредит бағдарламасын құру45 бет
Турбо Паскаль программалау тілі және оның негізгі операторлары10 бет
Delphі ортасында жұмыс істеу технологиясы80 бет
«Мектеп» ақпараттық жүйесі33 бет
Бағдарламалау(программалау) технологиясы20 бет
Жол қозғалысын ұйымдастыру22 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь