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


operand_1 ? operand_2 : operand_3



Yüklə 2,87 Mb.
səhifə16/56
tarix19.12.2023
ölçüsü2,87 Mb.
#184841
1   ...   12   13   14   15   16   17   18   19   ...   56
O`quv qo`llanma11 (2)

operand_1 ? operand_2 : operand_3
operand_1 – natijasi mantiqiy tipga ega bo‘lgan ifoda bo‘ladi. Agar ushbu ifodaning natijasi true ga teng bo‘lsa, natija sifatida operand_2 qiymati olinadi, aks xolda operand_3 qiymati natija bo‘ladi.
Shartli operatorning tipi operand_2 va operand_3 larning tiplariga bog‘liq bo‘ladi.
O‘zlashtirish amallari
O‘zlashtirish amallari ( =, +=, -=, *= va sh.k.) bajarilishi natijasida o‘zgaruvchiga yangi qiymat uzatiladi. Ushbu amallardan dasturda tugallangan operator sifatida foydalanish mumkin.
O‘zlashtirish amallarining sintaksisi:

Oddiy o‘zlashtirish amali(=)ni o‘zlashtirish operatori deb ham yuritiladi. O‘zlashtirish operatorining bajarilish mexanizmi quyidagicha: avval ifoda hisoblanadi va natija o‘zgaruvchi nomi orqali ko‘rsatilgan adresdagi hotira qismiga joylanadi. Hotiraning ushbu qismida turgan avvalgi ma’lumot tozalanadi.
Misollar:
a = b + c / 2;
x = 1;
x = x + 0.5;
O‘zlashtirish operatorining o‘ng tomonidagi ifodaning tipi chap tomondagi operand tipiga avtomatik(oshkor bo‘lmagan) ravishda o‘zgarish xususiyatiga ega bo‘lishi lozim. Ya’ni ifoda natijasining tipi o‘zgaruvchi tipi bilan mos yoki uning tarkibiga kiruvchi bo‘lishi kerak.
Murakkab o‘zlashtirish amallari( +=, *=, /= va sh.k.) bajarilishi jarayonida amal belgisining o‘ng tomonidagi ifodani hisoblash jarayonida chap tomondagi o‘zgaruvchining joriy qiymatidan foydalaniladi. Masalan a += b da, qo‘shib o‘zlashtirish amalini bajarilish jarayonida o‘zlashtirish amalining o‘ng tarafidagi ifoda(b)ga chap tarafdagi operand(a)ning qiymati qo‘shiladi va natija chap tarafdagi operand(a)ga o‘zlashtiriladi. Ya’ni: a += b ifoda a = a + b ga teng kuchli.
4.4. Konsolli ilovalar, ma’lumotlarni kiritish va chiqarish.
Har qanday ma’lumotlar bilan ishlashga mo‘ljallangan dastur ma’lumotlarni kiritish va chiqarishda aksariyat holatda tashqi qurilmalar bilan bevosita bog‘liq bo‘ladi. Kompyuterning standart kiritish va chiqarish qurilmalari klaviatura va ekran bilan bevosita ishlash uchun mo‘ljallangan muhit konsol deb yuritiladi. C# da ma’lumotlarni kiritish va chiqarish uchun operatorlari yo‘q. Ularning o‘rnida konsolli rejimda ishlash uchun standart ob’ektlar qo‘llaniladi. Konsol bilan ishlash uchun C# ning System nomlari makoni(kutubxonasi)ning Console sinfidan foydalaniladi. C# da konsolli rejimda ishlovchi ilovalar yaratish uchun io‘ljallangan muhitni yuklashni 2- ma’ruzada ko‘rib o‘tgan edik.
Quyidagi dasturni ko‘raylik:
using System;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
int i = 3;
double y = 4.12;
decimal d = 600m;
string s = "Vasya";

Console.WriteLine( "i = " + i ); // 1


Console.WriteLine( "s = " + s ); // 2
Console.WriteLine( "y = {0} \nd = {1}", y, d );//3
}
}
}
Listing 5.1. Konsolli rejimda ma’lumot chiqarish
Dastur natijasi:
i = 3
s = Vasya
y = 4,12
d = 600
Yuqorida keltirilgan dasturda ma’lumotlarni ekranga chiqarish uchun Console sinfining WriteLine uslubidan foydlandik. WriteLine uslubi turli tipdagi literallar, o‘zgarmaslar va o‘zgaruvchilarni ekranga chiqarish uchun xizmat qiladi. Xuddi shu uslubga o‘xshash Console sinfida Write uslubi ham mavjud. Farqi: Write uslubida ekranga ma’lumot chiqarilgandan so‘ng, yangi kiritiluvchi yoki chiqariluvchi ma’lumot ana shu ekranga chiqqan ma’lumot davomidan ekranga chiqadi, WriteLine uslubida esa ma’lumotni ekranga chiqarilgandan so‘ng, yangi kiritiluvchi yoki chiqariluvchi ma’lumot yangi satrdan davom etadi.
C# da bir xil nomli, lekin turli xil parametrlar bilan ishlovchi uslublar qayta yuklanuvchi deb ataladi. Kompilyator avtomatik tarzda qo‘llanilgan parametrlarga qarab kerakli uslubni o‘zi avtomatik tarzda aniqlab oladi.
Yuqorida keltirilgan misolda //1 va //2 izohlari bilan ko‘rsatilgan qatorlarda WriteLine uslubi bitta parametrli uslubdir. Bunday uslubda ekranga chiqariluvchi ma’lumotlar + belgisi bilan bir-biriga ulab olinadi.
//3 izohli qatorda esa WriteLine uslubining formatli varianti qo‘llanilgan.
Console.WriteLine( "y = {0} \nd = {1}", y, d )
Bunday uslubda qo‘llanilganda figurali qavslar ichida berilgan raqamlar, shu joyda nechanchi o‘rinda turgan parametr qiymati chiqishi kerakligini bildiradi. Parametrlar ro‘yxati qo‘shtirnoqdan keyin boshlanadi. Ularni , bilan bir-biridan ajratib qo‘yiladi. Ushbu misolda {0}- parametri o‘rniga y ning qiymati, {1} ning o‘rniga esa d ning qiymati ekranga chiqadi. \n – boshqarish belgisi bo‘lganligi sababli ekranga chiqmaydi, u mana shu yerdan keyingi ma’lumot yangi qatordan chiqarilishi kerakligini bildiradi. Boshqarish belgilari to‘g‘risida ma’lumotlar 3-ma’ruzada keltirilgan.
Konsolli ilovalarda ma’lumotni kiritish uchun Console sinfining Read, Readline, ReadKey uslublaridan foydalaniladi. Ma’lumotlarni ushbu uslublar bilan kiritilgandan kiritiluvchi ma’lumotlar satrli tipda qabul qilinadi. Keyinchalik kiritiluvchi ma’lumotni Convert yoki Parse metodlari bilan kerakli tipga o‘zgartirib olinadi.
Misol:
using System;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
Console.WriteLine( "Matn kiriting:" );
string s = Console.ReadLine(); // 1
Console.WriteLine( "s = " + s );
Console.WriteLine( "Belgi kiriting:" );
char c = (char)Console.Read(); // 2
Console.ReadLine(); // 3
Console.WriteLine( "c = " + c );
string buf; // Raqamlarni kiritish uchu
Console.WriteLine( "Butun son kiriting:" );
buf = Console.ReadLine();
int i = Convert.ToInt32( buf ); // 4
Console.WriteLine( i );

Console.WriteLine( "Haqiqiy son kiriting:" );


buf = Console.ReadLine();
double x = Convert.ToDouble( buf ); // 5
Console.WriteLine( x );

Console.WriteLine( " Haqiqiy son kiriting:" );


buf = Console.ReadLine();
double y = double.Parse( buf ); // 6
Console.WriteLine( y );

Console.WriteLine( " Haqiqiy son kiriting:" );


buf = Console.ReadLine();
decimal z = decimal.Parse( buf ); // 7
Console.WriteLine( z );
}
}
}

//1 – izohli qator foydalanuvchidan matn kiritishni so‘raydi. Matnni uzunligi chegaralanmagan va Enter tugmasi bosilgun qadar kiritishda davom etish mumkin. Enter tugmasi bosilgandan so‘ng kiritilgan matn s = dan keyin ekranga chiqariladi.


//2 – operator bajarilganda foydalanuvchidan belgi kiritish talab qilinadi. Agar foydalanuvchi bir nechta belgi kiritib keyin Enter tugmasini bosganda, ushbu qatordan birinchi belgi ajratib olinadi. char tipiga avtomatik o‘zgartirish yo‘qligi sababli o‘zgartirish (char) yordamida amalga oshiriladi. //3-operator foydalanuvchidan shunchaki Enter tugmasini bosishni talab qiladi. Foydalanuvchi Enter ni bosgandan so‘ng c ning qiymati ekranga chiqariladi.
//4- va //5- izohli qatorlarda foydalanuvchidan son kiritish talab qilinadi. Kiritilgan sonlar avval matnli o‘zgaruvchi buf ga o‘zlashtiriladi. So‘ngra Convert uslubi yordamida kerakli tipga oshkor o‘zgartiriladi.
//6- va //7- izohli qatorlarda ham foydalanuvchidan son kiritish talab qilinadi. Kiritilgan sonlar avval matnli o‘zgaruvchi buf ga o‘zlashtiriladi. So‘ngra Parse uslubi yordamida kerakli tipga oshkor o‘zgartiriladi.
Eslatma: Haqiqiy sonlarni kiritishda sonning kasr qismi operatsion tizimning regional sozlamalariga mos ravishda nuqta yoki vergul bilan ajratiladi. Kiritluvchi nuqta yoki vergul regional sozlamadagi bilan mos kelmasa xatolik yuzaga kelishi mumkin.
O’zlashtirish uchun savollar.

  1. Ifoda deb nimaga aytiladi?

  2. Amal belgisiga misol keltiring va uni izohlang

  3. Shartli operatordan foydalanish sintaksisi qanday?

  4. Murakkab o`zlashtirish amallarini sanang

  5. Surish amallarini tavsiflang

Yüklə 2,87 Mb.

Dostları ilə paylaş:
1   ...   12   13   14   15   16   17   18   19   ...   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