Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

REFERAT / Kóp ólshemli massivler

.docx
Скачиваний:
4
Добавлен:
14.01.2024
Размер:
177.34 Кб
Скачать

ÓZBEKSTAN RESPUBLIKASÍ JOQARÍ BILIMLENDIRIW,

ILIM HÁM INNOVACIYALAR MINISTRLIGI

MUHAMMED AL-XOREZMIY ATÍNDAǴÍ TASHKENT INFORMACIYALÍQ TEXNOLOGIYALARÍ UNIVERSITETI

NÓKIS FILIALÍ

TELEKOMMUNIKACIYA TEXNOLOGIYALARÍ HÁM

KÁSIPLIK TÁLIM FAKULTETI

INFORMACIYA QA’WIPSIZLIGI

1-kurs studenti

PROGRAMMALASTÍRÍW I PÁNINEN

ÓZBETINSHE JUMÍS

Tema: Kóp ólshemli massivler. Statikalıq massivler.

Orınlaǵan Esemuratov S

Qabıllaǵan: Kalmuratov B.

Nókis – 2024

Jobası:

I. Kirisiw

II. Tiykarǵı bólim

  1. KO’P O’LSHEMLI MASSIVLER

  2. EKI OLSHEMLI MASSIVLERDI TA’RIYPLEW

  3. MASSIVTI JARATIW

  4. Kóp ólshemli massiv inicializaciyası

III. Juwmaqlawshı bólim

IV. Paydalanılǵan ádebiyatlar

С++ de massivler kop indeksli de bolıwı mumkin. Ko’p o’lshemli massivler tiykarınan informatsiyalardı qatarlar ha’m bag’analarda saqlawshı tablitsa ma’nisleri ko’rinisinde bo’ladı. Tablitsanın’ elementin ko’rsetiw ushın eki indeks ko’rsetiledi. Birinshi indeks qatardın’ nomerin korsetse, al ekinshisi bag’ana nomerin korsetedi. Elementti ko’rsetiwde eki indeksten paydalanılgan tablitsalar yamasa massivler eki olshemli massivler dep ataladı. Kop olshemli massivler tek eki indeksten ibarat bolıpg’ana qalmay ba’lki bir neshe indekstende ibarat bolıwıda mumkin. С++ tilining kompilyatorı 12 olshemli shekemgi massivler menen islewdi qollap quwatlay aladı. Eger massiv u’sh qatardan ha’m to’rt bag’anadan ibarat bolsa, onda bunday massiv u’shke to’rt o’lshemli massiv delinedi. Ulıwma massiv m qatardan ha’m n bag’anadan ibarat bolsa, onda bunday massiv m ge n o’lshemli massiv dep aytıladı. To’mendegi suwrette eki o’lshemli a massiv ko’rsetilgen. a massivtin’ ha’r qaysı elementi a[i][j] ko’rinisinde anıqlanadı; bunda a- massivtin’ atı, al i, j - a massivtin’ elementin anıqlawshi indeksler.

0-qatar

1-qatar

2-qatar

3-qatar

0-bag’ana

a[0][0]

a[0][1]

a[0][2]

a[0][3]

1-bag’ana

a[1][0]

a[1][1]

a[1][2]

a[1][3]

2-bag’ana

a[2][0]

a[2][1]

a[2][2]

a[2][3]

Qatar indeksi

Bag’ana indeksi

Massivtın’ atı

EKI OLSHEMLI MASSIVLERDI TARIYPLEW

Bir ólshemli massivlerdi táriyplewdi bilseńiz, eki ólshemli massivlerdi táriyplew sizge qıyınshılıq tuwdırmaydı. Sebebi, eki ólshemli massivlerde eki kvadrat qawıs boladı, qalǵan barlıǵı bir ólshemli massivtegidey boladı.

MASSIVTI JARATIW

Eki ólshemli massivlerge yadtan orın ajıratıwdıń eki usılı bar bolıp, birinshisi bir ólshemli massivlerge uqsas ámelge asırıladı. Ekinshisinde cikl operatorınan paydanalıladı.

EKI OLSHEMLI MASSIVLERDI INICIALIZACIYALAW

Eki ólshemli massivlerdi inicializaciyalaw bir ólshemli massivlerge uqsas ámelge asırıladı. Tek ǵana qosımsha bir kvadrat qawıs hám ózgeriwshi qosıladı. 

MASSIVLERDI INICIALIZACIYALAW HA’M NATIYJE SHIG’ARIW

Eki ólshemli massiv elementlerin programma orınlanıw waqtında kiritiw

Scanner in = new Scanner(System.in); double[][] arr = new double[2][2]; for (int i=0; i < arr.length; i++) {

for (int j = 0; j < arr[i].length; j++) arr[i][j] = in.nextDouble();

}

Eki ólshemli massiv elementlerin keste kórinisinde nátiyjege shıǵarıw tómendegishe ámelge asırıladı:

for (int i=0; i < arr.length; i++) {

for (int j = 0; j < arr[i].length; j++) System.out.print(arr[i][j] + " ");

System.out.print();

}

KO’P O’LSHEMLI MASSIVLER

Kóp ólshemli massivler tómendegishe táriyplenedi: int[][][] ushOlshemli; // 3 ólshemli massiv String[][][][] tortOlshemli; // 4 ólshemli massiv double[][][][][][] besOlshemli; // 5 ólshemli massiv

hám tómendegishe jaratıladı:

ushOlshemli = new int[10][10][10]; tortOlshemli = new String[10][10][10][10]; besOlshemli = new double[10][10][10][10][10];

Ko’p olshemli massivlerdi ta’riyplew waqtinda da olardın’ baslang’ısh ma’nislerin menshiklewge bo’ladı. Mısalı:

int b[2][2]={{1,2},{3,4}};

Bul jerde massivtin’ b[0][0], b[0][1] elementleri sa’ykes turde 1, 2 ma’nislerin, al b[1][0], b[1][1] elementleri bolsa sa’ykes turde 3 ha’m 4 baslang’ish ma’nislerin menshikleydi. Egerde baslang’ısh ma’nisler jeterli bolmasa, onday jag’dayda ma’nisleri ko’rsetilmegen elementler nol ma’nisin menshiklep aladı.

int b[2][2]={{1,},{3,4}};

Bul jerde massivtin’ b[0][1] elementi 0 ma’nisin menshikleydi.

Jumıstıń maqseti: Kóp ólshemli massivlerdi járiyalaw. Olardıń elementlerine baylanıslardı shólkemlestiriw.

Teoriyalıq bólim: C++ tilinde massivler elementiniń tipine sheklewler qoyılmaydı, biraq bul tipler shekli ólshemdegi obyektlerdiń tipi bolıwı kerek. Sebebi, kompilyator massivtiń yadtan qansha orın (bayt) iyelewin esaplay alıwı kerek. Ásirese, massiv komponentası massiv bolıwı múmkin (vektorlar-vektorı), nátiyjede matrica dep atalıwshı eki ólshemli massiv payda boladı.

Eger matricanıń elementi de vektor bolsa, úsh ólshemli massivler – kub payda boladı. Usı jol menen sheshilip atırǵan máselege baylanıslı túrde qálegen ólshemdegi massivlerdi jaratıw múmkin.

C++ tilinde massivler elementiniń tipine sheklewler qoyılmaydı, biraq bul tipler shekli ólshemdegi obyektlerdiń tipi bolıwı kerek. Sebebi, kompilyator massivtiń yadtan qansha orın (bayt) iyelewin esaplay alıwı kerek. Ásirese, massiv komponentası massiv bolıwı múmkin (vektorlar-vektorı), nátiyjede matrica dep atalıwshı eki ólshemli massiv payda boladı.

Eger matricanıń elementi de vektor bolsa, úsh ólshemli massivler – kub payda boladı. Usı jol menen sheshilip atırǵan máselege baylanıslı túrde qálegen ólshemdegi massivlerdi jaratıw múmkin.

Eki ólshemli massivtiń sintaksisi tómendegi kóriniste boladı:

< tip> <at> [<uzınlıq>] [<uzınlıq>]

Máselen, 10x20 ólshemli haqıyqıy sanlar massiviniń járiyalanıwı:

float a[10][20];

Ámeliy bólim.

C++ tilinde biz kóp ólshemli massiv retinde belgili massivti dúze alamız. Mısalı:

Int x[3][4];

Bunda x, eki ólshemli massiv bolıp tabıladı. Ol eń kóbi 12 elementti saqlay aladı. Bul massivti tómende kórsetilgendey 3 qatardan ibarat keste retinde qarastırıwǵa boladı hám hár qatarda 4 baǵana bar. C++ baǵdarlamalastırıwdaǵı eki ólshemli massivtiń elementleri

Úsh ólshemli massivlerde usıǵan uqsas jumıs isleydi. Mısalı,

Float x[2][4][3];

Bul massiv x maksimum 24 elementti uslay aladı. Massivtegi elementlerdiń ulıwma sanın onıń ólshemlerin kóbeytiw arqalı biliwge boladı:

2*4*3=24

Kóp ólshemli massiv inicializaciyası

Ádettegi massiv sıyaqlı, biz kóp ólshemli massivti bir neshe usıl menen inicializaciyalaymız.

  1. Eki ólshemli massiv inicializaciyasi

Int test[2][3]={2,4,5,9,0,19};

Joqarıda atalǵan usıl artıqmashılıqqa iye emes. Bul massivti birdey massiv elementleri menen inicializaciyalawdıń jaqsı usılı tómende keltirilgen:]

= { Int test[2][3]={{2,4,5}, {9,0,19}};

Bul massivte 2 qatar hám 3 baǵana bar, sonlıqtan bizde hárqaysısı 3 elementten ibarat eki qatar elementler bar.

C++ te eki ólshemli massivtiń inicializaciyası

  1. Úsh ólshemli massivtiń inicializaciyası:

Int test[2][3][4]={3,4,2,3,0,-3,9,11,23,12, 23,2,13, 56,3,5,9,,5,5,1,4,9};

Bul úsh ólshemli massivti inicializaciyalawdıń jaqsı usılı emes. Bul massivti inicializaciyalawdıń jaqsı usılı tómendegishe:

Int test[2][3][4]={ {3,4,2,3}, {0,-3,9,11}, {23,12, 23,2}, {13, 56,3,5}, {9,5,5,1}, {4,9,1,5}};

Úsh ólshemli massiv elementlerin basıp shıǵarıdıń tiykarǵı kórinisi eki ólshemli massivtikine uqsas. Degen menen, biz úsh ólshemdi basqaratuǵınlıqtan, biz tek 2 emes, ulıwma 3 ulıwma ciklı bar for ciklın qollanamız:

dáslepki cikl i==0 den i==1 ge massivtiń birinshi ólshemine erisiledi;

dáslepki ortadaǵı cikl j==0 den j==2 ge massivtiń ekinshi ólshemine erisiledi;

dáslepki eń ishki cikl k==0 den k==1 ge massivtiń úshinshi ólshemine qatnasadı.

Kórip otırǵanımızday, massivtiń quramalılıǵı ólshemlerdiń úlkeyiwi menen eksponencial túrde artadı.

Massiv elementlerine múráját etiw ushın attan keyin kvadrat qawısta hár bir ólshem ushın indeks jazılıwı kerek, máselen b[i][j][k]. Bul elementke úskeneli múráját etiwge de boladı hám onıń variantlari:

Kóp ólshemli massivlerdi inicializacialaw

Massivlerdi inicializacialaw tómendegi mısallarda kórsetilgen:

Birinshi operatorda baslanǵısh mánisler izbe-iz jazılǵan, ekinshi operatorda mánisler toparlasqan, úshinshi operatorda da toparlasqan, biraq ayrım toparlarda aqırǵı mánisler berilmegen.

Taprsırma. U’sh student to’rt pa’n boyınsha bahalang’an. En’ joqarı, to’men ha’m ha’r qaysı student ushın o’rtasha baxanı tabın’.

Sheshiliwi. Sheshiw algoritminin’ ulıwma ko’rinisi to’mendegishe:

Ma’seleni sheshiwde 3 ke 4 olshemdegi eki olshemli massivten paydalanamız, bul massiv ma’nisleri studentlerdin’ alg’an bahalarınan ibarat boladı.

To’mendegi programmadag’ı paydalanılg’an studentGrades atlı 3 ke 4 olshemdegi massiv menen bir neshe a’mellerdi o’rınlaydı. Bul jerdegi lowGrade o’zgeriwshisi da’stlep maksimal baha 100 ma’nisin menshiklep aladı. Keyin ha’r bir studentke berilgen bahalardı salıstıradı ha’m olardın’ ishinen en’ kishisin menshiklep aladı. highGrade o’zgeriwshisi da’stlep minimal baha 0 ma’nisin menshiklep aladı. Keyin ha’r bir studentke berilgen bahalardı salıstıradı ha’m olardın’ ishinen en’ u’lkenin menshiklep aladı. total o’zgeriwshisi har qaysı student ushın ortasha bahanı esaplaydı.

С++ tilinde du’zilgen esaplaw programmasın ha’m alıng’an na’tiyjeler to’mendegishe:

#include<iostream.h>

#include<iomanip.h>

#include<conio.h>

const int students=3; // Studentlerdin’ sanı;

const int exams=4; // Imtixanlardın’ sanı;

main()

{

int studentGrades[students][exams]={{77, 66, 88, 73},

{96, 94, 88, 87},

{70, 90, 84, 66}};

cout<<"Massiv"<<endl;

cout<<" [0] [1] [2] [3]";

for( int i=0; i<students; i++){

cout<<endl<<i<<"-student bahasi ";

for( int j=0; j<exams; j++)

cout<<setiosflags(ios::left)<<setw(5)<<studentGrades[i][j];

}

cout<<endl<<endl<<"En’ jaman baha: ";

int lowGrade=100;

for(i=0; i<students; i++)

for(int j=0; j<exams; j++)

if (lowGrade>studentGrades[i][j])

lowGrade=studentGrades[i][j];

cout<<lowGrade<<endl;

cout<<"En’ jaqsi baha: ";

int highGrade=0;

for( i=0; i<students; i++)

for( j=0; j<exams; j++)

if (highGrade<studentGrades[i][j])

highGrade=studentGrades[i][j];

cout<<highGrade<<endl;

for(i=0; i<students; i++) {

float total=0;

cout<<i<<" -Studenttin’ ortasha bahasi: ";

for(j=0; j<exams; j++) {

total=total+studentGrades[i][j];

};

cout<<setiosflags(ios::fixed|ios::showpoint)<<

setprecision(2)<<total/exams<< " ge ten’"<<endl;

}

return 0;

}

Programmistler ádette 1 hám 2 ólshemli massivlerden kóbirek paydalanıladı. 3 ólshemli massivlerden júda az, 4 hám onnan joqarı ólshemli massivlerden derlik paydalanbaydı.

PAYDALANÍLǴAN ÁDEBIYATLAR

  1. Kosimov S.S. Axborot texnologiyalari. Toshkent – “Aloqachi”-2006

  2. B.Yu.Xodiev, B.A.Begalov i dr. Vvedenie v bazι dannιx i znaniy. Toshkent.-

2003

  1. İnformatsionnιe sistemι i texnologii v ekonomike i upravlenii. Pod red V.V.Trofimova. M., Vιsshee obrazovanie-2007

  2. Gulomov S.S. va boshk. Axborot tizimlari va texnologiyalari. Toshkent., «ShARK», 2000.-591 b.

  3. Olifer V.G. Komp`yuternιe seti. Printsipι, texnologii, protokolι: Ucheb. posobie dlya stud.vuzov/-3-e izd.-M.; SPB.; Nijniy Novgorod: Piter,2006.-958s.

  4. Trofimova İ.P. Sistemι obrabotki i xraneniya informatsii. M.: Vιssh. shkola,

1989.

  1. Zamulin A.V. Sistema programmirovaniya baz dannιx i znaniy. Novosibirsk : Nauka, 1990.

  2. R. Djordeyn. Spravochnik programmista personal`nιx komp`yuterov tipa IVM RS, XT i AP. M.: Finansι i statistika, 1992.

Соседние файлы в папке REFERAT