Algoritmik tillar va dasturlash. Ma’ruza mashg’ulotlari uchun o’quv qo’llanma. X. E. Xolmirzayev, M. N. Ikromova, M. M. Bahromova Annotatsiya



Yüklə 2,87 Mb.
səhifə11/56
tarix19.12.2023
ölçüsü2,87 Mb.
#184841
1   ...   7   8   9   10   11   12   13   14   ...   56
O`quv qo`llanma11 (2)

Ob’ekt

o‘lchamli

Tavsifi

Object

object

CTS ning barcha tiplarining bazaviy sinfi

String

string

Satrli tip

SByte

sbyte

8-razryadli ishorali butun sonlar.
128 ... 127

Byte

byte

8-razryadli ishorasiz butun sonlar.
0 .. 255

Int16

int

16-razryadli ishorali butun sonlar.
32 768.. 32 767

UInt16

uint

16-razryadli ishorasiz butun sonlar.
0 .. 65 535

Int32

int

32-razryadli ishorali butun sonlar.
2 147 483 648 .. 2 147 483 647

UInt32

uint

32-razryadli ishorasiz butun sonlar.
0 ..4 294 967 295

Int64

long

64-razryadli ishorali butun sonlar.
9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807

UInt64

ulong

64-razryadli ishorasiz butun sonlar.
0 .. 18 446 744 073 709 551 615

Decimal

decimal

128-razryadli haqiqiy sonlar.

Char

char

16-razryadli belgili tip.

Single

float

32-razryadli haqiqiy sonlar.



Double

double

64-razryadli haqiqiy sonlar.

Boolean

bool

Mantiqiy tiplar (true/false)

Butun tiplar.
3.5-jadval

Tip

Diapazoni

Formati(razryadi)

System.SByte

-128…127

8 bit, ishorali

System.Int16
(System.Short)

-32768…32767

16 bit, ishorali

System.Int32

-2 147 483 648…2 147 483 647

32 bit, ishorali

System.Int64

-263…263

64 bit, ishorali

System.Byte

0…255

8 bit, ishorasiz

System.Uint16
(System.Ushort)

0…65535

16 bit, ishorasiz

System.Uint32
(System.Uint)

0…4 294 9 67 295

32 bit, ishorasiz

System.Long

-9 223 372 036 854 775 808-
9 223 372 036 854 775 807

64 bit, ishorali

System.Long

0 - 18 446 744 073 709 551 615

64 bit, ishorasiz

Haqiqiy tiplar
3.6Jadval

Tip

Diapazoni

Belgili sonlar xonasi(razryadi)

Formati

System.Single

1.5*1045…3.14*1038

7-8

4 bayt

System.Double

-5.0*10324…1.7*10308

15-16

8 bayt

Belgili tiplar
Asosiy belgili tip: System.Char;
Asosiy satrli tip: System.String;
C# da belgili tiplarning qiymatlari bittalik qo‘shtirnoq(apostrof) bilan, satrli tiplarning qiymatlari ikkitalik qo‘shtirnoq bilan beriladi.
Masalan:
String x=”f”;
Char ch=’f’;
Mantiqiy tip
Asosiy mantiqiy tip: System.Bool;
Qabul qiluvchi qiymatlari: true, false.

O’zlashtirish uchun savollar



  1. Til identifikatorida katta va kichik registrlar inobatga olinadimi? Va uzunligi chegaralanganmi?

  2. Identifikator qanday belgilardan boshlanishi mumkin?

  3. Tilda kalit so’zlar nima uchun xizmat qiladi?

  4. Tilda qanday konstantalar turlari mavjud va ular qanday tavsiflanadi?

  5. Tilning boshqaruv belgilari qaysilar va tavsiflari qanday?

  6. C# tilining tiplari tizimi. Ma’lumotlarning tiplari.

4-Ma`ruza: C# tilining amallari. Consoleda kiritish-chiqarish.


Reja:

  1. O‘zgaruvchi va o‘zgarmaslar.

  2. Operatsiya (amal) va ifodalar

  3. C# ning asosiy amallari

  4. Konsolli ilovalar, ma’lumotlarni kiritish va chiqarish.

Tayanch so’z va iboralar: Ifodalar, operatorlar, arifmetik amallar, qiymat berish operatori, til ko’rsatmasi, inkrement, dekrement.
4.1. O‘zgaruvchi va o‘zgarmaslar. O‘zgaruvchilar
O‘zgaruvchi - dastur bajarilishi jarayonida o‘z qiymatini bir yoki bir necha marotaba almashtirishi mumkin bo‘lgan xotiraning nomlangan qismi. Nom esa o‘zgaruvchi belgilangan so‘z, harf yoki harf va belgilar ketma ketligi bo‘lishi mumkin. Dasturda foydalaniluvchi barcha o‘zgaruvchilar aniq e’lon qilinishi lozim. Har bir o‘zgaruvchi e’lon qilinayotganda uning nomi va tipi ko‘rsatiladi. O‘zgaruvchining nomi uning qiymati joylashgan xotira qismiga murojaat qilish uchun xizmat qiladi. Tip esa ma’lumot uchun xotiradan qancha joy ajratilishi lozimligini bildiradi.
O‘zgaruvchilar quyidagicha e’lon qilinishi mumkin:
[= o‘zlashtiriluvchi qiymat];
Misollar:
int a=10, c=12, abc=0;
double b=11.5;
//a=10;
Console.Writeline(a);
bool isEnabled = true;
int x;
double y=3.0;
string hello="Hello World";
char c='s';
int a=4;
int z=a+5;
O‘zgaruvchini e’lon qilishda bir tipli bir nechta o‘zgaruvchilarni bitta tip yozib, so‘ngra shu tipli o‘zgaruvchilarni ketma-ket “,” bilan ajratgan xolda yozish orqali e’lon qilish hamda to‘g‘ridan-to‘g‘ri ularning boshlang‘ich qiymatini berib ketish mumkin, ya’ni ularni initsializatsiya qilib olish mumkin. O‘zgaruvchini initsializatsiya qilish deganda e’lon qilingan o‘zgaruvchiga boshlang‘ich qiymatni berish tushuniladi. Masalan:
int a, b = 1;
Bu yerda:
a int tipidagi o‘zgaruvchi bo‘lib, uning boshlang‘ich qiymati o‘rnatilmagan, ya’ni initsializatsiya qilinmagan;
b int tipidagi o‘zgaruvchi bo‘lib, uning boshlang‘ich qiymati 1 ga teng;
float x = 0.1, y = 0.1f;
Bu yerda: float tipidagi x va y o‘zgaruvchilarga boshlang‘ich xolda 0.1 qiymat o‘zlashtirilmoqda. Farqi, x o‘zgaruvchi initsializatsiya qilinayotganda avval uning tipi double tipidagi konstanta sifatida shakllantiriladi so‘ngra float tipiga o‘zgartiriladi, y o‘zgaruvchi esa to‘g‘ridan to‘g‘ri oraliq o‘zgartirishsiz float tipi sifatida e’lon qilinadi va 0.1 ni o‘zlashtirib oladi.
O‘zgaruvchilarni e’lon qilish jarayonida ularning qiymati to‘g‘ridan-to‘g‘ri ifoda bilan berib ketish mumkin, faqat ifodada ishtirok etuvchi o‘zgaruvchilar avvalroq initsializatsiya qilingan bo‘lishi lozim, masalan:
int b = 1, a = 100;
int x = b * a + 25;

Ba’zi xollarda o‘zgaruvchiga null (bo‘sh) qiymat o‘zlashtirish lozim bo‘ladi. string tipidagi yoki ishorat(ssilka)li tipdagi o‘zgaruvchilar to‘g‘ridan to‘g‘ri null qiymat qabul qiladi.


Misol uchun: string=null;
Oddiy tipdagi o‘zgaruvchilar esa to‘g‘ridan-to‘g‘ri null qiymat olmaydi. Ular bo‘sh qiymat olishi uchun tipni e’lon qilgandan so‘ng ? belgisi qo‘yish lozim bo‘ladi.
int? i = null;
C# da o‘zgaruvchilarni ixtiyoriy joyda e’lon qilish mumkin.

using System;
class ozgaruvchi
{
public static void Main()
{
int i; //o‘zgaruvchini e’lon qilish;
i=10; // o‘zgaruvchiga qiymat berish
Console.WriteLine(i.tostring());// ekranga chiqarish
Console.ReadKey(); //biror tugma bosilguncha kutish
}
}



C# da katta va kichik harfli o‘zgaruvchi va o‘zgarmaslarning nomlari bir-biridan farqlanadi. Katta va kichik harfda yozilgan bir hil nomli o‘zgaruvchilar alohida-alohida o‘zgaruvchi va o‘zgarmaslar sifatida hisoblanadi.


C# da o‘zgaruvchining avvalgi qiymatini birga oshirish uchun ketma-ket joylashgan ++, kamaytirish uchun ketma-ket joylashgan –- amal belgilaridan foydalanish mumkin.
Agar ++(--) o‘zgaruvchining o‘ng tomonida joylashgan bo‘lsa, avval qiymati 1 ga oshiriluvchi(kamaytiriluvchi) o‘zgaruvchining joriy qiymati bo‘yicha hisoblash ishlari bajarilib, undan so‘ng uning qiymati 1 ga oshiriladi(kamaytiriladi).
int i=1;
int j=i++;

Ushbu xolda j ga avval 1 o‘zlashtiriladi. So‘ngra i ning qiymati birga oshiriladi. Ya’ni, hisoblashdan so‘ng j=1, i=2 bo‘ladi.
Agar ++(--) o‘zgaruvchining chap tomonida joylashsa, u xolda o‘zgaruvchining qiymati hisoblashdan avval 1 ga oshiriladi(kamaytiriladi),so‘ngra hisoblash bajariladi. Masalan:
int i=1;
int j=++i;
...
Ushbu xolda i ning qiymati avval 1 ga oshiriladi, so‘ngra hisoblash natijasi j ga uzatiladi. Ya’ni, hisoblash natijasida, j=2, i=2 bo‘ladi.
Quyidagi xolatni ko‘ramiz:
...
int i=1;
Console.WriteLine(“i=”+i++);
...
Ushbu dastur kodi bajarilishi natijasida, avval i ning joriy qiymati (ya’ni 1) ekranga chiqariladi, so‘ngra i ning qiymatiga 1 qo‘shiladi.
Agar, o‘zgaruvchiga uni e’lon qilish vaqtida to‘g‘ridan-to‘g‘ri qiymat o‘zlashtirish, hisoblash ishlari orqali amalga oshiriladigan bo‘lsa, amal bajariluvchi operandlar barchasi, bir xil tipga ega bo‘lishi hamda natija ham e’lon qilinuvchi o‘zgaruvchi tipi diapazonidan chiqib ketmasligi lozim. Masalan:
int i=15*10; //to‘g‘ri;

byte j=10;
int i=j*50; /* to‘g‘ri; chunki, j qabul qilish mumkin bo‘lgan qiymatlar int tipi diapazonidan chiqib ketmaydi shu sababli qabul qiladi*/;
int k=15+10.0; //xato. 10.0 butun son emas;
byte b=255*3; //Xato. Natija byte diapazonidan chiqib ketadi.
C# dasturlash tilidagi dastur o‘zida uslub (metod) va ma’lumotlarni jamlagan sinflardan tashkil topadi. Sinf bloki ichida to‘g‘ridan to‘g‘ri e’lon qilingan o‘zgaruvchi sinfning maydoni deyiladi. Sinf ichida esa alohida blok ichida sinfning uslub(metod)lari yoziladi. Uslub ichida e’lon qilingan o‘zgaruvchi lokal o‘zgaruvchilar deyiladi. O‘zgaruvchilardan foydalanilganda ularning foydalanish chegarasi degan tushunchaga e’tibor berish lozim. O‘zgaruvchining foydalanish chegarasi uni initsializatsiya qilingan joydan boshlab, dasturning shu qismini yakunlovchi blokgacha davom etadi. Blok – bu figurali qavslar bilan chegaralangan dastur kodidir. Blokning vazifasi – operatorlarni guruhlashdan iborat. C# da har qanday o‘zgaruvchi qandaydir blok ichida e’lon qilinadi, masalan: sinf bloki ichida, sinf uslubining bloki ichida, uslubning ichida joylashgan ichki uslub ichida va h. O‘zgaruvchining nomi uning foydalanish chegarasi ichida, ya’ni u joylashgan blok ichida unikal bo‘lishi lozim. Quyidagi misolni ko‘rib o‘taylik:
class X // X nomli sinfni e’lon qilish
{
int A; // X sinfning A nomli maydonini e’lon qilish
int B; // X sinfning B nomli maydonini e’lon qilish
void Y()
{//--X sinfning Y nomli uslubi bloki boshlanishi---

int C; // C nomli lokal o‘zgaruvchi, uning foydalanish chegarsi faqat Y uslubi bloki ichida


int A; // A nomli lokal o‘zgaruvchi, uning foydalanish chegarsi faqat Y uslubi bloki ichida va X sinfning yuqorida e’lon qilingan A maydoni bilan konflikt bermaydi
{ //====== Y uslubining ichki bloki boshlanishi=========
int D; // D nomli lokal o‘zgaruvchi, uning foydalanish chegarsi faqat ushbu ichki blok ichida
int A; // Bu xato. Chunki Y uslubi ichida A nomli o‘zgaruvchidan avval foydalanilgan!
S = B; // S o‘zgaruvchiga X sinfning V maydoni qiymati o‘zlashtirilmoqda
S = this.A; // S o‘zgaruvchiga X sinfning A maydoni qiymati o‘zlashtirilmoqda
} // ======= Y uslubining ichki bloki oxiri=====
} // X sinfning Y nomli uslubi bloki oxiri---
} // X sinf bloki oxiri
O‘zgaruvchilar dasturda ular e’lon qilingan joyda yaratiladi va ular joylashgan blok tugashida tozalab tashlanadi. Shu blokka qayta murojaat etilganda o‘zgaruvchi yangidan yaratiladi.
O‘zgarmaslar.
O‘zgarmaslar dastur bajarilishi jarayonida bir marta qiymat berilgandan so‘ng qiymatini o‘zgartirib bo‘lmaydigan kattaliklardir. O‘zgarmaslarni C# da const kalit so‘zi bilan e’lon qilinadi.
const double Pi = 3.14;
Agar o‘zgarmas butun boshli dasturning barcha qismlarida foydalanish uchun ruxsat etilgan bo‘lsa, public kalit so‘zi bilan qo‘llaniladi.
public const double Pi = 3.14;
O‘zgarmaslarning qiymati ifoda ko‘rinishida berilishi ham mumkin.

Yüklə 2,87 Mb.

Dostları ilə paylaş:
1   ...   7   8   9   10   11   12   13   14   ...   56




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin