Axborot xavfsizligi fakulteti


TYPE Klass = (K1, K2, K3, K4); Znak = array[1..255] of char; VAR



Download 21,87 Kb.
bet3/3
Sana22.08.2021
Hajmi21,87 Kb.
#153950
TuriReferat
1   2   3
Bog'liq
Turdiqulov J 713-19 7-M

TYPE

Klass = (K1, K2, K3, K4);

Znak = array[1..255] of char;

VAR

M1: Znak; { Znak turi turlar bo’limida oldindan keltirilgan }

M2: array[1..60] of integer; { M2 massivining yozilishi}

M3: array[1..4] of Klass;

Mas:array[1..4] of integer;

Massivning baza turi har qanday tur bo’lishi mumkinligi sababli, u boshqa

massiv ham bo’lishi mumkin. Natijada, ko’p ulchamli massiv hosil bo’ladi.

Masalan:


TYPE

Vector = array[1..4] of integer;

Massiv = array[1..4] of Vector;

VAR

Matr : Massiv;

Xuddi shu strukturani boshqa turdagi yozuvni qullash natijasida ham hosil

qilish mumkin:



VAR

Matr : array[1..4,1..4] of integer;

Shu xildagi yozilishdagi massivlarda bitta indeks qatnashsa, bu massiv bir

ulchovli, ikkita indeks bo’lsa, ikki ulchovli, n indeks bo’lsa, n ulchovli massivlar

deyiladi. Bir ulchovli massivlar vektorlarini ikki ulchovli massivlar matrisalarini

ifodalashda ishlatiladi.

Misol.

VAR

VectorZ: array[1..40] of real; { 40 elementdan tashkil topgan 1 ulchovli massiv

MatrU : array[1..8,1..8] of byte; { 8x8 elementdan tashkil topgan 2 ulchovli

massiv }


Trilf : array[1..4,1..5,1..8] of integer; { Uch ulchovli massiv }

Massivlar bilan ishlashda o’zgarmaslar ham ishlatilishi mumkin.

CONST

G1 = 4; G2 = 6;



VAR

MasY : array[1..G1,1..G2] of real;

Massiv elementlari xotirada ketma-ket joylashadi. Indekslari kichkina bo’lgan

elementlar xotiraning pastki adreslarida saqlanadi. Ko’p elementli massivlarda eng

ung tarafdagi indeks birinchi bo’lib usib boradi. Masalan; Agarda

A : array[1..5,1..5] of integer; bo’lsa u holda massiv elementlari adreslarning

usishi bo’yicha joylashadi:

A[1,1]


A[1,2]

...


A[1,5]

A[2,1]


A[2,2]
Massivlarni bir butun holatda ishlatilgan paytda massiv nomlaridagi indekslaridagi kvadrat qavsga olinmay ishlatiladi. Massivlar kiritish operatorlarida ―teng‖ yoki ―teng emas‖ opearsiyalarida ishlatilishi mumkin. Bu amallarda ishlatiladigan massivlar bir xil turdagi indeks va komponentalarga ega bo’lib, strukturasi bir-biriga uxshash bo’lishi kerak.
Massivni e’lon qilingandan keyin uni elementlarini nomlari kvadrat qavs ichida ko’rsatilgan holda 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 qator 4 ta ustunidagi elementini bildiradi. Array turidagi qiymatlar bilan ishlashda quyidagi holatlar bo’lishi 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 amalni FOR operatori yordamida ham bajarish mumkin:

FOR I := 1 TO 4 DO A[I] := 0;

Ikki ulchovli massivlarga indeks qo’yish 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 yo’qligi sababli elementlar bittadan kiritiladi.

Inisalizasiya misolda ko’rsatilgandek, massiv elementiga qiymatni o’zlashtirish

operatori yordamida beriladi, lekin ko’p hollarda qiymatlar READ yoki READLN

operatori yordamida o’zlashtiriladi va sikl operatoridan foydalaniladi:

FOR I:=1 TO 10 DO

FOR J:=1 TO 15 DO

READLEN(D[I,J];

Paskal algoritmik tilida massiv elementlarini birdaniga kiritish - chiqarish

imkoniyati yo’qligi sababli elementlar bittadan kiritiladi.

1 Misol: 5 ta elementdan hosil bo’lgan X massivining elementlarini kiriting. Har

bir elementning kvadrati va ildizini ekranga chikaring.

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

bo’lishi mumkin }

BEGIN


Sum:=0;

Writeln('5 ta butun qiymatlarni kiriting: ');

FOR I:= 1 TO 5 DO BEGIN

Write('I- sonni kiriting: ');

Readln(X[I]);

Kor[I]:= Sqrt(X[I]); { ildizni hisoblash }

Kv[I]:= Sqr(X[I]); { kvadratini hisoblash }

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 har bir qator yig’indisini hisoblang va har bir

qator yig’indisini hisoblang.

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 qiymatlari bilan to’ldiramiz}

END;


FOR I:= 1 TO 3 DO

Sum[I]:= 0; { yig’indini 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); { yig’indini chiqaramiz}

Readln;


END.

Massivdan nusxa olish deb, bitta massiv elementlari qiymatlarini boshqa

massiv elementlari o’zlashtirishiga aytiladi. Nusxa olishni bitta o’zlashtirish

operatori yordamida amalga oshirish mumkin, masalan A:=D yoki FOR operatori yotdamida



FOR I:= 1 TO 4 DO A[I]:= D[I];

Ikkala holda ham massiv elementlari qiymatlari o’zgarmaydi, A massivi

elementlarining qiymatlari D massivi elementlari qiymatiga teng bo’lib koladi.

Ko’rinib turibdiki, ikkala massiv ham strukturasi bo’yicha bir – biriga uxshash.

Ko’pchilik holatlarda massivda kaysidir elementlarini izlashga to’g’ri keladi.

Masalan, A massivining nechta elementi nol qiymatga ega ekanligini bilish

etiladi. Buning uchun qo’shimcha o’zgaruvchi 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 o’zgaruvchi A massivining nolga teng bo’lgan

qiymatlarini o’z ichiga oladi. Massiv elementlari qiymatlarini joyini almashtirish massivning bazali turiga uxshash turdagi yordamchi o’zgaruvchi

yordamida amalga oshiriladi. Masalan, A massivining birinchi va beshinchi elementlari qiymatlarini joyini almashtirish

Vs : =A[5] { Vs- yordamchi o’zgaruvchi }

A[5] :=A[1];



A[1]: =Vs;


Download 21,87 Kb.

Do'stlaringiz bilan baham:
1   2   3




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