Mavzu: Algoritm haqida umumiy intuitive ta’rif


Matritsalar ustida amallar



Download 384,21 Kb.
bet24/25
Sana14.06.2022
Hajmi384,21 Kb.
#669941
1   ...   17   18   19   20   21   22   23   24   25
Bog'liq
Mavzu Algoritm haqida umumiy intuitive ta’rif

Matritsalar ustida amallar


Massivlarni bir butun xolatda ishlatilgan paytda massiv nomlaridagi indekslaridagi kvadrat kavsga olinmay ishlatiladi. Massivlar kiritish operatorlarida “teng” yoki “teng emas” opearsiyalarida ishlatilishi mumkin.
Bu amallarda ishlatiladigan massivlar bir xil tipdagi indeks va komponentalarga ega bulib, strukturasi bir-biriga uxshash bulishi kerak.
Masalan: A va B massivlari Var A, B : array[1..20] of real; Ko’rinishida ifodalangan bulsa, unda natija kuyidagicha buladi:

Ifoda

Natija



A = B
A <> V
A := V

True, agarda A massivining elementlarining kiymatlari V massiv elementining kiymatlariga mos ravishda teng bulsa.
True, Agarda A massiv elementining biron bir kiymati V massiv elementining kiymatlariga mos raviщda teng bulmasa.

V massiv elementining xamma kiymatlari A massiv elementlari tomonidan uzlashtirilsa V massiv elementlarining kiymatlari uzgarmasdan koladi.







Massiv elementlari ustida amallar
Massiv elementlarini indeksatsiyalash, massivlardan nusxa olish
Massivni e’lon kilingandan keyin uni elementlarini nomlari kvadrat kavs ichida ko’rsatilgan xolda ishlatish mumkin.Masalan: Mas[2], VectorZ[10] massivning ikkinchi va uninchi elementlariga murojaat etishni bildiradi.
Ikki ulchovli massivlarda ikkita indeks, n ulchovlilarda esa n ta indeks ko’rsatiladi.
Masalan, MatrU[4,4] bu yozuv Matr U massivining 4 ta kator 4 ta ustunidagi elementini bildiradi. Array tipidagi kiymatlar bilan ishlashda kuyidagi xolatlar bulishi mumkin:
VAR
A,D : array[1..4] of real;
B : array[1..10,1..15] of integer;
I,J : integer; K : integer; S: real;
Bu operatsiyani FOR operatori yordamida xam bajarish mumkin:
FOR I := 1 TO 4 DO A[I] := 0;
Ikki ulchovli massivlarga indeks kuyish uchun ichma-ich joylashgan operatorlar ishlatiladi:

FOR I := 1 TO 10 DO


FOR J := 1 TO 15 DO
B[I,J] := 0;
Paskal algloritmik tilida massiv elementlarini birdaniga kiritish - chiqarish imkoniyati yukligi sababli elementlar bittadan kiritiladi.
Massiv elementiga kiymatni uzlashtirish operatori yordamida beriladi,initsalizatsiya misolda ko’rsatilgandek,lekin kup xollarda READ yoki READLN operatori yordamida uzlashtiriladi va sikl operatoridan foydalanamiz.
FOR I:=1 TO 10 DO

FOR J:=1 TO 15 DO


READLEN(D[I,J];


WRITELN operatori ishlatilishi sababli xar bir kiymat yangi katordan kiritiladi. Aloxida elementlarni kiymatlarini kiymatlarini xam kiritish mumkin. Bunda kuyidagi operatorlardan foydalaniladi:


READ(A[3];
READ(B[6,9]);
Bu yerda A vektori 3- elementninig kiymati va V matritsaning 6-katori 9- ustunida joylashgan elementlari kiymatlarini kiritadi.
Ikkala kiymat xam ekranning bitta katorida , kursorning joriy pozitsiyasidan teriladi.
Massiv elementlari kiymatini chiqarish xam xuddi shunday bajariladi, lekin bunda Write yoki Writeln operatorlari kullaniladi.

FOR I: =1 TO 4 DO


Writeln (A[I]); { A massivi elementlari kiymatini chiqarish}
Yoki
FOR I: =1 TO 10 DO
FOR J:= 1 TO 15 DO
Writeln (V[I,J]); { B massivi elementlari kiymatini chiqarish}
Misol:
5 ta elementdan xosil bulgan X massivining elementlarini kiriting.
Xar bir elementning kvadrati va ildizini ekranga chiqaring.
Yechilishi:
PROGRAM P7_2;
VAR
Sum,I: integer;
Sr: real;
X: array[1..5] of integer;
Kor, Kv: array[1..5] of real; { Natija kasr yoki Integer bulishi mumkin }
BEGIN
Sum:=0;
Writeln('5 ta butun kiymatlarni kiriting: ');
FOR I:= 1 TO 5 DO BEGIN
Write('I- sonni kiriting: ');
Readln(X[I]);
Kor[I]:= Sqrt(X[I]); { ildizni xisoblash }
Kv[I]:= Sqr(X[I]); { kvadratini xisoblash }
END;
FOR I:= 1 TO 5 DO Write(Kor[I]:8:2);
Writeln;
FOR I:= 1 TO 5 DO Write(Kv[I]:8:2);
Readln;
END.

Massivlar bilan ishlashda konstantalar xam ishlatilishi mumkin.


CONST
G1 = 4; G2 = 6;
VAR
MasY : array[1..G1,1..G2] of real;
Massiv elementlari xotirada ketma-ket joylashadi. Indekslari kichkina bulgan elementlar xotiraning pastki adreslarida saklanadi. Kup elementli massivlarda ung tarafdagi indeks birinchi bulib usib boradi. Masalan; Agarda

A : array[1..5,1..5] of integer; bulsa u xolda massiv elementlari adreslarning usishi buyicha joylashadi:


A[1,1]
A[1,2]
...
A[1,5]
A[2,1]
A[2,2]
Massivlarni bir butun xolatda ishlatilgan paytda massiv nomlaridagi indekslaridagi kvadrat kavsga olinmay ishlatiladi. Massivlar kiritish operatorlarida “teng” yoki “teng emas” opearsiyalarida ishlatilishi mumkin.
Bu amallarda ishlatiladigan amallar bir xil tipdagi indeks va komponentalarga ega bulib, strukturasi bir-biriga uxshash bulishi kerak.
Masalan: A va B massivlari Var A, B : array[1..20] of real; Ko’rinishida ifodalangan bulsa, unda natija kuyidagicha buladi:

Massivni e’lon kilingandan keyin uni elementlarini nomlari kvadrat kavs ichida ko’rsatilgan xolda ishlatish mumkin.Masalan:


Mas[2], VectorZ[10] massivning ikkinchi va uninchi elementlariga murojaat etishni bildiradi. Ikki ulchovli massivlarda ikkita indeks, n ulchovlilarda esa n ta indeks ko’rsatiladi.
Masalan, MatrU[4,4] bu yozuv Matr U massivining 4 kator 4 ustunidagi elementini bildiradi. Array tipidagi kiymatlar bilan ishlashda kuyidagi xolatlar bulishi mumkin:
VAR
A,D : array[1..4] of real;
B : array[1..10,1..15] of integer;
I,J : integer; K : integer; S: real;
Bu operatsiyani FOR operatori yordamida xam bajarish mumkin:
FOR I := 1 TO 4 DO A[I] := 0;
Ikki ulchovli massivlarga indeks kuyish uchun ichma-ich joylashgan operatorlar ishlatiladi:
FOR I := 1 TO 10 DO
FOR J := 1 TO 15 DO
B[I,J] := 0;
Paskal algloritmik tilida massiv elementlarini birdaniga kiritish - chiqarish imkoniyati yukligi sababli elementlar bittadan kiritiladi.
1 Misol:
5 ta elementdan xosil bulgan X massivining elementlarini kiriting.
Xar bir elementning kvadrati va ildizini ekranga chiqaring.
Yechilishi:
PROGRAM P7_2;
VAR
Sum,I: integer;
Sr: real;
X: array[1..5] of integer;
Kor, Kv: array[1..5] of real; { Natija kasr yoki Integer uchun juda katta bulishi mumkin }
BEGIN
Sum:=0;
Writeln('5 ta butun kiymatlarni kiriting: ');
FOR I:= 1 TO 5 DO BEGIN
Write('I- sonni kiriting: ');
Readln(X[I]);
Kor[I]:= Sqrt(X[I]); { ildizni xisoblash }
Kv[I]:= Sqr(X[I]); { kvadratini xisoblash }
END;
FOR I:= 1 TO 5 DO Write(Kor[I]:8:2);
Writeln;
FOR I:= 1 TO 5 DO Write(Kv[I]:8:2);
Readln;
END.
2 Misol:3x3 massiv elementlarini kiriting va xar bir kator yigindisini xisoblang va xar bir kator yigindisini xisoblang
Yechilishi:
PROGRAM P7_8;
VAR
X: array[1..3,1..3] of integer;
Sum: array[1..3] of integer;
I, J: integer;
BEGIN
Randomize;
FOR I:= 1 TO 3 DO
FOR J:= 1 TO 3 DO BEGIN
X[I,J]:=Random(300); {massivning tasodifiy kiymatlari bilan tuldiramiz}
END;
FOR I:= 1 TO 3 DO
Sum[I]:= 0; { yigindini 0 ga tenglashtiramiz }
FOR I:= 1 TO 3 DO
FOR J:= 1 TO 3 DO
Sum[I]:= Sum[I]+X[I,J];
FOR I:=1 TO 3 DO
Write(Sum[I]:3); { yigindini chiqaramiz}
Readln;
END.
Massivdan nusxa olish deb,bitta massiv elementlari kiymatlarini boshqa massiv elementlari uzlashtirishiga aytiladi. Nusxa olishni bitta uzlashtirish operatori yordamida amlga oshirish mumkin,masalan A:=D yoki FOR operatori yordamida.
FOR I:= 1 TO 4 DO A[I]:= D[I];
Ikkala xolda xam massiv elementlari kiymatlari uzgarmaydi, A massivi elementlarining kiymatlari D massivi elementlari kiymatiga teng bulib koladi.Ko’rinib turibdiki, ikkala massiv xam strukturasi buyicha bir- biriga uxshash. Kupchilik xolatlarda massiv da kaysidir elementlarini izlashga tugri keladi. Masalan, A massivining nechta elementi nol kiymatga ega ekanligini bilish talab etiladi. Buning uchun kushimcha uzgaruvchi K ni kiritamiz va FOR, IF operatorlaridan foydalanamiz:
K:=0; FOR I:=1 TO 4 DO
IF A[I] = 0 THEN K : = K+1;
Sikl bajarilgandan keyin K uzgaruvchi A massivining nolga teng bugan kiymatlarini uz ichiga oladi.Massiv elementlari kiymatlarini joyini almashtirish massivning bazali tipiga uxshash tipdagi yerdamchi uzgaruvchi yordamida amalga oshiriladi. Masalan, A massivining birinchi va beshinchi elementlari kiymatlarini joyini almashtiring:
Vs : =A[5] { Vs- yordamchi uzgaruvchi }
A[5] :=A[1];
A[1]: =Vs;

Download 384,21 Kb.

Do'stlaringiz bilan baham:
1   ...   17   18   19   20   21   22   23   24   25




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish