C++ dasturlash tilining valarray , sstream va map kutubxonalari funksiyalari bilan ishlash
O`zbekiston Respublikasi Oliy va O`rta maxsus ta`lim vazirligi Samarqand davlat universiteti “ Matematika ” fakulteti “ Axborotlashtirish texnologiyalari ” kafedrasi “Dasturlash asoslari ” fanidan Bajardi: _____________ Qabul qildi: _____________ Komissiya a`zolari: _______________ _______________ KURS ISHI
Mavzu : C++ dasturlash tilining valarray , sstream va map kutubxonalari funksiyalari bilan ishlash Reja : I. Kirish II. Asosiy qism . III. Kutubxona bilan ishlash. 2.1 Kutubxona xaqida umumiy ma’lumot. 2.2 “ Valarray ” kutubxonasi. 2.3 “ sstream “ kutubxonasi. 2.4“ map “ kutubxonasi. IV. C++ da Kutubxona funksiyalarini umumiy qo’llanishi. 3.1 Ma’lumotlarni kiritish va chiqarish va akslantirish funksiyalari bilan ishlovchi kutubxonalar. 3.2 Matematik funksiyalar bilan ishlovchi kutubxonalar. V. Xulosa. VI. Foydalanilgan adabiyotlar.
Kirish Ma`lumki, programma mashina kodlarining qandaydir ketma – ketligi bo`lib, aniq bir xisoblash vositasini amal qilishini boshqaradi. Programma ta`minotini yaratish jarayonini osonlashtirish uchun yuzlab programma - lash tillari yaratilgan . Barcha programmalash tillarini ikki toifaga ajratish mumkin. - Quyi darajadagi programmalash tillari; - Yuqori darajadagi programmalash tillari; Quyi darajadagi programmalash tillariga Assembler turidagi tillar kiradi . Bu tillar nisbatan qisqa va tezkor bajariluvchi kodlarni yaratish imkoniyatini beradi. Lekin, assembler tilida programma tuzish zaxmatli, nisbatan uzoq davom etadigan jarayondir . Bunga qarama – qarshi ravishda yuqori bosqich tillari yaratilganki , ularda tabiiy tilning cheklangan ko`rinishidan foydalangan holda programma tuziladi. Yuqori bosqich tillaridagi operatorlar , berilganlarning turlari , o`zgaruvchilar va programma yozishning turli usullari tilning ifodalash imkoniyatini oshiradi va programmani <<o`qimishli>> bo`lishini ta`minlaydi. Yuqori bosqich tillariga Fortran, PL/1, Prolog, Lisp, Basic, Pascal, C va boshqa tillarni misol keltirish mumkin. Kompyuter arxitekturasini takomillashuvi, kompyuter tarmog`ining rivojlanishi mos ravishda yuqori bosqich tillarini yangi variantlarini yuzaga kelishiga, yangi tillarni paydo bo`lishiga ayrim tillarni esa yo`qolib ketishiga olib keldi . Xozirda keng tarqalgan tillarga Object Pascal, C++, C#, Php, Java , Asp tillari xisoblanadi. Xususan , C tilining takomillashgan variant C++ tilini olishimiz mumkin. 1972 – yilda Denis Ritch va Brayan Kernegi tomonidan C tili yaratildi . 1980 – yilda Byarn Straustrop C tilining avlodi C++ tilini yaratdiki, unda strukturali va obektga yo`naltirilgan programmalash texnologiyasiga tayangan xolda programma yaratish imkoniyati tug`ildi.
С ++ funksiya va obyektlarning juda boy kutubxonasiga ega . Yani C++ da dasturlashni o`rganish ikki qismga bo`linadi . Birinchisi bu C++ ni o`zini o`rganish , ikkinchisi esa C++ ning standart kutubxonasidagi tayyor obyekt funksiyalarni qo`llashni o`rganishdir. C++ standart kutubxonasi bir nechta umumiy konteynerlarni, ushbu konteynerlardan foydalanish va boshqarish funktsiyalarini, funktsional ob'ektlarni, umumiy satrlarni va oqimlarni (jumladan, interaktiv va fayl kiritish-chiqarish), ba'zi til xususiyatlarini qo'llab-quvvatlashni va kvadratni topish kabi kundalik vazifalar uchun funktsiyalarni taqdim etadi. sonning ildizi . C++ standart kutubxonasi ISO C standart kutubxonasining ".h" bilan tugaydigan ko'pgina sarlavhalarini ham o'z ichiga oladi , ammo ulardan foydalanish eskirgan. C++ standart kutubxonasidagi boshqa sarlavhalar ".h" bilan tugamaydi. C++ standart kutubxonasining xususiyatlari std nomlar maydonida e'lon qilingan . C++ standart kutubxonasining diqqatga sazovor xususiyati shundaki, u umumiy algoritmlarning sintaksisi va semantikasini aniqlabgina qolmay, balki ularning ishlashiga ham talablar qo‘yadi. Ushbu ishlash talablari ko'pincha kutilgan, lekin ishlatilishi talab qilinmaydigan taniqli algoritmga mos keladi. Aksariyat hollarda buning uchun chiziqli vaqt O( n ) yoki chiziqli vaqt O( n log n ) kerak bo ladi, lekin ba zi hollardaʻ ʼ barqaror tartiblash uchun (o z ʻ o rnida ʻ ruxsat berish uchun) kvazizikli vaqt O( n log 2 n ) kabi yuqori chegaralarga ruxsat beriladi. birlashtirish tartibi ). Ilgari saralash faqat O( n.) ni olish uchun kerak edi log n ) o rtacha ʻ hisobda tezkor so rovdan ʻ foydalanishga imkon beradi , bu amalda tez, lekin eng yomon ko rsatkichlarga ega, biroq ʻ introsort ham tez o rtacha ʻ unumdorlikka, ham eng yomon holatlarning optimal murakkabligiga imkon berish uchun kiritilgan va C++11 dan boshlab , saralash eng yomon chiziqli bo'lishi kafolatlanadi. Boshqa hollarda talablar kabi, laxer
qoladi tanlash faqat (kabi o'rtacha chiziqli bo'lishi kerak, quickselect ,) kabi eng yomon-hodisa lineer talab qilmaydigan introselect . C++ standart kutubxonasi C++ ISO standartlashtirish sa’y-harakatlarining bir qismi sifatida ISO standartlashtirishdan o‘tdi va kengaytirilgan funksiyalarni standartlashtirish bo‘yicha keyingi ishlarni olib bormoqda. std:: C++ da valarray klassi C++ 98 massivlarda matematik amallarni samarali ushlab turish va ta'minlash uchun valarray deb nomlangan maxsus konteynerni taqdim etdi. U elementar matematik operatsiyalarni va umumlashtirilgan pastki kod operatorlarining turli shakllarini, kesish va bilvosita kirishni qo'llab- quvvatlaydi. Vektorlar bilan solishtirganda, valarraylar ma'lum matematik operatsiyalarda vektorlarga qaraganda samaralidir. Eslatmalar std::valarray va yordamchi sinflar taxalluslashning ma'lum shakllaridan xoli bo'lib, bu sinflar bo'yicha operatsiyalarniC dasturlash tilidagilimit kalit so'zining ta'siriga o'xshash optimallashtirishga imkon beradi. Bundan tashqari, valarray argumentlarniqabul qiluvchi funktsiyalar va operatorlargakompilyatorga ifodani optimallashtirishga imkon berish uchun proksi-server ob'ektlarini qaytarishga ruxsat beriladi. v1 = a * v2 + v3 ; bajaradigan yagona halqa sifatida v1 [ i ] = a * v2 [ i ] + v3 [ i ] ; har qanday vaqtinchalik yoki bir nechta o'tishlardan qochish. Biroq, ifoda shablonlari har qanday C++ konteyneri uchun bir xil optimallashtirish texnikasini taqdim etadi va raqamli kutubxonalarning aksariyati moslashuvchanlik uchun ifoda shablonlarini valarraylardan afzal ko'radi. Ba'zi C++ standart kutubxona dasturlari samarali operatsiyalarni amalga oshirish uchun ifoda shablonlaridan foydalanadi std::valarray (masalan, GNU libstdc++ va LLVM libc++). Valarraylar