AMALIY MASHG’ULOT - 1 Mavzu: Dasturlash tillarida ma’lumotlarning standart turlari. Funksiyalarni amalga oshirish.
Ishdan maqsad: Daturlash tillarida ma’lumotlarning standart turlari. Ma’lumot tiplari va ularni ishlatish.Ma’lumotlarning oddiy sozlangan, unar va binar amallar va ularni tadqiq qilish.
Qo’yilgan masala: C++ tilida ma’lumotlarning standart turlari va ularga doir misollarning dasturini ishlab chiqish.
Ish tartibi: Tajriba ishi nazariy ma’lumotlarini o’rganish;
Berilgan topshiriqning algoritmini ishlab chiqish;
C++ dasturlash muhitida dasturni yaratish;
Natijalarni tekshirish;
Hisobotni tayyorlash va topshirish.
Nazariy qism C++ dasturlash tilida har bir o'zgaruvchi yoki o'zgarmasni tipi ya'ni ma'lumot tipi bilan yoziladi.
Ma'lumotlar turi o'zgaruvchini saqlaydigan ma'lumot hajmi va turini belgilaydi:
Type
Typical Bit Width
Typical Range
char
1byte
-127 dan 127 yoki 0 dan 255
unsigned char
1byte
0 dan 255
signed char
1byte
-127 dan 127
int
4bytes
-2147483648 dan 2147483647
unsigned int
4bytes
0 dan 4294967295
signed int
4bytes
-2147483648 dan 2147483647
short int
2bytes
-32768 dan 32767
unsigned short int
2bytes
0 dan 65,535
signed short int
2bytes
-32768 dan 32767
long int
8bytes
-2,147,483,648 dan 2,147,483,647
signed long int
8bytes
same as long int
unsigned long int
8bytes
0 dan 4,294,967,295
long long int
8bytes
-(2^63) dan (2^63)-1
unsigned long long int
8bytes
0 dan 18,446,744,073,709,551,615
float
4bytes
double
8bytes
long double
12bytes
Boolean ma'lumotlar turi bilan e'lon qilinadi bool kalit so'z va faqat qiymatlarni qabul qilishi mumkin true, yoki false. Qiymat qaytarilganda true = 1 va false = 0.
Char Ma'lumotlar turi saqlash uchun foydalaniladigan yagona belgi. Belgilar 'A' yoki 'c' kabi bir tirnoq bilan o'ralgan bo'lishi kerak.
String - Turi belgi (matn) bir ketma-ketlikni saqlash uchun ishlatiladi. satrda yozilganidek qo'sh tirnoqda yozilishni unutmang. Misol uchun string ism = "MasterSherkulov"; Satrlardan foydalanish uchun siz qo'shimcha kutubxonadan foydalanishingizga to'g'ri keladi kutubxonaga kiritishingiz kerak:
Ma’lumotlar toifalari Ko’plab dasturlash tillarida ma’lumotlar bazaviy va keltirilgan toifalarga ajratiladi. Ma’lumotlarning toifalarini 1.1-rasmdagidek klassifikatsiyalash mumkin.
Ma’lumotlarning ixtiyoriy toifasi qiymatlar sohasi va ular ustida bajarilishi mumkin bo’lgan amallar orqali tavsiflanadi. void kalit so’zi hech qanday toifaga ega emaslikni anglatadi. Bunday toifadagi funksiyalar hech qanday qiymatni qaytarmaydi. Lekin asosiy dastur tanasi, ya’ni main() funksiyasi void toifasiga ega bo’lolmaydi, u int toifasida bo’lishi kerak.
Amallar odatda unar ya’ni bitta operandga qo’llaniladigan amallarga va binar ya’ni ikki operandga qo’llaniladigan amallarga ajratiladi.
Binar amallar additiv ya’ni qo’shuv [+] va ayirish [–] amallariga, hamda multiplikativ ya’ni ko’paytirish [*], bo’lish [/] va modul olish[%] amallariga ajratiladi. Additiv amallarining ustuvorligi multiplikativ amallarining ustuvorligidan pastroqdir. Butun sonni butun songa bo’lganda natija butun songacha yaxlitlanadi. Masalan, 10/3=3, (-10)/3=-3, 10/(-3) =-3.
Modul amali butun sonni butun songa bo’lishdan hosil bo’ladigan qoldiqqa tengdir. Agar modul amali musbat operandlarga qo’llanilsa, natija ham musbat bo’ladi, aks holda natija ishorasi kompilyatorga bog’liqdir.
Binar arifmetik amallar bajarilganda tiplarni keltirish quyidagi qoidalar asosida amalga oshiriladi:
short va char tiplari int tipiga keltiriladi;
agar operandlar biri long tipiga tegishli bo’lsa ikkinchi operand ham long tipiga keltiriladi va natija ham long tipiga tegishli bo’ladi;
agar operandlar biri float tipiga tegishli bo’lsa ikkinchi operand ham float tipiga keltiriladi va natija ham float tipiga tegishli bo’ladi;
agar operandlar biri double tipiga tegishli bo’lsa ikkinchi operand ham double tipiga keltiriladi va natija ham double tipiga tegishli bo’ladi;
agar operandlar biri long double tipiga tegishli bo’lsa ikkinchi operand ham long double tipiga keltiriladi va natija ham long double tipiga tegishli bo’ladi;
Unar amallarga ishorani o’zgartiruvchi unarminus [–] va unar plus [+] amallari kiradi. Bundan tashqari [++] va [--] amallari ham unar amallarga kiradi.
[++] unar amali qiymatni 1 ga oshirishni ko’rsatadi. Amalni prefiks ya’ni ++i ko’rinishda ishlatish oldin o’zgaruvchi qiymatini oshirib so’ngra foydalanish lozimligini, postfiks ya’ni i++ ko’rinishda ishlatishdan oldin o’zgaruvchi qiymatidan foydalanib, so’ngra oshirish kerakligini ko’rsatadi. Masalan, i qiymati 2 ga teng bo’lsin, u holda 3+(++i) ifoda qiymati 6 ga, 3+i++ ifoda qiymati 5 ga teng bo’ladi. Ikkala holda ham i qiymati 3 ga teng bo’ladi.
[--] unar amali qiymatni 1 ga kamaytirishni ko’rsatadi. Bu amal ham prefiks va postfiks ko’rinishda ishlatilishi mumkin. Masalan, i qiymati 2 ga teng bo’lsin, u holda --i ifoda qiymati 1 ga, i-- ifoda qiymati 2 ga teng bo’ladi. Ikkala holda ham i qiymati 1 ga teng bo’ladi.
Masala: Ushbu masalalarni C++ dasturlash tilida int a=100, b=10, c=5; qiymatlar berilgan. Sikl, unar va arifmetik amallar yordamida ekranga a=4 va b=810 natija chiqsin
Dasturning ko’di:
#include #include