logo

Tакрорланувчи тузулмали алгоритмлар ва уларни дастурлаштириш. Mураккаб цикллар. Mураккаб алгоритмлар ва уларни дастурлаштириш

Загружено в:

20.09.2019

Скачано:

0

Размер:

42 KB
www.arxiv.uz T акрорланувчи тузулмали алгоритмлар ва уларни дастурлаштириш. Mураккаб цикллар. Mураккаб алгоритмлар ва уларни дастурлаштириш Режа: 1. Такрорлаш операторлари 2. Шарти олдиндан текшириладиган такрорлаш оператори 3. Шарти кейин текшириладиган такрорлаш оператори www.arxiv.uz Циклик ( такрорланувчи) тузилмали дастур бир пайтда бир ёки бир нечта парметрлар узгаришида, бир гурух операторлар хисоблашини куп марта такрорлаш имконини беради. Масалани куйилишига караб такрорланишлар сони олдиндан маълум булган ва такрорланишлар олдиндан номаълум булган циклга булинади. Циклик тузулмали алгоритмлар шартли операторлар ёрдамида ташкил этилиши мумкин. Бу холда циклик параметрини бошлангич кийматини бериш керак, циклда эса бу параметр билан хисоблашни амалга ошириш керак. Агар цикл тугамаган булса, унда хисоблашларни давом эттириш керак. Цикл оператори FOR такрорланишлар сони олдиндан ноъмалум булган циклларни ташкил этиш учун ишлатилади. Операторнинг умумий куриниши: FOR I:=m1 to m2 DO S; ёки FOR I:=m1 DOWNTO m2 DO S; Бу ерда: I -цикл параметри -у хакикий турда булиши мумкин эмас; m ва m - цикл параметрининг бошлангич ва охирги кийматлари; S -цикл танаси (содда еки таркибий оператор) туридан ёзилади. ТО хизматчи сузида цикл параметрининг узгариш кадами 1га тент. DOWNTOдa эса -1га тент. WHILE оператори хисоблашларни такрорлашлар сони ёзилган шартта боглик булган циклларни ташкил этиш имконини беради. Операторнинг умумий куриниши: WHILE b DO S; b -мантикий ифода; S -циклнинг танаси. Масалан: WHILE Х < = 12.8 DO S; S - циклнинг танаси Х < = 12.8 муносабат бажарилгунча ишлайди,муносабат бузилса,яъни Х < = 12.8 мантикий ифода FALSE булса, шундан бошлаб S цикл танаси бажарилмайди. Мантикий ифода FALSE кийматини кабул килиши билан цикл операторларининг бажарилиши тугалланади. Мисол: Берилган функция а дан кичик булганда k=l,2,3... кийматини хисоблаш программасини тузамиз. Такрорланишлар сонга номаълум булган циклни ташкил этишни курамиз. Узгарадиган киймат k параметри булади. Даражага кутариш реккуренг формула билан хисобланади. www.arxiv.uz Program itenw (input, output); var p,x,a:real; k:integer; begin read(a,x); k:=l; while p/k>=a do begin p:=p*x; K:=K+1; end; write ln(k); end. Йигиндини хисоблашда S:=S+Y жамгармадан фойдаланилади. Бу ерда S - жамгарилувчи йигинди; Y -кушилувчи. Бу ифодага кура, хар бир янги киймат олдинги йигиндига кушилувчини кушиш билан хосил килинади. Биринчи кушилувчи учун йигиндининг бошлангич киймати S=0 булиши керак Мисол: аник интегрални такрибий хисоблаш программаси тугри туртбурчакли усулида h ингегралли кадами билан тузилсин. Купайтмани жамгариш учун циклдан олдин купайтманинг бошлангич кийматини бериш керак (р:=1; булсин), цикл ичида эса р:=р*у узлаштириш операторидан фойдаланиб, купайтмани жамгариш керак; бу ерда Р-оралик купайтма, у-эса купайтувчидир. Мисол. x(x 1, x 2 ,...,х 40) массив мусбат элементларининг урта геометрик кийматини хисоблаш программасини тузамиз. р=1 Циклда купайтмани жамгаришдан олдин массивнинг мусбат элементларини танлаш керак. Program sredg (input, output); const i max:=40; var p, s: real; n, i: integer; x:array(1,imax) or real; begin for i:=1 to i max do read(x(i)): p:=l; n:=0; for i:=1 to i max do begin if x(i)>0 then p:=p*x(i); n:=n+1; end; s-exp(n*ln(p)); write ln(‘s=’,s:8:3) end. www.arxiv.uz Битта цикл ичига бир ёки бир нечта бошка цикллар кирса, каррали цикл тузулмали дастурлар хосил булади. Бунда ички циклнинг таъсир доираси уни уз ичига олувчи циклда жойлашади. Мисол. А(10,15) магрицанинг мусбат элементларининг ёзувга чикариш дастурини тузамиз. Хар бир каторда матрицанинг берилган каторига мансуб элементларни ёзувга чикарсин. Агар каторда мусбат элементлар булмаса, у буш булиши керак. Паскаль тилида дастури: Program matr (input, output); const i max=10; y max=15; var d,i:integer; a:awray(1...imax,1....ymax)of real; begin for i:=1 to i max do begin for y:=4 to y max do begin read (a(lj)); if(a(i,j))>0 then write (a(d,j):b:2); end; write ln end; end. www.arxiv.uz Тавсия этилган адабиетлар руихати : 1. “2001-2005 йилларда компьютер ва ахборот технологияларини ривожлан- тириш, “Интернет”нинг халкаро ахборот тизимларига кенг кириб боришини таъминлаш дастурини ишлаб чикишни ташкил этиш чора- тадбирлари тугрисида”.Узбекистон Республикаси Вазирлар Махкамасининг 2001 йил 23 май карори. ”Халк сузи” газетаси. 2001 йил 24 май сони. 2. “Компьютерлаштиришни янада ривожлантириш ва ахборот- коммуникация технологияларини жорий этиш тугрисида”. Узбекистон Республикаси Президентининг 2002 йил 30 май Фармони. ”Халк сузи” газетаси. 2002 йил 1 июнь 116(2944) -сони. 3. ”Компьютерлаштиришни янада ривожлантириш ва ахборот- коммуникация технологияларини жорий этиш чора-тадбирлари тугрисида”. Узбекистон Республикаси Вазирлар Махкамасининг 2002 йил 6 июнь карори.”Халк сузи” газетаси. 2002 йил 8 июнь 121(2949) -сони. 4. Гуломов С.С. ва бошкалар. Иктисодий информатика: Олий укув юртлари-нинг иктисодиет мутахассисликлари учун дарслик/ С.С.Гуломов, А.Т.Шермухамедов, Б.А.Бегалов; С.С.Гуломовнинг умумий тахрири остида.- Т.: &#34;Узбекистон&#34;, 1999.- 528 б. 5. Ахборот тизимлари ва технологиялари:Олий укув юртлари талабалари учун дарслик//Муаллифлар жамоаси: С.С.Гуломов, Р.Х.Алимов, Х.С.Лутфуллаев ва бошк./; С.С.Гуломовнинг умумий тахрири остида.-Т.: «Шарк», 2000.- 592 б. 6. www.ziyonet.uz