Ma’lumotlarni kiritish-chiqarish operatorlari.
MAVZU : Ma’lumotlarni kiritish-chiqarish operatorlari. REJA: 1.C++ tilida ma’lumotlarni kiritish operatorlari. 2.C++ tilida ma’lumotlarni chiqarish operatorlari. 3.Sodda operatorlar. 4. Utilitlar va Drayverlar.
C++ dasturlash tili bilan tanishib borishda davom etamiz. Tushunish oson bo’lishi uchun console muhitida misollar ko’rmoqdamiz. Console muhitida kiritish operatori cin>> orqali amalga oshiriladi. cin>> dan so’ng istalgan ma’lumot turi e’lon qilingan o’zgaruvchini joylashtirsak shu o’zgaruvchi qiymatini qo’lda kiritishimiz mumkin bo’ladi. Ushbu dasturni ishga tushirganingizda console kursori sizning biror qiymat kiritishingizni kutib turadi va berilgan o’zgaruvchiga biror qiymat kiritganingizdan so’ng, keyingi qator amallarini bajarishga o’tadi. Yuqoridagi misolda 5 sonini kiritgan bo’lsangiz, “Siz 5 sonini kiritdingiz” natijasini olishingiz mumkin. Funksiyani e’lon qilish Funksiyalarni e’lon qilishning umumiy standardi sifatida quyidagicha qonuniyatni ko’rish mumkin: ma’lumot turi funksiya nomi (ma’l turi parametr1, ma’l turi parametr2, …) { ifodalar( ya’ni funksiyani asosiy ishini bajaruvchi funksiya tanasi) } Funksiyani e’lon qilish va uni chaqirish bo’yicha sodda misol ko’ramiz: #include <iostream> using namespace std; int a plus b(int a,int b) { return (a+b); } int main() { int a=0,b=0; cout<<“Ikki sonni yig’indisini aniqlash dasturi:\\n”; cout<<“a sonini kiriting: “; cin>>a; cout<<“b sonini kiriting: “; cin>>b; cout<<a<<” va “<<b<<” sonlarining yig’indisi: “<<a_plus_b(a,b)<<endl; return 0; } C++ dasturlash tilida ma’lumotlarni chiqarish operatorlari. C++ dasturlash tilining elementlari Hozirgi kunda juda ko‘p algoritmik tillar mavjud. Bular ichida Java va C++ dasturlash tillari universal tillar hisoblanib, boshqa tillarga qaraganda imkoniyatlari kengroqdir. So‘ngi yillarda Java va C++ dasturlash tillari juda takomillashib, tobora ommalashib bormoqda. Mazkur tillardagi vositalar zamonaviy kompyuter texnologiyasining hamma talablarini o‘z ichiga olgan va unda dastur tuzuvchi uchun ko‘pgina qulayliklar yaratilgan. C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C tiliga asoslangan tarzda tuzildi. C++ juda ko’p qo’shimchalarni o’z ichiga olgan,
lekin eng asosiysi u obyektlar bilan dasturlashga imkon beradi. Dasturlarni tez va sifatli yozish hozirgi kunda katta ahamiyat kasbetmoqda. Buni ta’minlash uchun obyektli dasturlash g’oyasi ilgari surildi.Huddi 1970 yillar boshida strukturalidasturlash kabi, dasturlarni hayotdagi jismlarni modellashtiruvchi obyektlat orqali tuzish dasturlash sohasida inqilob qildi. C++ dan tashqari boshqa ko'p obyektli dasturlshga yo’naltirilgan tillar paydo bo'ldi. Shulardan eng ko’zga tashlanadigani Xerox ning Palo Altoda joylashgan ilmiy-qidiruv markazida (PARC) tuzilgan Smalltalk dasturlash tilidir. Smalltalk da hamma narsa obyektlarga asoslangan. C++ esa gibrid tildir. Unda C tiliga o’hshab strukturali dasturlash obyektlar bilan dasturlash mumkin. C++ funksiya va obyektlarning juda boy kutubhonasiga ega. Yani C++ dasturlash tilida dasturlashni o’rganish ikki qismga bo’linadi. Birinchisi bu C++ tilini o’zini o’rganish, ikkinchisi esa C++ ning standart kutubhonasidagi tayyor obyekt va funksiyalarni qo’llashni o’rganishdir. C++ dasturlash tilida dastur quyidagi tarkibda tashkil topadi: Direktivalar – funksiyalar kutubxonasini chaqirish. Ular maxsus include katalogida joylashgan va .h kengaytmali fayllar bo’ladi. С ++ tilida masalaning qo’yilishiga qarab kerakli kutubxonalar chaqiriladi. Bus esa dasturning xotiradaegallaydigan joyini minimallashtiradi. C++ dasturlash tili bilan ishlovchi eng sodda dasturlar Dev C++ va CodeBlocks dasturlaridir. Ularning tarkibida 300 dan ortiq kutubxonalar mavjud. Eng ko’p ishlatiladigan kutubxonalar quyidagilar: #include <iostream.h>, #include <math.h> #include <conio.h> #include <graphics.h> #include <memory.h> main ( ) funksiyasi– asosiy degan ma’noni anglatadi. Bu funksiya “{“ belgisidan boshlanadi va dasturning asosini tashkil etuvchi o’zgaruvchilarning toifalari ko’rsatiladi. Dastur “}” belgisi bilan yakunlanishi shart. Agar dasturda qism dasturlardan foydalanilayotgan bo’lsa, ularning nomlari va haqiqiqy parametrlari keltiriladi. So’ngra dasturning asosiy buyruqlari yoziladi. Agar buyruqlar murakkab bo’lsas, ular alohida “{ }” belgilari orasiga olingan bo’lishi kerak. С ++ tilida dasturning asosi bo’lmish buyruqlar kichik harflar bilan yoziladi. Buyruqlar nuqta-verguk bilan (;) yakunlanadi. Buyruqlar bir qator qilib yozilishi ham mumkin. C++ dasturlash tilida dastur funksiya va funksiyalardan tashkil topadi. Agar dastur bir nechta funksiyalardan tashkil topgan bo’lsa, bir funksiyaning
nomi main deb nomlanishi shart. Dastur aynan main funksiyasining birinchi operatoridan boshlab bajariladi. Dasturning 1-satrida #include direktivasi bo‘lib, dastur kodiga oqimli o‘qish/yozish funksiyalari va uning o‘zgaruvchilari e’loni joylashgan iostream.h sarlavha faylini qo‘shadi. Keyingi qatorlarda dasturning yagona, asosiy funksiyasi main() funksiyasi tavsifi keltirilgan. Shuni qayd etish kerakki, C++ dasturida albatta main() funksiyasi bo‘lishi shart va dastur shu funksiyani bajarish bilan o‘z ishini boshlaydi. Dastur tanasida konsol rejimi ( Consol – rejimi bu MS DOS oynasi ko’rinishiga o’xshash oyna bo’lib, unda foydalanuvchi dastur tuzuishda faqat dastur kodlari bilan ishlaydi. Graphic interface – rejimida esa faqat tilning kodlari bilangina emas muhitning menyulari, komponentalari bilan ham ishlashi mumkin bo’ladi ) da belgilar ketma-ketligini oqimga chiqarish amali qo‘llanilgan. Ma’lumotlarni standart oqimga (ekranga) chiqarish uchun quyidagi format ishlatilgan: cout << <ifoda>; Bu yerda <ifoda> sifatida o‘zgaruvchi yoki sintsksisi to‘g‘ri yozilgan va qandaydir qiymat qabul qiluvchi til ifodasi kelishi mumkin (keyinchalik, burchak qavs ichiga olingan o‘zbekcha satr ostini til tarkibiga kirmaydigan tushuncha deb qabul qilish kerak) . cin << a; Ma’lumotlarni klaviatura yordamida kiritish buyrug’i bo’lib, u ham iostream.h kutubxonasi tarkibidagi funksiya hisoblanadi. 1.3 Identifikatorlar va kalit so‘zlar. Dasturlash tillarida identifikator tushunchasi mavjud bo‘lib, dasturda obyektlarni nomlash uchun ishlatiladi. O‘zgar maslarn i, o‘zgaruvchilarni, belgi (metka), protsedura va funksiyalarni belgilashda ishlatiladigan nom identifikatorlar deyiladi. Identifikatorlar lotin alfaviti harflaridan boshlanib, qolgan belgilari harf yoki raqamlar ketma -
ketligidan tashkil topgan bo'lishi mumkin. Masalan: axc, alfa. Dasturlash tillarida dastur bajarilishi vaqtida qiymati o‘zgarmaydigan identifikatorlar o‘zgarmaslar deyiladi. O‘zgarmaslar beshta guruhga bo‘linadi – butun, haqiqiy (suzuvchi nuqtali), sanab o‘tiluvchi, belgi (literli) va satr («string», literli satr). C++ tilida o‘zgarmas ( cons ) – bu fiksirlangan sonni, satrni va belgini ifodalovchi leksema hisoblanadi. Kompilyator o‘zgarmasni leksema sifatida aniqlaydi, unga xotiradan joy ajratadi, ko‘rinishi va qiymatiga (turiga) qarab mos guruhlarga bo’ladi. Butun o‘zgarmaslar: ular quyidagi formatlarda bo’ladi; -o‘nlik-son; -sakkizlik-son; -o‘n.oltilik-son. O’nlik o’zgarmas 0 raqamidan farqli raqamdan boshlanuvchi raqamlar ketma-ketligi va 0 hisoblanadi: 0; 123; 7987; 11. Manfiy o’zgarmas – bu ishorasiz o‘zgarmas bo‘lib, unga faqat ishorani o’zgartirish amali qo‘llanilgan deb hisoblanadi. Sakkizlik o’ 0 raqamidan boshlanuvchi sakkizlik sanoq sistemasi (0,1,..,7) raqamlaridan tashkil topgan raqamlar ketma-ketligi: 023;-0777;-0. O‘n oltilik o‘zgarmas 0x yoki 0X belgilaridan boshlanadigan o‘n oltilik sanoq sistemasi raqamlaridan iborat ketma-ketlik hisoblanadi: 0x1A;-0X9F2D;-0x23. Harf belgilar ixtiyoriy registrlarda berilishi mumkin. Kompilyator sonning qiymatiga qarab unga mos turni belgilaydi. Agar tilda belgilangan turlar dastur tuzuvchini qanoatlantirmasa, u oshkor ravishda turni ko‘rsatishi mumkin. Buning uchun butun o‘zgarmas raqamlari oxiriga, probelsiz l yoki L (1ong), u yoki U (unsigned) yoziladi. Zarur hollarda bitta o‘zgarmas uchun bu belgilarning ikkitasini ham ishlatish mumkin: 451u, 012Ul, 0xA2L. Haqiqiy o‘zgarmaslar: Haqiqiy o‘zgarmaslar – suzuvchi nuqtali son bo‘lib, u ikki xil formatda berilishi mumkin: O‘nlik fiksirlangan nuqtali formatda. Bu ko‘rinishda son nuqta orqali ajratilgan butun va kasr qismlar ko‘rinishida bo’ladi. Sonning butun yoki kasr qismi bo‘lmasligi mumkin, lekin nuqta albatta bo‘lishi kerak. Fiksirlangan nuqtali o‘zgarmaslarga misollar: 24.56; 13.0; 66.; .87; eksponensial shaklda haqiqiy o‘zgarmas 6 qismdan iborat bo’ladi: \” 0x22 “ Qo‘shtirnoqni chop etish \? 0x3 Ғ ? So‘roq belgisi