linkedin facebook linkedin facebook nod32

Paskalda massivlar va uning elementlarini tartiblash usullari

Muallif: Mengliyev Sh.

Qo`shilgan sana: 2015-01-13

Paskalda massivlar va uning elementlarini tartiblash usullari

1.Kirish
Ko‘p hollarda jadval yoki matritsalar ko‘rinishidagi ma’lumotlar bilan ish yuritish kerak bo‘ladi. Jadvalda ma’lumotlar juda ko‘p bo‘lgani sabab, ularning har bir yacheykasidagi sonni mos ravishda bitta o‘zgaruvchiga qiymat qilib berilsa ular ustida ish bajarish ancha noqulayliklarga olib keladi. SHu sabab dasturlashda bunday muammolar massivlarni ishlatish yordamida hal qilinadi.

2.Massivlar va ular ustida ish yuritish.

         Massiv - bu bir nom bilan belgilangan qiymatlar to‘plami yoki jadvaldir. Massivning har bir elementi massiv nomidan so‘ng o‘rta qavs ichiga olingan raqam va arifmetik ifoda yozish bilan belgilanadi. Qavs ichidagi raqam massiv indeksini belgilaydi. Vektorni bir o‘lchovli massiv, matritsani ikki o‘lchovli massiv deb qarash mumkin.
Bir o‘lchovli massivda uning har bir elementi o‘zining joylashgan o‘rin nomeri bilan aniqlanadi va nomeri qavs ichida indeks bilan yoziladi. Ikki o‘lchovli massiv elementi o‘zi joylashgan satr va ustun nomerlari yordamida aniqlanadi. SHu sabab ikki o‘lchamli massiv elementi ikkita indeks orqali yoziladi. Masalan: A[i,j]  bu erda i-satr nomeri j-ustun nomerini bildiradi.  
Har bir massiv o‘z o‘lchamiga ega bo‘lib va u dasturda e’lon qilingan bo‘lishi kerak. Massivni e’lon qilish dasturning bosh qismida berilib, uning yozilishi umumiy holda quyidagicha bo‘ladi:
                   <Massiv nomi>:Array[o‘lcham] of <element turi>;     
Masalan:
A,B:Array[1..100] of real;
C,A1,D:Array[1..10,1,,15] of real;
Bu erda A va B massivlari 100tadan elementga ega. C,A1,D1 massivlari esa 10x15=150 tadan elementga ega.
Massivlarni e’lon qilishdan maqsad massiv elementlari uchun kompьyuter xotirasidan joy ajratishdir.
Massiv elementlari qiymatlarini kiritish uchunssikl operatorlaridan foydalaniladi.         Misol: For i:=1 to 10 do Read(A[i]);
Bu misolda A massivning 10 ta elementi qiymatini ekrandan ketma-ket kiritish kerak bo‘ladi. Xuddi shunday massiv qiymatlarini ekranga chiqarish ham mumkin. Misol: For i:=1 to 10 do Write(A[i]);
Dasturda massiv elementlarini ishlatganda ularning indeksi e’lon qilingan chegaradan chiqib ketmasligi kerak.

3.Massiv elementlarini tartiblash usullari.

         Massivni tartiblashtirishning bir necha usullari (algoritmlari) mavjud. Ulardan quyidagi usullarni qarab chiqamiz:
-tanlash usuli;
-almashtirish usuli.
Tanlash usuli yordamida massivni o‘sish bo‘yicha tartiblashtirish algoritmi quyidagicha:
1.Massivning birinchi elementidan boshlab qarab chiqilib eng kichik element topiladi.
2.Birinchi element bilan eng kichik element joylari almashtiriladi.
3.Ikkinchi elementidan boshlab qarab chiqilib eng kichik element topiladi.
4.Ikkinchi element bilan eng kichik element joylari almashtiriladi.
5.Bu protsess bitta oxirgi elementgacha takrorlanadi.
Bu algoritm dasturi quyidagicha bo‘ladi:

  Program Sort;
Const  n=5;
Var i, j, min, k, buf: Integer;   a: Array[1..n] of Integer;  
Begin
Writeln (‘Massivni tartiblashtirish’);
Write (n:3,’ -ta massiv elementini kiriting’);
For k:=1 to n Do Read(a[k]);
For i:=1 to n-1 Do
Begin    { kichik elementni topish }
min:=i;
For j:=i+1 to n Do
Begin
If a[j]<a[min] then min:=j;
buf:=a[i];    a[i]:=a[min];  a[min]:=buf;
For k:=1 to n Do  Write (a[k],’ ‘);
Writeln;
End;
End;
Writeln(`Massiv tartiblashtirildi.`);
End.

Dastur natijasi:

         Massivni tartiblashtirish
5 ta massiv elementini kiriting
12 -3 56 47 10
Tartiblatirish
-3 12 56 47 10
-3 10 56 47 12
-3 10 12 47 56
-3 10 12 47 56
Massiv tartiblashtirildi.

         Almashtirish usuli yordamida massiv elementlarini o‘sib borishda tartiblashtirish algoritmi quyidagicha:
1.Massivning birinchi elementidan boshlab ketma-ket hamma qo‘shni elementlar bir-biri bilan solishtirilib, agar birinchisi ikkinchisidan kichik bo‘lsa ular joyi almashtirilib  boriladi.
2.Bu protsess davomida kichik qiymatli elementlar massiv boshiga katta elementlar esa oxiriga siljitilib boriladi. SHu sabab bu usul «puzirka» usuli ham deyiladi. 
3.Bu protsess massiv elementlar sonidan bitta kam marta takrorlanadi.
Masalan:
3 2 4 5 1 bunda 3 bilan 2 va 5 bilan 1 almashtiriladi.
2 3 4 1 5 bunda 4 bilan 1 almashtiriladi.
2 3 1 4 5 bunda 3 bilan 1 almashtiriladi.
2 1 3 4 5 bunda 2 bilan 1 almashtiriladi.
1 2 3 4 5
Bu algoritm dasturi quyidagicha bo‘ladi:

  Program Sort;
Const  n=5;
Var i,j,min,k,buf: Integer;  a: Array[1..n] of Integer;   
Begin
Writeln (‘Massivni puzirek(kupikcha) usulida tartiblashtirish’);
Write (Size:3,’ta massiv elementini kiriting’);
For k:=1 to n Do Read(a[k]);
Writeln (‘Tartiblatirish’);
For i:=1 to n-1 Do
Begin
For k:=1 to n-1 Do
Begin
If a[k]>a[k+1] then
Begin
buf:=a[k];   a[k]:=a[k+1];  a[k+1]:=buf;
End;
End;    
For k:=1 to n Do  Write (a[k],’ ‘);  Writeln;
End;
Writeln(‘Massiv tartiblashtirildi.’);
End.

Dastur natijasi:
Massivni puzirek usulida tartiblashtirish
5 ta massiv elementini kiriting
3  2  4  1  5
Tartiblashtirish
2  3  4  1  5
2  3  1  4  5
2  1  3  4  5
1  2  3  4  5
Massiv tartiblashtirildi.

         Massivda eng kichik yoki eng katta elementni izlash algoritmi ma’lumki birinchi element eng kichik (katta) deb olinib keyin boshka elementlar bilan ketma-ket solishtirilib chiqiladi. Solishtirilish oxirgi elementgacha bajariladi. Quyida bu algoritm dasturi keltirilgan:

Program MinMax;
Var i,min: Integer;     a: Array[1..10] of Integer;      
Begin
Writeln (‘Massivdan eng kichik elementni izlash’);
Write (’ 10-ta massiv elementini kiriting’);
For i:=1 to 10 Do Read(a[i]);
min:=1;
For i:=2 to 10 Do 
If a[i]<a[min] Then min:=i;
Writeln(‘Izlanayotgan eng kichik element:’,a[min]);
Writeln(‘Element nomeri’,min);
End.

2285 marta o`qildi.

Foydalanuvchi ismi: 101-Humoyiddin
Qo`shilgan sana: 2015-04-08

yaxshi

Foydalanuvchi ismi: rivoj
Qo`shilgan sana: 2015-04-16

yaxshi

Parol:
Eslab qolish.


Ro`yhatdan o`tish

testing

+998915878681

Siz o`z maxsulotingizni 3D reklama ko`rinishda bo`lishini xohlaysizmi? Unda xamkorlik qilamiz.

3D Reklama


Рейтинг@Mail.ru
Рейтинг@Mail.ru

Besucherzahler
счетчик посещений