Amaliy mashg’ulot 1 Mavzu: Dasturlash tillarida ma’lumotlarning standart turlari. Funksiyalarni amalga oshirish



Yüklə 0,63 Mb.
tarix13.12.2023
ölçüsü0,63 Mb.
#176216
jKdtsa6kRtOi37EYX4HkLrZQWanoFWEV




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:

  1. Tajriba ishi nazariy ma’lumotlarini o’rganish;

  2. Berilgan topshiriqning algoritmini ishlab chiqish;

  3. C++ dasturlash muhitida dasturni yaratish;

  4. Natijalarni tekshirish;

  5. 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:

  1. short va char tiplari int tipiga keltiriladi;

  2. agar operandlar biri long tipiga tegishli bo’lsa ikkinchi operand ham long tipiga keltiriladi va natija ham long tipiga tegishli bo’ladi;

  3. agar operandlar biri float tipiga tegishli bo’lsa ikkinchi operand ham float tipiga keltiriladi va natija ham float tipiga tegishli bo’ladi;

  4. agar operandlar biri double tipiga tegishli bo’lsa ikkinchi operand ham double tipiga keltiriladi va natija ham double tipiga tegishli bo’ladi;

  5. 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

using namespace std;


int main(int argc, char *argv[])


{
int a=100,b=10,c=5;
for(int i=0; i<2; i++)
{ a/=b-c; }
for(int i=0; i<2; i++)
{ b*=a+c; }
cout<<"a="<cout<<"b="<

system("PAUSE");


}
Topshiriq

Yüklə 0,63 Mb.

Dostları ilə paylaş:




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin