Mavzu: C# dasturlash asoslari. Reja: Kirish Asosiy qism



Yüklə 47,12 Kb.
səhifə5/5
tarix28.04.2023
ölçüsü47,12 Kb.
#104017
1   2   3   4   5
7 - mavzu

Kortejlar

Kortejlar C# 7.0 da qo'shilgan qiymatlar to'plami bilan ishlashning qulay usulini ta'minlaydi.
Tuple qavslar ichiga olingan qiymatlar to'plamini ifodalaydi:
var tuple = (, 10);
Bunday holda, ikkita qiymatga ega bo'lgan kortej aniqlanadi: 5 va 10. Kelajakda biz ushbu qiymatlarning har biriga nomli maydonlar orqali kirishimiz mumkin:
Masalan:
var tuple = (5, 10);
Console.WriteLine(tuple.Item1); // 5
Console.WriteLine(tuple.Item2); // 10
tuple.Item1 += 26;
Console.WriteLine(tuple.Item1); // 31
Bunday holda, tur bevosita aniqlanadi. Lekin biz kortej o'zgaruvchisi uchun turni ham aniq belgilashimiz mumkin:
(int, int) tuple = (5, 10);
Kortej ikkita raqamni o'z ichiga olganligi sababli, tur ta'rifida ikkita raqamli turni ko'rsatishimiz kerak. Yoki tuple ta'rifining yana bir misoli:1
(string, int, double) person = ("Tom", 25, 81.23);
Bu holda kortejning birinchi elementi satrni ifodalaydi, ikkinchi element int tipidagi, uchinchisi double tipidagi.
Shuningdek, kortej maydonlarini nomlashimiz mumkin:
var tuple = (count:5, sum:10);
Console.WriteLine(tuple.count); // 5
Console.WriteLine(tuple.sum); // 10
Endi, kortej maydonlariga murojaat qilish uchun Item1 va Item2 nomlari emas, balki ularning nomlari ishlatiladi.
Biz hatto kortejni alohida o'zgaruvchilarga ajratishimiz mumkin:
var (name, age) = ("Tom", 23);
Console.WriteLine(name); // Tom
Console.WriteLine(age); // 23
Tuple sizga oqlangan tarzda hal qilishga imkon beradigan vazifalardan biri bu qiymatlarni almashishdir:
string main = "Java";
string second = "C#";
(main, second) = (second, main);
Console.WriteLine(main); // C#
Console.WriteLine(second); // Java
Masalan, massivni eng oddiy tartiblash bilan nimadan foydalanish mumkin:
int[] nums = { 54, 7, -41, 2, 4, 2, 89, 33, -5, 12 };
for (int i = 0; i < nums.Length - 1; i++)
{
for (int j = i + 1; j < nums.Length; j++)
{
if (nums[i] > nums[j])
(nums[i], nums[j]) =(nums[j], nums[i]);
}
}
Console.WriteLine("Massib elementlarini kiriting");
for (int i = 0; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
Kortejlar funksiya natijasi sifatida harakat qilishi mumkin. Masalan, bitta umumiy holat, funksiya ikki yoki undan ortiq qiymatlarni qaytarsa, funktsiya faqat bitta qiymatni qaytarishi mumkin. Va kortejlar bu vazifani bajarishning optimal usulini ifodalaydi:
var tuple = GetValues();
Console.WriteLine(tuple.Item1); // 1
Console.WriteLine(tuple.Item2); // 3
(int, int) GetValues()
{
var result = (1, 3);
return result;
}
Usul bu yerda aniqlanadi GetValues(), bu kortejni qaytaradi. Tuple qavslar ichiga olingan qiymatlar to'plami sifatida aniqlanadi. Va bu holda biz ikkita int elementdan iborat kortejni, ya'ni ikkita raqamni qaytaramiz.
Yana bir misol:
var tuple = GetValuesData(new int[] { 1, 2, 3, 4, 5, 6, 7 });
Console.WriteLine(tuple.count);
Console.WriteLine(tuple.sum);
(int sum, int count) GetValuesData(int[] numbers)
{
var result = (sum: 0, count: numbers.Length);
foreach(var n in numbers)
{
result.sum += n;
}
return result;
}
Usul parametri sifatida kortej
Shuningdek, kortejni metodga parametr sifatida o'tkazish mumkin:
PrintPerson(("Tom", 37)); // Tom - 37
PrintPerson(("Bob", 41)); // Bob - 41
void PrintPerson((string name, int age) person)
{
Console.WriteLine($"{person.name} - {person.age}");
}
Bu yerda PrintPerson usuliga ikkita elementdan iborat kortej uzatiladi, ularning birinchisi qatorni, ikkinchisi esa int qiymatini beradi.


  1. Xulosa.

O’zgaruvchilar. O’zgaruvchi nomi ostiga chizish belgisi yoki lotin harfidan boshlanuvchi lotin harflari, arab raqamlari va ostiga chizish belgilari ketma ketligi ya‘ni identifikatordir. O’zgaruvchilarning quyidagi tiplari mavjuddir: char(simvol), short(qisqa butun), int(butun), long(uzun butun), float(haqiqiy), double(ikkilangan haqiqiy). Butun sonlar ta‘riflanganda qurilgan tiplar oldiga unsigned (ishorasiz) ta‘rifi qo’shilishi mumkin. Ishorali ya‘ni signed tipidagi sonlarning eng katta razryadi son ishorasini ko‗rsatish uchun ishlatilsa unsigned (ishorasiz) tipdagi sonlarda bu razryad sonni tasvirlash uchun ishlatiladi.
Rekursiv funksiya deb o‗ziga o‗zi murojaat qiluvchi funksiyaga aytiladi. Misol uchun faktorialni hisoblash funksiyasini keltiramiz:
Long fact(int k) {
if (k==0) return 1;
return k*fact(k-1);
}
Operatorlar odatda harakat yoki jarayonni (harakat va jarayonni ham bo’lishi mumkin) ifodalovchi belgidir. Ular matematika va logikani yaxshi biladigan har qanday inson uchun muammo tug’dirmaydi. Ya’ni ularning asosini aynan shular tashkil qiladi. Operatorlar ma’lum bir qiymat yoki operandlarni boshqarishga qodir bo’ladi. Operatorlar har qanday dasturlash tilining asosini tashkil qiladi. Ular oddiy hisoblashlardan tortib, hattoki xavsizlikni shifrlash kabi murakkab algoritmik vazifalarni ham bajara oladi!

IV.Foydalanilgan adabiyotlar.

  1. C# dasturlash tilida fayllar bilan ishlash (uslubiy qo’llanma)

Foydalanilgan saytlar.

  1. https://metanit.com/sharp

  2. https://docs.dot-net.uz


Yüklə 47,12 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin