5 6 7 8 - Amaliy matematika ” yo’nalishi 22-08-guruh talabasi Turg’unova Gulsanamning

|
Amaliy matematika ” yo’nalishi 22-08-guruh talabasi Turg’unova Gulsanamning
|
bet | 9/14 | Sana | 09.06.2024 | Hajmi | 0,74 Mb. | | #261850 |
Bog'liq Amaliy matematika ” yo’nalishi 22-08-guruh talabasi Turg’unova G 1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
21 22 23 24
Massivlar daraja yoki o‘lchovlar soni kabi tushuncha bilan tavsiflanadi. Massivlar 1, 2, 3 yoki n o‘lchamli bo‘lishi mumkin. Ko‘p o‘lchmali massivlarni 2 o‘lchamli massivlar misolida ko‘rib boramiz Bir o‘lchovli massivlarni bitta gorizontal qator kabi tasavvur qilishimiz mumkin, misol uchun:
int[] nums1 = new int[] { 0, 1, 2, 3, 4 };
Bu massivning vizual ko‘rinishi
0
1
2
3
4
Endi esa 2 o‘lchamli massivga misol ko‘ramiz:
int[,] nums2 = { { 0, 1, 2 }, { 3, 4, 5 } };
Vizual ko‘rinishda bu massiv:
0
1
2
3
4
5
Ko‘p o‘lchamli massivlarni e’lon qilish uchun kvadrat qavs ichiga vergul qo‘yiladi, yani [,] ikki o‘lchamli massiv, [,,] uch o‘lchamli massiv va hokazo.
int[,] arr2d; // ikki o‘lchamli massiv
int[,,] arr3d; // uch o‘lchamli massiv
int[,,,] arr4d; // to‘rt o‘lchamli massiv
int[,,,,] arr5d; // besh o‘lchamli massiv
II BOB. BIR O‘LCHAMLI MASSIVLAR BILAN ISHLASHNING AMALIY USULLARI
2.1-§. For va foreach tsikllaridan foydalanish.
Iteratsiya operatorlari bir yoki bir nechta ko‘rsatmalarni takroran bajaradi. For operatori ma'lum bir mantiqiy ifoda true qiymatini qabul qilguncha matnni bajaradi. Foreach ko‘rsatmasi to‘plamdagi elementlarni sanab chiqadi va har bir element uchun uning matnini bajaradi. Do operatori o‘z matnini bir yoki bir nechta marta shartli ravishda bajaradi. While operatori esa uning tanasini nol yoki undan ko‘p marta shartli ravishda bajaradi.
Iteratsiya ko‘rsatmasi matnida istalgan vaqtda break ko‘rsatmasi yordamida tsikldan chiqish mumkin. Siz continue ko‘rsatmasi yordamida tsiklda keyingi iteratsiyaga o‘tishingiz mumkin.
For ko‘rsatmasi
For operatori ma'lum bir mantiqiy ifoda true qiymatini qabul qilguncha ko‘rsatma yoki ko‘rsatmalar blokini bajaradi. Quyidagi misolda for ko‘rsatmasi butun sonli hisoblagich uchdan kichik bo‘lgunicha tanani bajaradi:
Misol:
for (int i = 0; i < 3; i++)
{
Console.Write(i);
}
// Chiqish:
// 012
For operatorining tarkibiy qismlari:
Boshlang’ich tayinlash qismi, bu faqat bir marta, tsiklga kirishdan oldin bajariladi. Odatda, bu qismda tsikl uchun mahalliy o‘zgaruvchi e'lon qilinadi va boshlang’ich qiymati beriladi. For operatoridan tashqarida e'lon qilingan o‘zgaruvchiga kirish mumkin emas.Misolda boshlang’ich tayinlash qismida butun sonli o‘zgaruvchi e'lon qilinadi va unga boshlang’ich qiymat beriladi:csharpCopy codeint i = 0
Shart qismi, bu keyingi iteratsiyani bajarish kerakligini aniqlaydi. Agar qiymat true bo‘lsa, keyingi iteratsiya bajariladi; aks holda, tsikl tugatiladi. Shart qismi mantiqiy ifoda bo‘lishi kerak.Misoldagi shart qismida hisoblagichning uchdan kichikligi tekshiriladi:csharpCopy codei < 3
Iterator qismi, bu har bir tsikl tanasining bajarilishidan keyin nima bo‘lishini belgilaydi.Misoldagi iterator qismida hisoblagich qiymati oshiriladi:
Tsikl tanasi bu operator yoki operatorlar bloki bo‘lishi kerak.Iterator qismi quyidagilarni o‘z ichiga olishi mumkin:
inkrement yoki dekrement ifodalari, masalan, ++i yoki i--
- tayinlash
- metod chaqirish
- await ifodasi
- yangi obyekt yaratish
Boshlang’ich tayinlash qismida o‘zgaruvchi e'lon qilinmagan bo‘lsa, u erda ham yuqorida sanab o‘tilgan ifodalar qo‘llanilishi mumkin. Quyidagi misolda boshlang’ich tayinlash va iterator qismlarining kamroq keng tarqalgan variantlari ko‘rsatilgan: tashqi o‘zgaruvchiga qiymat tayinlash, metodlarni chaqirish va ikkita o‘zgaruvchining qiymatini o‘zgartirish.
Misol:
int i;
int j = 3;
for (i = 0, Console.WriteLine(Start: i={i}, j={j}"); i < j; i++, j--, Console.WriteLine("Step: i={i}, j={j}"))
{
//...
}
// Chiqish:
// Start: i=0, j=3
// Step: i=1, j=2
// Step: i=2, j=1
For operatorining barcha qismlari majburiy emas. Masalan, quyidagi koddagi cheksiz for tsikli:
Misol:
for ( ; ; )
{
//...
}
Foreach ko‘rsatmasi
Foreach operatori har bir element uchun System.Collections.IEnumerable yoki System.Collections.Generic.IEnumerable interfeysini amalga oshirgan tipning misoli uchun ko‘rsatma yoki ko‘rsatmalar blokini bajaradi.
Misol:
fibNumbers = [0, 1, 1, 2, 3, 5, 8, 13];
foreach (int element in fibNumbers)
{
Console.Write($"{element} ");
}
// Chiqish:
// 0 1 1 2 3 5 8 13
Foreach operatori faqat shu tiplar bilan cheklanmaydi. U har qanday tipning misoli bilan ishlatilishi mumkin, agar quyidagi shartlarga javob bersa:
Tipda parametrsiz GetEnumerator metodining ochiq usuli mavjud bo‘lishi kerak. Bu GetEnumerator metodi tipning kengaytirilgan metodlari bo‘lishi mumkin.GetEnumerator metodining qaytarilgan qiymat tipida parametrsiz MoveNext metodi va Current xususiyati bo‘lishi kerak.Quyidagi misolda System.Span tipining misoli bilan foreach operatoridan foydalanish ko‘rsatilgan, bu tip interfeysni amalga oshirmaydi:
Misol:
Span numbers = [3, 14, 15, 92, 6];
foreach (int number in numbers)
{
Console.Write("{number} ");
}
// Chiqish:
// 3 14 15 92 6
Agar enumeratori Current xususiyati ref T (T bu to‘plam elementi turi) turidagi qaytariladigan qiymatni qaytarsa, iteratsiya o‘zgaruvchisini ref yoki ref readonly modifikatori bilan e'lon qilish mumkin.
|
| |