Qoraqalpoq davlat universiteti matematika fakulteti amaliy matematika va informatika kafedrasi



Download 3,03 Mb.
Pdf ko'rish
bet22/34
Sana29.01.2022
Hajmi3,03 Mb.
#418526
1   ...   18   19   20   21   22   23   24   25   ...   34
Bog'liq
A\'maliy ishlar2021qullanma copy

Mustaqil topshiriq. 
Quyidagi berilgan masalaga C++ tilida dastur tuzing: 


36 
A haqiyqiy soni va N>0 soni berilgan. Bir tsiklni foydalanib 
1
yig‟indisini toping 
 
Amaliy ish №5 
Mavzu: 
Bir o’lchamli va ko’p o’lchamli massivlarga oid algoritmlarni 
programmalashtirish.
Amaliy ishning maqsadi: 
Bir o‟lchamli va ko‟p o‟lchamli massivlarga oid 
algoritmlarni programmalashtirishni o‟rganish.
Qisqacha nazariy ma’lumot: 
Massivlar 
Xotirada ketma-ket joylashgan bir xil turdagi qiymatlarga massiv deyiladi. 
Massivni kuyidagi narsalar bilan ifodalanadi: nomi, turning o„lchami va uzunligi. 
Birinchi navbatda regulyar turlar kelib chiqish sabablarini ko„raylik. Odatda 
massivlar zarurat katta hajmdagi, lekin cheklangan miqdordagi va tartiblangan 
turdagi qiymatlarni qayta ishlash bilan bog„liq masalalarni echishda yuzaga keladi. 
Faraz qilaylik, talabalar guruhining reyting ballari bilan ishlash masalasi: guruhning 
o„rtacha reytingi, reytinglarni kamayishi bo„yicha tartiblash, konkret talabani reytingi 
haqida ma‟lumot berish va hakoza. Qayd qilingan masalalarni echish uchun 
boshi 
A

n=n+1
е=10
-3
, s=0, N=1 
n, S 


tamam 


37 
berilganlarning (reytinglarning) tartiblangan ketma-ketligi zarur bo„ladi. Bu erda 
tartiblanganlik ma‟nosi shundaki, ketma-ketlikning har bir qiymati o„z o„rniga ega 
bo„ladi (birinchi talabaning reytingi massivda birinchi o„rinda, ikkinchi talabaniki - 
ikkinchi o„rinda va hakoza). Berilganlar ketma-ketligini ikki xil usulda hosil qilish 
mumkin. Birinchi yo„l- har bir reyting uchun alohida o„zgaruvchi aniqlash - 
Reyting1, Reyting2, … ReytingN. Lekin, guruhdagi talabalar soni etarlicha katta 
bo„lganda, bu o„zgaruvchilar qatnashgan programmani tuzish katta texnik 
qiyinchiliklarni yuzaga keltiradi. Ikkinchi yo„l - berilganlar ketma-ketligini yagona 
nom bilan aniqlab, uning qiymatlariga murojaat shu qiymatlarning ketma-ketlikda
joylashgan o„rnining nomeri (indeksi) orqali amalga oshirishdir. Reytinglar ketma-
ketligini Reyting deb nomlab, undagi qiymatlariga Reyting
1
, Reyting
2
, … Reyting

ko„rinishida murojaat qilish mumkin. Odatda berilganlarning bunday ko„rinishiga 
massivlar 
deyiladi. Massivlarni matematikadagi sonlar vektoriga o„xshatish mumkin, 
chunki vektor ham o„zining individual nomga ega va tuzilma fiksirlangan miqdordagi 
bir turdagi qiymatlardan - sonlardan iboratdir. 
Demak, massiv - bu fiksirlangan miqdordagi ayrim qiymatlarning (massiv 
komponentalari) tartiblangan majmuasidir. Barcha komponentalar bir xil turda 
bo„lishi kerak va bu tur 
komponenta turi
yoki massiv uchun 
asos tur
deb nomlanadi. 
YUqoridagi keltirilgan misolda Reyting - haqiqiy turdagi vektor deb nomlanadi.
Programmada ishlatiladigan har bir konkret massiv o„zining individual nomiga 
ega bo„lishi kerak. Bu nomni 
to‘liq o‘zgaruvchi
deyiladi, chunki uning qiymati butun 
massiv bo„ladi. Massivning har bir komponentasi massiv nomi, hamda kvadrat 
qavsga olingan va komponenta selektori deb nomlanuvchi indeksni ko„rsatish orqali 
oshkor ravishda belgilanadi. Murojaat sintaksisi: 
[]. 
Bu ko„rinishga 
xususiy o‘zgaruvchi
deyiladi, chunki uning qiymati massivning 
alohida komponentasidir. Bizning misolda Reyting massivining alohida 
komponentalariga Reyting[1], Reyting[2],…, Reyting[N] xususiy o„zgaruvchilar 
orqali murojaat qilish mumkin. Boshqacha bu o„zgaruvchilarni 
indeksli 
o‘zgaruvchilar
deyiladi.


38 
Umuman olganda indeks sifatida ifoda ishlatilishi mumkin. Ifoda qiymati 
massiv komponentasi nomerini aniqlaydi. Ifodaga o„zgaruvchi ham kirishi 
mumkinki, o„zgaruvchi qiymatini o„zgarishi bilan murojaat qilinayotgan massiv 
komponentasi aniqlovchi indeks ham o„zgaradi. SHunday qilib, programmadagi bitta 
indeksli o„zgaruvchi orqali massivning turli komponentalarini belgilash mumkin. 
Masalan, Reyting[I] o„zgaruvchisi orqali I o„zgaruvchining qiymatiga bog„liq 
ravishda Reyting massivining turli (barcha) komponetalariga murojaat qilish 
mumkin. SHuni qayd qilish kerakki, aksariyat hollarda massiv indeksi sifatida butun 
son indekslari qo„llaniladi. 
Haqiqiy turdagi (Float, Double) qiymatlar to„plami cheksiz bo„lganligi sababli 
ular indeksi sifatida ishlatilmaydi. 
Massivning xar bir qiymati massivning elementi deyiladi. Har bir element o„z 
nomeriga ega, bu nomerlar massiv indekslari deyiladi. 
S++ tilida indeks doimo 0 dan boshlanib, butun musbat sonlar bulishi mumkin, 
uning qiymati massiv uzunligidan kichik bo„lishi kerak.
Massiv e‟loni quyidagicha bo„ladi: 
[uzunlik]={boshlang„ich qiymatlar} 
Bu erda uzunlik – o„zgarmas ifoda. Misollar: 
int m[6]={1,4,-5,2,10,3]; 
float a[4]; 
Massiv statik va dinamik bo„lishi mumkin. Statik massivning uzunligi 
oldindan ma‟lum bo„lib, u berilganlar xotirasida ma‟lum adresdan boshlab ketma-ket 
joylashadi. Dinamik massivni uzunligi programma bajarilish jarayonida aniqlanib, u 
dinamik xotira ayni paytda bo„sh bo„lgan adreslarga joylashadi.
Masalan, 
int m[6]; 
ko„rinishida e‟lon qilingan bir o„lchamli massiv elementlari xotirada quyidagicha 
joylashadi 
m m[0] m[1] m[2] m[3] m[4] m[5] 


39 
adres qiymatlar
Massivning i elementiga m[i] yoki *(m+i) – vositali murojaat qilish mumkin. 
Massiv uzunligini sizeof(m) amali orqali aniqladi. 
Massiv e‟lonida uning elementlariga boshlang„ich qiymatlar berish 
(initsializatsiyalash) mumkin. Massivni bir necha variantlar bilan initsializatsiyalash 
mumkin: 
a) int t[5]={-10,5,15,4,3}; 
Bunda 5 ta elementdan iborat bo„lgan t nomli bir o„lchamli massiv e‟lon 
qilingan va uning barcha elementlariga boshlang„ich qiymatlar berilgan: 
t[0]=-10; t[1]=5;t[2]=15;t[3]=4;t[4]=3. 
b) int t[5] = {-10,5,15} 
Bu erda faqat massivning boshidagi uchta elementiga boshlang„ich qiymatlar 
berilgan. SHuni aytib o„tish kerakki, massivni boshidvgi yoki o„rtadagi
elementlariga qiymatlar bermasdan, uning oxiridagi elementlarga boshlang„ich 
qiymat berish mumkin emas. Agarda massiv elementlariga boshlang„ich qiymat 
berilmasa, unda kelishuv bo„yicha static va extern modifikatori bilan e‟lon qilingan 
massiv elementlarining qiymati 0 soniga teng deb, automatic massivlar 
elementlarining boshlang„ich qiymati noma‟lum hisoblanadi. 
v) int t[] = {-10,5,15,4,3}; 
Bu misolda massivni barcha elementlariga qiymatlar berilgan hisoblanadi, 
massiv uzunligi kompilyator tomonidan boshlang„ich qiymatlar soniga qarab
aniqlanadi. Agarda massivni uzunligi berilmasa, boshlang„ich qiymati berilishi shart. 
Massivni e‟lon qilish misollari: 
shar ch[4] = {„a‟, „b‟,‟c‟,‟d‟}; // belgilar massivi e‟lon qilingan 
int in[6] ={10,20,30,40}; // butun sonlar massivi 
char str[]=”abcd”; //satr uzunligi 5 ga teng, chunki uning oxiriga „\0‟
//belgisi qo„shiladi 
char str[]={„a‟,‟b‟,‟c‟,‟d‟}; // yuqoridagi satrning boshqacha yozilishi 


40 
Masala. Bir oy ichidagi kundalik temperatura berilgan, oy uchun o„rtacha 
temperaturani hisoblash programmasini keltiramiz: 
void main() 
{
const int n=30; 
int temp[n]; 
int i,s,temp_urtacha; 
cout << “ kunlik haroratni kiriting:\n” 
for (i=0;i
cout << ”\n temp[“<cin >> temp[i]; 

for (i=0,s=0; itemp_urtacha=s/n; 
cout << “kunlik harorat :\n”; 
for (i=0;icout <<” O\‟rta temperatura =” << temp_urtacha; 
return; 


Download 3,03 Mb.

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




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