Amaliy mashg`ulot uchun Mundarija


Download 0.8 Mb.
bet40/56
Sana18.09.2023
Hajmi0.8 Mb.
#1680455
1   ...   36   37   38   39   40   41   42   43   ...   56
Bog'liq
Amaliy mashgulot sanoq sistema

MASHG’ULOTNING JIHОZI: Ko’rgazmali material: kompyuterning xotira qurilmalari.
MASHG’ULOT O’TISH VОSITASI: Pentium IV kоmpyuterlari (qo’shimcha qurilmalari) bilan jihоzlangan kоmpyuter sinfi.
MASHG’ULOTNING BОRISHI:
a) Guruhning va xоnaning darsga tayyorligini aniqlash.
b) Yo’qlama qilish.
c) Avvalgi mashg’ulоtlarda o’tilganlarni takrоrlash bo’yicha suhbat o’tkazish: o’tilgan mavzularni qisqacha takrоrshlash.
g) Yangi mavzuning bayoni: C# da satrlar va ularni metodlari haqida ma’lumotlar berish.
d) Kоmpyuter xоnasida mashg’ulоt оlib bоrish. O’rganganlari ustida mashq qilish.
e) Dars yakuni: Mustaqil ish uchun individual topshiriqlarni berish.


Amaliy mashg`ulot mavzu bayoni:
1. Belgili kattaliklar bilan ishlash
Matnli ma’lumotlarni qayta ishlash zamonaviy dasturlashda eng keng tarqalgan masalalardan biri hisoblanib, C# da bunday masalalarni hal etish uchun keng qamrovli vositalarni taqdim etadi: alohida belgilar, belgili massivlar, o‘zgaruvchi va o‘zgarmas qatorlar hamda regulyar ifodalar.
Belgili ma’lumotlarning tiplari C# da char tipi orqali e’lon qilinadi. char tipi Unicode kodirovkasidagi belgilarni saqlash uchun xizmat qiladi. Belgili ma’lumotlarni qayta ishlash uchun System nomlar makonida joylashgan Char sinfi elementlaridan foydalaniladi. Ushbu sinfda bir qator belgili kattaliklar bilan ishlash uchun mo‘ljallangan uslublar mavjud bo‘lib ulardan dasturlashda ko‘p qo‘llaniladiganlari 1 – jadvalda keltirilgan.

1-jadval. System.Char sinfining ayrim uslublari

Uslub

Tavsifi

GetNumericValue

Agar belgi son bo‘lsa uni sonli qiymatini qaytaradi, aksincha bo‘lsa -1 qiymat qaytaradi.

IsControl

Agar belgi boshqaruv belgisi bo‘lsa true qiymat, aks holda false qiymat qaytaradi.

IsDigit

Agar belgi 10 lik sanoq sistemasidagi raqam bo‘lsa true qiymat qaytaradi, aks holda false qiymat qaytaradi.

IsLetter

Agar belgi harf bo‘lsa true qiymat qaytaradi, aks holda false qiymat qaytaradi.

IsLower

Agar belgi ostki registrdagi(kichik) harf bo‘lsa true qiymat qaytaradi, aks holda false qiymat qaytaradi.

IsUpper

Agar belgi ustki registrdagi(katta) harf bo‘lsa true qiymat qaytaradi, aks holda false qiymat qaytaradi.

IsWhiteSpace

Agar belgi probel, yangi satrga o‘tish yoki karetkani qaytaruvchi belgi bo‘lsa true qiymat qaytaradi, aks holda false qiymat qaytaradi.

Parse

Matnli qatorni agar u 1 ta belgidan iborat bo‘lsa belgiga o‘zgartirish

ToLower

Belgini ostki registr(kichik harf)ga o‘tkazish

ToUpper

Belgini ustki registr(katta harf)ga o‘tkazish

MaxValue, MinValue

Ko‘rinmas xolda ifodalanuvchi belgilarni maksimal va minimal kodlarini qaytaradi

Dastur listingda ushbu uslublardan foydalanishga misol tariqasidagi dastur keltirilgan.


using System;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
try
{
char b = 'B', c = '\x63', d = '\u0032'; // 1
Console.WriteLine( "{0} {1} {2}", b, c, d );
Console.WriteLine( "{0} {1} {2}",
char.ToLower(b), char.ToUpper(c), char.GetNumericValue(d) );
char a;
do // 2
{
Console.Write( "Belgi kiriting: " );
a = char.Parse( Console.ReadLine() );
Console.WriteLine( " {0} belgisi kiritildi, uning kodi – {1}",
a, (int)a );
if (char.IsLetter(a)) Console.WriteLine("Harf");
if (char.IsUpper(a)) Console.WriteLine("Katta registrda");
if (char.IsLower(a)) Console.WriteLine("Kichik registrda");
if (char.IsControl(a)) Console.WriteLine("Boshqaruv belgisi");
if (char.IsNumber(a)) Console.WriteLine("Son");
if (char.IsPunctuation(a)) Console.WriteLine("Ajratgich");
} while (a != 'q');
}
catch
{
Console.WriteLine( "Istisnoli xolat qayd etildi!" );
return;
}
}
}
}

Dasturlashda aksariyat xollarda belgilardan tashkil topgan, ya’ni belgili tipdagi massivlardan ham foydalaniladi. Belgi tipdagi massivlar boshqa massivlar kabi Array bazaviy sinfi asosida yaratiladi. Quyidagi dastur listingda belgili tipdagi masivdan foydlanishga misol keltirilgan.


using System;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
char[] a = { 'm', 'a', 's', 's', 'i', 'v' }; // 1
char[] b = "Abdulxamid va Akbar".ToCharArray(); // 2
PrintArray( "a massiv:", a ); //a massivni chop qilish funksiyasiga murojaat


int pos = Array.IndexOf( a, 'm' );// a massivdan m belgisini qidirish
a[pos] = 'M'; //topilgan elementni katta M belgisiga almashtirish
PrintArray( " a massivning o‘zgargan holati:", a );


PrintArray( "b massiv:", b ); //b massivni chop qilish
Array.Reverse( b ); //b massivni revers xolatga o‘tkazish
PrintArray( "b massivning o‘zgargan holati:", b );
}
// massivni chop qilish funksiyasini yaratib olamiz
public static void PrintArray( string header, Array a )
{
Console.WriteLine( header );
foreach ( object x in a ) Console.Write( x );
Console.WriteLine( "\n" );
}
}
}

Dastur natijasi:


a massiv:
massiv


a massivning o‘zgargan holati:
Massiv


b massiv:
Abdulxamid Akbarni avtomobilda ko‘rdi


b massivning o‘zgargan holati:
dimaxludbA av rabkA

Boshqaruv belgisi hisoblangan ayrim belgilarni chop qilish uchun ulardan oldin teskari bo‘lish(\) belgisidan foydalaniladi. Masalan:


"\" belgisi xizmatchi belgi bo‘lib, qatorda ushbu belgini ifodalash uchun 2 marta (ya’ni \\) belgisi qo‘yish kerak.
"\t" – boshqaruv belgisi tabulyatsiyani bildiradi. Ushbu belgidan avval turgan va keyingi turgan matn orasiga 1 ta tabulyatsiya qo‘shiladi.
"\r"-matnni keyingi satrga o‘tkazish.
"\"" – ikkitali qo‘shtirnoqni matnda ifodalash.

Download 0.8 Mb.

Do'stlaringiz bilan baham:
1   ...   36   37   38   39   40   41   42   43   ...   56




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling