C++ dasturlash tili
C + + d a s t u r l a s h t i l i Mundarija KIRISH ………………………………………………………………………….3 I - B O B . C + + d a s t u r l a s h t i l i … … … … … … … … … … … … … … … … 5 1.1. C++ dasturlash tili tarkibidagi o‘zgaruvchi turlari va o‘zgarmaslar ………………………………..…………………………………11 1.2. C++ dasturlash tili tarkibidagi arifmetik amallar va mantiqiy amallar………………………………………………………………………… 14 II - B O B . C + + d a s t u r l a s h t i l i n i n g l i m i t s , n u m e r i c v a v e c t o r k u t u b x o n a l a r i f u n k s i y a l a r i b i l a n i s h l a s h … … … … … … … … . . 17 2.1. C++ dasturlash tili tarkibidagi standart funksiyalar va ifodalar …………………………………………………………………………17 2.2. C + + d a s t u r l a s h t i l i n i n g l i m i t s f u n k s i y a l a r i b i l a n i s h l a s h … … … … … … … … … … … ............. … … … … ......... … … … . … . 2 0 XULOSA ............................................................................................................26 FOYDALANILGAN ADABIYOTLAR ..........................................................27 2
Kirish Hozirgi vaqtda axborot-kommunikasiya vositalari barcha turdagi tashkilot va muassasalarga shiddat bilan kirib kelmoqda. Hozirgi davrda axborotlarning haddan tashqari ko‘pligi bu axborotlarni saqlashda, qayta ishlashda, hamda har xil turdagi tizimlarni yaratish, ulardan keng foydalanishni va axborot tizimlari yaratishni talab qiladi. O‘zbekiston Respublikasi Prezidentining 2012 yil 21 martdagi “Zamonaviy axborot-kommunikasiya texnologiyalarini yanada joriy etish va rivojlantirish chora-tadbirlari to‘g‘risida” gi PQ-1730 Qarori hamda “O‘zbekiston Respublikasida “Elektron ta’lim milliy tarmog‘ini yaratish” investision loyihasini amalga oshirish chora-tadbirlari to‘g‘risida” gi PQ-1740 Qarori va me’yoriy hujjatlar asosida algoritmiy ta’minot ishlab chiqish va joriy etish keng ko‘lamli hisoblanadi. Barcha tashkilot va muassasalarda avtomatlashtirilgan tizimlar yaratish ulardan keng ko‘lamda foydalanish uchun algoritmlash tillarini o‘rni katta hisoblanadi. Axborot tizimlari axborotni to‘plash, saqlash va qayta ishlash uchun, keng imkoniyatli maqsadlarda samarali foydalanish uchun xizmat qiladi. Zamonaviy axborotlashtirish tizimi, ma’lumotlar integratsiyasi konsepsiyasiga asoslangan katta hajmdagi ma’lumotlarni saqlash bilan tavsiflanadi va ko‘p sondagi foydalanuvchilarning turli xildagi talablariga javob berishi kerak bo‘ladi. Axborot tizimi va axborot texnologiyalarining avtomatlashtirilgan elementlarini qo‘llash va avtomatlashtirish asosida yangi axborot texnologiyasini yaratish avtomatlashtirish tizimlarini loyihalashtiruvchilarning asosiy vazifalaridan biri hisoblanadi. Avtomatlashtirilgan tizimlarni yaratish uchun albatta birinchi navbatda muammo obektini infologik yoki diskretli modelini qurish dolzarb hisoblanadi. Infologik yoki diskretli modelni muammo obektiga qarab algoritmlash tillarini qaysi biri asosida yaratish kerakligini tanlab olinish kerak. Elektron hisoblash mashinalarini birinchi avlodlari yaratilishi bilan algoritmlash tillarini rivojlanishi ham boshlandi. Avval algoritm tuzuvchi mutaxassislar eng sodda mashina tilini o‘zida ifodalovchi kompyuter komandalari bilan ishlaganlar. Bu komandalar nol va birlardan iborat uzun qatorlardan tashkil topgan edi. Keyinchalik insonlar uchun tushunarli bo‘lgan mashina komandalarini o‘zida saqlovchi assembler tili yaratildi. Shu vaqtlarda BASIC va COBOL singari yuqori sathli tillar ham paydo bo‘ldiki, bu tillar yordamida so‘z va gaplarning mantiqiy konstruksiyasidan foydalanib 3
algoritmlash imkoniyati yaratildi. Ular komandalarni mashina tiliga interpretatorlar va kompilyatorlar yordamida o‘tkazar edi. Algoritmlash tillari yaratilishi bo‘yicha uchta turga ajratiladi: -quyi darajadagi; -o‘rta darajadagi; -yuqori darajadagi. Bizga ma’lumki, ma’lum bir masalani yechish uchun buyruqlar ketma- ketligi ya’ni algoritmni algoritmlash tilida yozilishida kamroq komandalardan foydalanilsa, bunday tillar darajasi yuqoriroq hisoblanadi. Quyi darajadagi algoritmlash tillari bevosita kompyuter qurilmalari bilan bog‘liq bo‘lib buyruqlar ularning kodlari bilan yoziladi. Bu kabi buyruqlardan tashkil topgan algoritmlar katta hajmli bo‘lib, ularni taxrirlash mushkul hisoblanadi. Dastlabki kompyuterlar( ENIAK, MESM va boshqalar) ana shunday tillarda ishlardi. O‘rta darajadagi algoritmlash tillari buyruqlarida faqat raqamlar emas, balki insonlar tushunadigan bazi so‘zlar ishlatila boshlandi( Assemblaer ). Yuqori darajadagi algoritmlash tillari quyidagicha bosqichlarga bo‘linadi: Algoritmik (Basic, Pascal, C va b.) Mantiqiy (Prolog, Lisp va b.) Obe‘ktga mo‘ljallangan (Object Pascal, C++, Java va b.) Algoritmlash tillarida yaratilgan algoritmlar mashina tiliga Translyatorlar yordamida o‘tkaziladi. Translyator(translator-tarjimon) biror bir algoritmlash tilida yozilgan algoritmni mashina tiliga tarjima qiladi. Translyatorlar ikki turda bo‘ladi: -Kompilyatorlar( compiler- yig‘uvchi) biror bir algoritmlash tilida yozilgan algoritmni mashina tiliga to‘liq o‘qib olib tarjima qiladi. -Interpretatorlar( interpreter —izohlovchi, og‘zaki tarjimon) biror bir algoritmlash tilida yozilgan algoritmni mashina tiliga satrma satr tarjima qiladi. Translyatorlarni bu ikkala turi bir biridan farq qiladi. Komplyatsiya qilingan algoritmlar bir muncha kam vaqt talab etadi, ya’ni tezroq ishlaydi, lekin interpretatsiya qilingan algoritmlarni o‘zgartirish osonroq hisoblanadi. 4
I - B O B . C + + d a s t u r l a s h t i l i C++ dasturlash tili 1980 yillar boshida Byarne Straustrup tomonidan C tiliga asoslangan tarzda tuzildi. C dasturlash tili 1972-yil Denis Pitch va Brayan Kornegilar tomonidan yaratilgandi. 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 ahamiyatga ega. Grafik interfeysga ega dasturlarni yaratish uchun ob’yektga mo‘ljallangan dasturlash tayanch baza hisoblanadi. Ob’yektga mo‘ljallangan dasturlashning asosiy maqsadi berilganlar va ular ustida amal bajaruvchi proseduralarni yagona ob’yekt sifatida qarashidir. C++ tiliga boshqa dasturlash tillariga nisbatan ko‘pgina yangiliklar kiritilgan bo‘lib, tilning imkoniyati yanada kengaytirilgan. C++ dasturlash tili ham boshqa dasturlash tillari kabi o‘z alfavitiga va belgilariga ega. Tilning mavjud alfavit va belgilariga quyidagilar kiradi: 1. Katta va kichik lotin alfaviti harflari; 2. Raqamlar - 0,1,2,3,4,5,6,7,8,9; 3. Maxsus belgilar: " {} | [] () + - / % \ ; ' : ? <=>_ ! & ~ # ^ . * Tilning alfavit belgilaridan tilning leksemalari shakllantiriladi: 1.Identifikatorlar; 2.Kalit (xizmatchi yoki zahiralangan) so‘zlar; 3.O‘zgarmaslar; 4.Amallar; 5.Ajratuvchilar. C++ dasturlash tilida tuzilgan dasturlarda izohlar istalgan joyda berilishi mumkin. Izohlar ikki turda bo‘ladi ular satriy va blokli ko‘rinishlarda bo‘ladi. Satriy izohlar uchun ―//” belgi ishlatiladi, blokli izohlar uchun ―/*”, ―*/”belgilari ishlatiladi. Dastur- dasturlash tilida ma‘lum bir masala yoki muommoni hal etish uchun yozilgan chekli sondagi bo‘yruqlar ketma- ketligi. Identifikator- dastur tarkibidagi o‘zgaruvchi, o‘zgarmas, funksiya, prosedura va ob’yektlarni belgilashda ishlatiladigan nomlardir. Kalit so‘zlar- dastur tarkibidagi malum bir vazifani bajaruvchi so‘zlarga aytiladi. 5
O‘zgarmas- dastur bajarilish vaqtida o‘z qiymatini o‘zgartirmaydigan identifikatorlarga aytiladi. Amal- dastur tarkibida yoziladigan matematik yoki mantiqiy amallarga aytiladi. Ajratuvchi- dastur tarkibidagi buyruq va ifodalarni bir biridan ajratilishiga aytiladi. C++dasturlash tilida ishlatiladigan belgili o‘zgarmaslar jadvali quyidagicha. Belgining yozilishi Belgining nomlanishi va unga mos amal \\ Teskari yon chiziqni chop etish \‘ Apostrofni chop etish \ ” Qo ‘ shtirnoqni chop etish \? So ‘ roq belgisi \a Tovush signalini berish \b Kursorni 1 belgi o‘rniga orqaga qaytarish \f Sahifani o ‘ tkazish \n Qatorni o ‘ tkazish \r Kursorni ayni qatorning boshiga qaytarish \t Kursorni navbatdagi tabulyatsiya joyiga o‘tkazish \v Vertikal tabulyatsiya (pastga) C++ tilida yaratilgan dasturni komplyatsiya qilgandan so‘ng .cpp kengaytmali bajaruvchi fayl yaratiladi, agar ob’yektli fayl qo‘shilsa, u holda .obj kengaymali fayl yaratiladi. C++ dasturlash tilidagi dasturning umumiy ko‘rinishi quyidagicha: #include <iostream.h> // sarlavha faylni qo‘shish int main () // bosh funksiya tavsifi { // blok boshlanishi return 0; // funksiya qaytaradigan qiymat } // blok tugashi 6