O’zbekiston-Finlandiya pedagogika instituti Aniq-Tabiiy fanlar va Jismoniy madanyat fakulteti Matematika va Informatika yo’nalishi talabasi Eshquvvatov Javohirning Dasturlash Asoslari va tillari fanidan Mavzu : „ C++ DA BIR O‘LCHOVLI IKKI O‘LCHOVLI VA DINAMIK MASSIVLAR“
KURS ISHI
Himoya qilingan sanasi:
30.05.2023-yil Baho:
Mundarija:
I.BOB. Kirish…………………………..………………..………………..………………..…………...……3
II.BOB. Asosiy qism . Massivlar bilan ishlash…………………………..…4 2.1 Massiv haqida umumiy tushuncha………….……………..…...….9 2.2 Bir o`lchovli massivlar……………………………………….….….12 2.3 Ikki va ko’p o`lchovli massivlar……….………………..…………...15 III. BOB Massivlarning umumiy holda qo`llanilishi. ………………..…..17 3.1 Dinamik massivlar..……………….………………………….…..…...18 3.2 Funksiyalarda massiv qo`llanishi…………………………..…….20
Xulosa. …………………..…………………..………………….……....…..21
Foydalanilgan adabiyotlar…………………………………..……………..22.
Kirish
Ma`lumki, programma mashina kodlarining qandaydir ketma – ketligi bo`lib, aniq bir xisoblash vositasini amal qilishini boshqaradi. Programma ta`minotini yaratish jarayonini osonlashtirish uchun yuzlab programma - lash tillari yaratilgan . Barcha programmalash tillarini ikki toifaga ajratish mumkin.
Quyi darajadagi programmalash tillariga Assembler turidagi tillar kiradi . Bu tillar nisbatan qisqa va tezkor bajariluvchi kodlarni yaratish imkoniyatini beradi. Lekin, assembler tilida programma tuzish zaxmatli, nisbatan uzoq davom etadigan jarayondir . Bunga qarama – qarshi ravishda yuqori bosqich tillari yaratilganki , ularda tabiiy tilning cheklangan ko`rinishidan foydalangan holda programma tuziladi. Yuqori bosqich tillaridagi operatorlar , berilganlarning turlari , o`zgaruvchilar va programma yozishning turli usullari tilning ifodalash imkoniyatini oshiradi va programmani <> bo`lishini ta`minlaydi. Yuqori bosqich tillariga Fortran, PL/1, Prolog, Lisp, Basic, Pascal, C va boshqa tillarni misol keltirish mumkin. Kompyuter arxitekturasini takomillashuvi, kompyuter tarmog`ining rivojlanishi mos ravishda yuqori bosqich tillarini yangi variantlarini yuzaga kelishiga, yangi tillarni paydo bo`lishiga ayrim tillarni esa yo`qolib ketishiga olib keldi . Xozirda keng tarqalgan tillarga Object Pascal, C++, C#, Php, Java , Asp tillari xisoblanadi. Xususan , C tilining takomillashgan variant C++ tilini olishimiz mumkin.
1972 – yilda Denis Ritch va Brayan Kernegi tomonidan C tili yaratildi .
1980 – yilda Byarn Straustrop C tilining avlodi C++ tilini yaratdiki,
unda strukturali va obektga yo`naltirilgan programmalash texnologiyasiga tayangan xolda programma yaratish imkoniyati tug`ildi.
С++ funksiya va obyektlarning juda boy kutubxonasiga ega . Yani C++ da dasturlashni o`rganish ikki qismga bo`linadi . Birinchisi bu C++ ni o`zini o`rganish , ikkinchisi esa C++ ning standart kutubxonasidagi tayyor obyekt funksiyalarni qo`llashni o`rganishdir.
Massiv – bu bir toifali , chekli qiymatlarning tartiblangan to`plamidir . Massivlarga misol qilib matematika kursidan ma`lum bo`lgan vektorlar , matritsalarni ko`rsatish mumkin .
Massivlar odatda bir o`lchovli va ko`p o`lchovli turlarga
bo`linadi.
Massiv bir o`lchamli deyiladi, agar uning elementiga bir indeks orqali murojat qilish mumkin bo`lsa.
C\C++ dasturlash tillaridagi massiv elementlar indekislari har doim noldan boshlanadi (birdan emas) . Bizga char tipidagi m nomli massiv berilgan bo`lsin . Va u 3 ta elementdan tashkil topgan bo`lsin.
m[0] -9 ;
m[1] 15;
m[2] 3;
Demak, elementga murojat qilish uchun massiv nomi va [] qavslar ichida element indeksi yoziladi.
Bu yerda birinchi element qiymati -9 , ikkinchi element – 1 nomerli indeksda -15 qiymati bor ekan. Oxirgi element indeksi n-1 bo`ladi (n-massiv elementlari soni). [] qavs ichidagi indeks butun son yoki butun songa olib keluvchi ifoda bo`lmog`i lozim. Masalan:
int n=6, m=4;
L[n-m]=33; // L[2]=33;
Cout<Massiv elementlariga murojat qilish oddiy o`zgaruvchilarga murojat qilishdan biroz farq qiladi . Massiv elementiga murojat qilish indeksi orqali bo`ladi.
a[1] = 5; a massivning indeksi 1 bo`lgan elementi 5 qiymat o`zlashtirilsin.
cin>>a[2]; a massivning elementi 2 bo`lgan elementi kiritilsin;
cout<Bir o`lchamli massivlarni e`lon quyidagicha bo`ladi :
[elementlar _soni] = { boshlang`ich qiymatlar };
1)float a[5], 2) int b[6], 3) boll c[7];
1) a elementi haqiqiy sondan iborat bo`lgan , 4 ta elementdan
tashkil topgan massiv. Indekslari esa 0 dan 3 gacha bo`lgan sonlar.
Float a[5]
Massiv
elementlari
a [0]
a [1]
a [2]
a [3]
a [4]
Qiymati
4
11
-8
12
122
2) b elementi butun sondan iborat bo`lgan , 6 ta elementdan tashkil topgan massiv. Indekslari esa 0 dan 5 gacha bo`lgan sonlar.
int a[6]
Massiv
elementlari
a [0]
a [1]
a [2]
a [3]
a [4]
a [5]
Qiymati
2
99
-5
28
112
54
3) c elementlari mantiqiy qiymatlardan ( true, false ) iborat bo`lgan 7 ta elementdan tashkil topgan massiv. Indekslari esa 0 dan 6 gacha bo`lgan sonlardir.
Massivni e`lon qilishda uning elementlariga boshlang`ich qiymat berish mumkin va buning bir necha usuli mavjud.
O`lchami ko`ratilgan massivni to`liq initsializatsiyalash.
int k[5] = {2, 15 , -9, 45, 3 , 7};
Bu yerda 5 ta elementdan iborat k massivi e`lon qilingan va massivning barcha elementlariga boshlang`ich qiymat berilgan.
Bu yerda 5 ta elementdan iborat bo`lgan k massivi e`lon qilingan va dastlabki 3 ta elementlariga boshlang`ich qiymat berilgan.
O`lchami ko`rsatilmagan massivni to`liq initsializatsiyalash.
int k[] = {2, 15 , -9, 45, 3 , 7};
Shuni takidlash lozimki , agar massiv o`lchami ko`rsatilmasa , uni to`liq initsializatsiyalash shart. Bu xolda massiv o`lchami kompilyatsiya jarayonida massiv elementlar soniga qarab aniqlanadi. Bu yerda massiv o`lchami 5 ga teng.
O`lchami ko`rsatilgan massivning barcha elementlariga boshlang`ich qiymat 0 berish.
int k[5] = {0};
Masalan:
1-misol
O`lchami ko`rsatilgan massivning barcha elementlariga boshlang`ich qiymat 0 berish.