MIRZO ULUG`BEK NOMIDAGI
O`ZBEKISTON MILLIY UNIVERSITETI
AMALIY MATEMATIKA VA
INTELLEKTUAL TEXNOLOGIYALAR FAKULTETI
ALGORITMIK TILLAR VA DASTURLASH FANIDAN
MALAKAVIY AMALIYOT ISHI
KOMPYUTER ILMLARI VA DASTURLASH TEXNOLOGIYALARI
TALABA: ANAZBEKOVA HILOLA
O`QITUVCHI:__________________
O`ZMU – 2023
1-Mavzu: Ko`p o`lchamli massivlar bilan ishlash
Massiv bir xil turdagi ma'lumotlar to'plamini ifodalaydi. Massiv e’loni o‘zgaruvchilar e’loniga o‘xshaydi, faqat turdan keyin kvadrat qavs qo‘yiladi:
o'zgaruvchi_turi[] massiv_nomi;
Masalan, butun sonlar massivini aniqlaymiz:
int[] numbers;
Massivlar rang yoki o'lchamlar soni kabi tushunchalar bilan tavsiflanadi. Yuqorida bir o'lchamga ega bo'lgan (ya'ni ularning rangi 1) massivlar ko'rib chiqildi - bunday massivlarni elementlarning qatori (satr yoki ustuni) sifatida qarash mumkin. Lekin massivlar ko'p o'lchamli ham bo'lishi mumkin. Bunday massivlar 1 dan katta o'lcham(ya'ni rang)larga ega.
Ikki o'lchamli (rangi 2 ga teng) bo'lgan massivlar ikki o'lchovli deyiladi. Masalan, quyida bir xil elementlarga ega bo'lgan bir o'lchovli va ikki o'lchovli massivlar yaratiladi:
int[] nums1 = new int[] { 0, 1, 2, 3, 4, 5 };
int[,] nums2 = { { 0, 1, 2 }, { 3, 4, 5 } };
Massivlar ko'proq o'lchamlarga ham ega bo'lishi mumkin. 3 o’lchovli massiv e’loni quyidagicha bo‘lishi mumkin:
int[,,] nums3 = new int[2, 3, 4];
Mos ravishda, to'rt o'lchovli massivlar va undan-da katta o'lchamli massivlar bo'lishi mumkin. Ammo amalda odatda bir o'lchovli va ikki o'lchovli massivlardan foydalaniladi.
Ko'p o'lchovli massivni sanab o'tish ma'lum bir murakkablikni keltirib chiqarishi mumkin. Avvalo, bunday massivning uzunligi elementlarning umumiy soni ekanligini yodda tutish kerak.
int[,] numbers = { { 1, 2, 3 }, { 4, 5, 6 }};
foreach (int i in numbers)
Console.Write("{i} ");
Bu holda numbers massivining uzunligi 6 ga teng. Va foreach sikli massivning barcha elementlarini bitta satrga chiqaradi:
1 2 3 4 5 6
1-masala 5 ta satr va 7 ta ustundan iborat haqiqiy turdagi matritsa berilgan. Uning satrlari kamaymaydigan ko‘rinishda tartiblansin.
Dasturi:
using System
class Program
{
static void Main(string[] args)
{
int[,] matritsa = new int[5, 7] {
{ 9, 8, 7, 6, 5, 4, 3 },
{ 2, 1, 0, 9, 8, 7, 6 },
{ 5, 4, 3, 2, 1, 0, 9 },
{ 8, 7, 6, 5, 4, 3, 2 },
{ 1, 0, 9, 8, 7, 6, 5 }
};
// Matritsani tartiblash
for (int i = 0; i < matritsa.GetLength(0); i++)
{
for (int j = 0; j < matritsa.GetLength(1) - 1; j++)
{
for (int k = 0; k < matritsa.GetLength(1) - j - 1; k++)
{
if (matritsa[i, k] > matritsa[i, k + 1])
{
int temp = matritsa[i, k];
matritsa[i, k] = matritsa[i, k + 1];
matritsa[i, k + 1] = temp;
}
}
}
}
// Matritsani chiqarish
Console.WriteLine("Matritsa tartiblangan ko'rinishda:");
for (int i = 0; i < matritsa.GetLength(0); i++)
{
for (int j = 0; j < matritsa.GetLength(1); j++)
{
Console.Write(matritsa[i, j] + " ");
}
Console.WriteLine();
}
Console.ReadKey();
}
}
}
Ushbu koddagi matritsa.GetLength(0) va matritsa.GetLength(1) matritsa o'lchamlarini olish mumkin: int rows = matritsa.GetLength(0); // satrlar soni int cols = matritsa.GetLength(1); // ustunlar soni
Natija:
Matritsa tartiblangan ko'rinishda:
3 4 5 6 7 8 9
0 1 2 6 7 8 9
0 1 2 3 4 5 9
2 3 4 5 6 7 8
0 1 5 6 7 8 9
2-Mavzu: Satrlar bilan ishlash
C# tili Unicode belgilar majmuasini qo‘llab-quvvatlaydi. Til kutubxonasida har bir guruh belgilari uchun maxsus funksiyalar to‘plami aniqlangan. Satr char turidagi belgilar massivi sifatida qaraladi va bu belgilar ketma-ketligi satr terminatori deb nomlanuvchi 0 kodli belgi bilan tugaydi (‘\0’). Odatda, nol terminator bilan tugaydigan satrlarni Unicode -satrlar deyiladi.
Kompyuterda odamlar tushunadigan matn va raqamlarni saqlash imkoniyatiga ega bo'lish uchun, belgilarni sonlarga aylantiradigan kod bo'lishi kerak. Unicode standarti bunday kodni belgili kodlash yordamida belgilaydi. Maxsus belgilar kodlash sxemasi bir kompyuterda yorqin tarzda ishlashi mumkin, ammo o'sha matnni boshqasiga yuborganingizda muammolar paydo bo'ladi.
Barcha belgilar kodirovkasi foydalanilishi mumkin bo'lgan har bir belgi uchun raqamni belgilaydi.
ASCII (ma'lumot almashish uchun Amerika standart kodi) birinchi keng tarqalgan kodlash sxemasi hisoblanadi. Lekin, faqat 256 ta belgilar bilan cheklangan. Bu eng keng tarqalgan inglizcha harflar, raqamlar va tinish belgilariga mos keladi, ammo butun dunyo uchun biroz cheklangan.
Keyinchalik dunyoning boshqa joylari ham o'zlarining kodlash sxemalarini yaratishga kirishdi.
Unicode ning maqsadi barcha turdagi kodlash sxemalarini birlashtirish, ya'ni kompyuterlar o'rtasidagi chalkashlik imkon qadar cheklangan bo'lishi mumkin.
Dasturlash nuqtai nazaridan string ma'lumot turi C# da eng muhim turlardan biridir. Ushbu tur belgilardan tuzilgan satrlarini aniqlaydi va qo'llab-quvvatlaydi. Boshqa bir qator dasturlash tillarida satr belgilar qatoridan iborat va C# da satrlar obyektlar hisoblanadi.String oqimini yaratishda, kichik obyekt shakllanadi.
"C# da, satrlar obyektlardir." matnli satri C# yordamida avtomatik ravishda satr obyektiga aylantiriladi.
Belgilar satrini yaratishning eng oson usuli bu tom ma'nodagi satrdan foydalanishdir.
Bunday holda, str o'zgaruvchi quyidagi belgilar ketma-ketligi bilan boshlanadi "C# satrlari juda samarali".
Obyekt turi string ham satr turi char dan yaratilishi mumkin.
string turi obyekt yaratilgandan so'ng, uni qo'shtirnoq ichidagi matn satri kerak bo'lganda, u har bir joyda foydalanish mumkin.
Belgini (simvolni) saqlash uchun mo`ljallangan o’zgaruvchilarga belgili o’zgaruvchilar deyiladi. C# tilida bu o’zgaruvchilar uchun char toifasi keltirilgan. char toifasidagi o’zgaruvchi Unicode kodidagi belgilaridan ixtiyoriy birisi bo’lishi mumkin.
Belgili o’zgaruvchilarni e’lon qilish quyidagicha bo'ladi:
Dostları ilə paylaş: |