Ш. И. Раззоќов, М. Д. Юнусова turbo pascal алгоритмик тилида дастурлаш касб-ћунар коллеж талабалари учун ўќув ќўлланма


Download 1.74 Mb.
bet45/96
Sana30.04.2023
Hajmi1.74 Mb.
#1413831
1   ...   41   42   43   44   45   46   47   48   ...   96
Bog'liq
Turbo Pascal назария

Бир ўлчовли массив (вектор)
Индекс ўзгаришининг йўналиши

Баёни
const
n=100;
var
A: array [1 .. n] of Real;
ёки
const
n=100;
type
Vector = array [1 .. n] of Real;
var
A : Vector;
Икки ўлчовли массив (матрица)
Иккинчи индекс ўзгаришининг йўналиши


Биринчи индекс ўзгаришининг йўналиши

Баёни
const
m=30; n=50;
var
A: array [1 .. m, 1 .. n] of Real;
ёки
const
m=30; n=50;
type
Matr = array [1 .. m, 1 .. n] of Real;
var
A : Matr;


Уч ўлчовли массив
Иккинчи индекс ўзгаришининг йўналиши

Баёни
const


m=30; n=50; p=20;
var
A: array [1 .. m, 1 .. n, 1 .. p] of Real;
ёки
const
m=30; n=50; p=20;
type
T_Array = array [1 .. m, 1 .. n, 1 .. p] of Real;
var
A : T_Array;

Массив имкониятларини намойиш этишнинг классик мисолларига саралаш ва излаш масалалари киради. Улар билан танишамиз.




9.1.2. Массивларни саралаш. Саралаш масаласини ечишда одатда ќўшимча хотирадан минимал фойдаланиш талаби сурилади, бундан ќўшимча массивлардан фойдаланиш мумкин эмаслиги келиб чиќади.
Саралашнинг ћар хил усуллари алгоритмлари иши тезлигини баћолаш учун, ќоида бўйича, иккита кўрсаткичдан фойдаланилади:

  • ўзлаштиришлар сони;

  • таќќослашлар сони.

Саралашнинг ћамма усулларини иккита катта гурућга ажратиш мумкин:

  • Саралашнинг тўѓри усуллари;

  • Саралашнинг яхшиланган усуллари.

Саралашнинг тўѓри усуллари ўз навбатида учта гурућга бўлинади:

  • Киритиш йўли билан саралаш;

  • Танлаш йўли билан саралаш;

  • Алмаштириш йўли билан саралаш («кўпик» усули)

Саралашнинг яхшиланган усуллари ћам тўѓри усуллар таянган тамойилга асосланади, лекин саралашни тезлаштирадиган баъзибир ѓоялардан фойдаланади. Амалда тўѓри усуллар, паст тезликка эга бўлганлиги учун, кам ишлатилади. Лекин тўѓри усуллар уларга асосланган яхшиланган усулларнинг моћиятини яхши кўрсатади. Бундан ташќари, баъзи бир ћолларда узун бўлмаган массивда ва (ёки) массив элементларининг ўзига хос жойлашган ваќтида тўѓри усулларнинг баъзилари яхшиланган усуллардан ћам ўтиши мумкин.


9.1.2.1. Киритиш йўли билан саралаш.
Усул тамойили.
Массив сараланган ва сараланмаган икки ќисмга бўлинади: Сараланмаган ќисмдан элементлар навбат билан танланади ва сараланган ќисмга, элементлар тартибини бузмасдан, киритилади. Алгоритм иши бошида массивнинг сараланган ќисми сифатида фаќат битта биринчи элемент, сараланмаган ќисм сифатида эса ќолган элементлар олинади.
Шундай ќилиб, алгоритм ћар бири тўртта ишдан иборат n-1 киритишдан (массив n ўлчамли) ташкил топади:

  • навбатдаги i-сараланмаган элементни олиш ва уни ќўшимча ўзгарувчида саќлаш;

  • массивнинг сараланган ќисмида олинган элементнинг мавжудлиги элементлар тартибини бузмайдиган, j-ўринни излаш;

  • топилган ўринни бўшатиш учун массив элементларини i-1 дан j-1 гача ўнгга силжитиш;

  • олинган элементни топилган j-ўринга жойлаштириш.

Бу усулни амалга ошириш учун бир-биридан киритиш ўрнини излаш усуллари билан фарќ ќилувчи, бир нечта алгоритмни таклиф ќилиш мумкин. Мумкин бўлган алгоритмлардан бирини амалга ошириш схемасини кўрамиз.
Битта киритиш ишини схематик равишда ќуйидагича баён этиш мумкин:



Киритиш йўли билан саралаш схемаси. Чапда айлана ичида ўтиш раќами кўрсатилган.

Кўриб чиќилган алгоритмни амалга ошириш дастурини келтирамиз.


9.1-дастур

Download 1.74 Mb.

Do'stlaringiz bilan baham:
1   ...   41   42   43   44   45   46   47   48   ...   96




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling