Kompyuter ilmlari va dasturlashtirish



Yüklə 3,87 Mb.
səhifə3/15
tarix23.07.2023
ölçüsü3,87 Mb.
#119835
1   2   3   4   5   6   7   8   9   ...   15
shernazarov Samandar (1)

Sanab o‘tiluvchi tur
Ko‘p miqdordagi, mantiqan bog‘langan o‘zgarmaslardan foydalanganda sanab o‘tiluvchi turdan foydalanilgani ma’qul. Sanab o’tiluvchi o‘zgarmaslar enum kalit so‘zi bilan aniqlanadi. Mazmuni bo‘yicha bu o‘zgarmaslar oddiy butun sonlardir.
Sanab o‘tiluvchi o‘zgarmaslar C++ standarti bo‘yicha butun turdagi o‘zgarmaslar hisoblanadi. Har bir o‘zgarmasga (songa) mazmunli nom beriladi va bu identifikatorni programmaning boshqa joylarida nomlash uchun ishlatilishi mumkin emas. Sanab o‘tiluvchi tur qo‘yidagi ko‘rinishga ega:
enum { =, ,… = } ;
bu yerda, enum – kalit so‘z (inglizcha enumerate – sanamoq); - o‘zgarmaslar ro‘yxatining nomi; - butun qiymatli konstantalarning nomlari; - shart bo‘lmagan initsializatsiya qiymati (ifoda).
Misol uchun hafta kunlari bilan bog‘liq masala yechishda hafta kunlari dush (dushanba), sesh (seshanba), shor (chorshanba), paysh (payshanba), juma (juma), shanba (shanba), yaksh (yakshanba) o‘zgarmaslarini ishlatish mumkin va ular sanab o‘tiluvchi tur yordamida bitta satrda yoziladi:
enum Hafta {dush, sesh chor, paysh, juma, shanba,yaksh} ;
Sanab o‘tiluvchi o‘zgarmaslar quyidagi xossaga ega: agar o‘zgarmas qiymati ko‘rsatilmagan bo‘lsa, u oldingi o‘zgarmas qiymatidan bittaga ortiq bo‘ladi. Kelishuv bo‘yicha birinchi o‘zgarmas qiymati 0 bo‘ladi.
Initsializatsiya yordamida o‘zgarmas qiymatini o‘zgartirish mumkin:
enum Hafta {dush=8 ,sesh,chor=12 ,paysh=13 , juma=16, shanba, yaksh=20} ;
Bu e’londa sesh qiymati 9, shanba esa 17 ga teng bo‘ladi.
Sanab o‘tiluvchi o‘zgarmaslarning nomlari har xil bo‘lishi kerak, lekin ularning qiymatlari bir xil bo‘lishi mumkin:
enum{no1=0,toza=0,bir,ikki,juft=2 ,uch} ;
O‘zgarmasning qiymati ifoda ko‘rinishda berilishi mumkin, faqat ifodadagi nomlarning qiymatlari shu qadamdagacha aniqlangan bo‘lishi kerak:
enum { ikki=2 ,turt=ikki*2 } ;
O‘zgarmasni qiymatlari manfiy son bo‘lishi ham mumkin: enum {minus2=-2 minus1,nol,bir} ;
Turni boshqa turga keltirish
C++ tilida bir turni boshqa turga keltirishning oshkor va oshkormas yo‘llari mavjud.
Umuman olganda, turni boshqa turga oshkormas keltirish ifodada har xil turdagi o‘zgaruvchilar qatnashgan hollarda amal qiladi (aralash turlar arifmetikasi). Ayrim hollarda, xususan tayanch turlar bilan bog‘liq turga keltirish amallarida xatoliklar yuzaga kelishi mumkin.
Masalan, hisoblash natijasining xotiradan vaqtincha egallagan joyi uzunligi, uni o‘zlashtiradigan o‘zgaruvchi uchun ajratilgan joy uzunligidan katta bo‘lsa, qiymatga ega razryadlarni yo‘qotish holati yuz beradi.
using System;
public class HelloWorld
{
public static void Main(string[] args)
{
int r1, r2, r3;
double s1, s2, s3;
r1 = Convert.ToInt32(Console.ReadLine());
r2 = Convert.ToInt32(Console.ReadLine());
r3 = Convert.ToInt32(Console.ReadLine());
s1 = Math.Pow(r1, 2);
s2 = Math.Pow(r2, 2);
s3 = Math.Pow(r3, 2);
Console.WriteLine($"radius: {s1:F2}");
Console.ReadKey();
}
}

Mavzu: Shartli va shartsiz oʻtish operatorlari. Tarmoqlanuvchi jarayonlarga doir masalalar yechish. Takrorlanuvchi jarayonlar. Takrorlash operatorlari. Bir o‘lchamli massivlar bilan ishlash.



Yüklə 3,87 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   15




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

    Ana səhifə