7-мавзу. Шартли операторлар. Такрорлаш операторлар. Функция ва процедуралар эълон қилиш ва аниқлаш
Download 167 Kb.
|
7-мазу Шартли операторлар.
for k:= k2 downto k1 do S;
бу ерда down to (гача камайиб) – тилнинг хизматчи сўзи. Бу операторда k параметри k2 дан токи k1 гача камайиш тартибида (агар k - бутун қийматли ўзгарувчи бўлса цикл қадами - 1 га тенг) ўзгаради. Операторнинг ишлаш принципи олдинги операторникидай қолаверади. Мисол: Расмда кўрсатилган матрицани ҳосил қилиш тартибида жойлаштириш дастурини тузинг. Дастурни тузиш учун 1 дан 15 гача бўлган рақамларни илон шаклида матрицага жойлаштиришимиз зарур бўлади. Расмдан кўриниб турибдики тоқ сатрдаги сонлар 1 бирликка монотон ўсиб бормоқда, жутларида эса аксинча. Бу ўзгаришларин қуйидаги формула билан ифодалаш мумкин: Жуфт сатрлар учун - (i-1)*n + n - j + 1, Тоқ сатрлар учун - n*(i -1) + j, бу ерда i – мос сатр номери, j – устун номери. Демак, демак дастурда юқоридаги формулалар орқали қадам бақадам матрицани ҳосил қилиш мумкин. Program ex; {дастур номи} Var a: array[1..3,1..4] of integer; {ўзгарувчиларни эълон қилиш} k, i,j:integer; Begin k:=1; {дастурнинг асосий қисмининг бошланиши} for i:=1 to 3 do {цикл танасининг бошланиши} if (i mod 2)=0 then {агар сатр номери жуфт бўлса} for j:=4 downto 1 do {ўнгдан чапга йўналтиришни ўзгартирамиз } begin a[i,j]:= k; k:=k+1; end else {агар сатр номери тоқ бўлса} for j:=1 to 4 do { чапдан ўнгга йўналтиришни ўзгартирамиз } begin a[i,j]:=k; k:=k+1; end; WriteLn('Ҳосил қилинган массив:'); for i:=1 to 3 do begin for j:=1 to 4 do Write(a[i,j]:3); {матрица элементларини чоп этиш} WriteLn; end; end. Программада параметрли такрорлаш операторидан фойдаланиш жараёнида, цикл параметрининг қийматини цикл танаси ичида ўзгартирмаслик лозим, акс ҳолда операторнинг иш ритми бузилиши мумкин. Буни қуйидаги мисолларда кўриш мукин:
Download 167 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling