Gurux: Bajardi: Topshirdi
Download 44.58 Kb.
|
Loyiha ishi
Nazariy qism
C++ dasturlash tili C tiliga asoslangan. C esa o'z navbatida B va BCPL tillaridan kelib chiqqan. BCPL 1967 yilda Martin Richards tomonidan tuzilgan va operatsion sistemalarni yozish uchun mo'ljallangan edi. Ken Thompson o'zining B tilida BCPL ning ko'p hossalarini kiritgan va B da UNIX operatsion sistemasining birinchi versiyalarini yozgan. BCPL ham, B ham tipsiz til bo'lgan. Yani o'zgaruvchilarning ma'lum bir tili bo'lmagan - har bir o'zgaruvchi kompyuter hotirasida faqat bir bayt yer egallagan. O'zgaruvchini qanday sifatda ishlatish esa, yani butun sonmi, kasrli sonmi yoki harfdekmi, dasturchi vazifasi bo'lgan. C tilini Dennis Ritchie B dan keltirib chiqardi va uni 1972 yili ilk bor Bell Laboratoriyasida, DEC PDP-11 kompyuterida qo'lladi. C o'zidan oldingi B va BCPL tillarining juda ko'p muhim tomonlarini o'z ichiga olish bilan bir qatorda o'zgaruvchilarni tiplashtirdi va bir qator boshqa yangiliklarni kiritdi. Boshlanishda C asosan UNIX sistemalarida keng tarqaldi. Hozirda operatsion sistemalarning asosiy qismi C/C++ da yozilmoqda. C mashina arhitekturasiga bog'langan tildir. Lekin yahshi rejalashtirish orqali dasturlarni turli kompyuter platformalarida ishlaydigan qilsa bo'ladi. 1983 yilda, C tili keng tarqalganligi sababli, uni standartlash harakati boshlandi. Buning uchun Amerika Milliy Standartlar Komiteti (ANSI) qoshida X3J11 tehnik komitet tuzildi. Va 1989 yilda ushbu standart qabul qilindi. Standartni dunyo bo'yicha keng tarqatish maqsadida 1990 yilda ANSI va Dunyo Standartlar Tashkiloti (ISO) hamkorlikda C ning ANSI/ISO 9899:1990 standartini qabul qilishdi. Shu sababli C da yozilgan dasturlar kam miqdordagi o'zgarishlar yoki umuman o'zgarishlarsiz juda ko'p kompyuter platformalarida ishlaydi. C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C ga asoslangan tarzda tuzildi. C++ juda ko'p qo'shimchalarni o'z ichiga olgan, lekin eng asosiysi u ob'ektlar bilan dasturlashga imkon beradi. Dasturlarni tez va sifatli yozish hozirgi kunda katta ahamiyat kasb etmoda. Buni ta'minlash uchun ob'ektli dasturlash g'oyasi ilgari surildi. Huddi 70-chi yillar boshida strukturali dasturlash kabi, programmalarni hayotdagi jismlarni modellashtiruvchi ob'ektlat orqali tuzish dasturlash sohasida inqilob qildi. C++ dan tashqari boshqa ko'p ob'ektli 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 ob'ektlarga asoslangan. C++ esa gibrid tildir. Unda C ga o'hshab strukturali dasturlash yoki yangicha, ob'ektlar bilan dasturlash mumkin. Yangicha deyishimiz ham nisbiydir. Ob'ektli dasturlash falsafasi paydo bo'lganiga ham yigirma yildan oshayapti. C++ funksiya va ob'ektlarning juda boy kutubhonasiga ega. Yani C++ da dasturlashni o'rganish ikki qismga bo'linadi. Birinchisi bu C++ ni o'zini o'rganish, ikkinchisi esa C++ ning standart kutubhonasidagi tayyor ob'ekt/funksiyalarni qo'llashni o'rganishdir. Dastlab UNIX operatsion tizimi va С dasturlash tili yaratilgan va С tili asosida C++ tili yaratildi. С esa o'z navbatida B va BCPL tillaridan kelib chiqgan. C++ tilini 80 yillarda AT&T Bell Labs korxonasi ishchisi Byarnom Straustrup tuzgan. Avtorning aytishicha, bu tilni tuzishda u hech qanday qog'ozlarni qoralamagan va hamma ishni yo'l yo'lakay, ketma-ketlikda tuzib chiqqan. Uning asosiy maqsadi, o'zi va do'stlari uchun qulay dasturlash tili yaratishdan iborat edi. C++ dasturlash tilining asosi C hisoblanadi va shu tilni(C) misolida C++ tilini tuzib chiqdi. C dasturlash tilini mukammalashtirgan eng asosiy narsa bu – ob'yektga mo'ljallangan dasturlashni olib kirgani hisoblanadi. Chunki dasturlashda, tez, qulay , tartibli va ixcham yozish uchun ob'yektga mo'ljallangan dasturlash tillaridan foydalanish lozim bo'ladi. Dastlabki C++ dasturlash tilidan foydalanganlar, bu albatta Bell Labs korxonasi hodimlari hisoblanadi. 1993 yilda bu til ommaga taqdim etildi va C++ nomini oldi. Dastlabki C++ ga oid kitob "The C++ Programming Language(Addison-Wesley, 1985)" nomi bilan mashhur bo'ldi va bu kitob 1991 yil "Язык программирование C++" tarjimasi bilan rus tiliga tarjima qilindi va bu til(С++) rivojlanishi boshlanib ketdi. ANSI-ISO (ANSI X3J16; ISO WG21/N0836) birlashmasi 1989 yilda, birlashga holda ish boshladi. Bu korxonaning dastlabki ishi C++ dasturlash tiliga va uning kutubxonasiga standart ishlab chiqishdan boshlandi. Buning uchun 1990 yildagi C++ tili asos qilib olindi. 1990 yilda C++ standarti ishlab chiqildi va bu standart hozir ANSI C nomi bilan mashxur. Bu til juda kengayib ketdi va hozirgi kunda bu tilning hamma detallarini biladigan dasturchi bo'lmasa kerak. C++ funksiya va ob'yektlarning boy kutubxonasiga ega. Bundan kelib chiqadiki C++ dasturlash tilini o'rganish 2 qismga bo'linadi: dastlab, C++ tili sintaksisi o'rganiladi vv shundan so'ng uning asosiy kutubxonalari birma-bir ko'rib chiqib, yodlash lozim bo'ladi. Bundan ko'rinib turibdiki, bu til juda katta hajmni o'z qamroviga oladi. C++ tilining egasi yo'q u hech kimga tegishli emas. Bu til С tilidan kelib chiqgani uchun bosh harf С, ++ esa bu tildagi qiymatni bittaga ko'tarish belgisi hisoblanadi va bu belgi C++ dasturlash tilida paydo bo'ldi. C++ dasturlash tili kompilyatsiya qilinadigan til hisoblanadi bu degani yozilgan kod oldin mashina tiliga o'giriladi va keyin ishga tushiriladi. C++ tilidagi sinflar va ob'ektlar ob'ektga yo'naltirilgan dasturlashning asosiy tushunchalari - OOP. Ob'ektga yo'naltirilgan dasturlash - bu tizimli dasturlashning kengaytmasi bo'lib, unda asosiy tushunchalar sinflar va ob'ektlar tushunchalari hisoblanadi. C ++ dasturlash tilidan C o'rtasidagi asosiy farq shundaki, C tilida sinflar mavjud emas va shuning uchun C tili C ++ dan farqli o'laroq OOP ni qo'llab-quvvatlamaydi. Darslar aslida nimaga mo'ljallanganligini tushunish uchun keling, kundalik hayotdagi ba'zi ob'ektlar, masalan, velosiped bilan o'xshashlik qilaylik. Velosiped - bu chizmalarga muvofiq qurilgan ob'ekt. Shunday qilib, xuddi shu rejalar OOPda sinflar rolini o'ynaydi. Shunday qilib, sinflar ba'zi tavsiflar, diagrammalar, chizmalar bo'lib, ularga ko'ra ob'ektlar yaratiladi. Endi ma'lum bo'ldiki, OOPda ob'ekt yaratish uchun avvalo chizmalarni, ya'ni sinflarni chizish kerak. Sinflarning o'ziga xos funktsiyalari mavjud bo'lib, ular sinf usullari deb ataladi. Velosipedning harakati pedallarni aylantirish orqali amalga oshiriladi, agar velosipedni OOP nuqtai nazaridan ko'rib chiqsak, u holda pedal mexanizmi sinfning usuli hisoblanadi. Har bir velosipedning o'ziga xos rangi, vazni, turli komponentlari bor - bularning barchasi xususiyatlar. Bundan tashqari, har bir yaratilgan ob'ekt uchun xususiyatlar farq qilishi mumkin. Bir sinfga ega bo'lish, siz cheksiz miqdordagi ob'ektlarni (velosipedlarni) yaratishingiz mumkin, ularning har biri bir xil usullar to'plamiga ega bo'ladi, shu bilan birga siz pedal mexanizmini, g'ildiraklarni, tormoz tizimining ishlashini ichki amalga oshirish haqida o'ylashingiz shart emas, chunki bularning barchasi allaqachon amalga oshiriladi. sinfda aniqlanishi kerak. Sinf maqsadi bilan shug'ullangandan so'ng, keling, unga malakali ta'rif beramiz. C++ tilidagi darslarUsullar, xususiyatlar, hali mavjud bo'lmagan ob'ektlarni tavsiflovchi abstraksiya. Ob'ektlar o'ziga xos xususiyat va usullarga ega bo'lgan mavhumlikning aniq tasviridir. Bitta sinf asosida yaratilgan ob'ektlar shu sinfning misollari deyiladi. Ushbu ob'ektlar har xil xatti-harakatlarga, xususiyatlarga ega bo'lishi mumkin, ammo ular baribir bir xil sinf ob'ektlari bo'lib qoladi. OOPda sinflarni qurishning uchta asosiy tamoyillari mavjud: InkapsulyatsiyaBu sizga sinfda ma'lumotlar va ular bilan ishlash usullarini birlashtirish va foydalanuvchidan amalga oshirish tafsilotlarini yashirish imkonini beruvchi xususiyatdir. Meros olishMavjud sinfga asoslangan yangi avlod sinfini yaratishga imkon beruvchi xususiyat, bunda ota-klassning barcha xususiyatlari avlod sinfiga tayinlanadi. Polimorfizm- bir xil interfeysga ega bo'lgan sinflar ob'ektlaridan ob'ektning turi va ichki tuzilishi haqida ma'lumotsiz foydalanishga imkon beruvchi sinflar xususiyati. Sinf deklaratsiyasi ajratilgan sinf kalit so'zidan boshlanadi, undan keyin sinf nomi keladi. Sinfning tanasi jingalak qavslar ichida e'lon qilinadi, 3 - 10 qatorlar va yopilgan qavsdan so'ng siz nuqta-vergul qo'yishingiz kerak, 10-qator. Sinfning tanasida uchta kirish spetsifikatsiyasi yorlig'i e'lon qilinadi, 4, 6-satrlar, 8, har bir yorliqdan keyin siz doimo ikki nuqta qo'yishingiz kerak. 4-qator kirish spetsifikatsiyasi yorlig'ini e'lon qiladixususiy... Klassning barcha usullari va xossalari kirish spetsifikatsiyasidan keyin e'lon qilinadixususiyfaqat sinf ichida mavjud bo'ladi. 6-qator kirish spetsifikatorini e'lon qiladiommaviy, kirish spetsifikatsiyasidan keyin e'lon qilingan sinfning barcha usullari va xususiyatlari ommaviydasturdagi boshqa funksiyalar va ob'ektlar uchun mavjud bo'ladi. Hozircha bu erda to'xtab qolaylik, kirish spesifikacihimoyalanganBiz uni hozir qismlarga ajratmaymiz, shunchaki shunday ekanligini unutmang. Klassni e'lon qilishda uchta kirish spetsifikatsiyasini e'lon qilish shart emas va ularni shu tartibda e'lon qilish shart emas. Ammo kirish spetsifikatorlarini e'lon qilish tartibi to'g'risida darhol qaror qabul qilish va unga rioya qilishga harakat qilish yaxshiroqdir. Keling, dasturni ishlab chiqaylik, unda biz eng oddiy sinfni e'lon qilamiz, unda bitta funktsiya xabarni chop etadi. Xulosa Qidiruv tizimi (inglizcha: search engine) — kompyuterda, kompyuter tarmogʻida yoki butunjahon web tarmogʻida World Wide Web saqlanayotgan maʼlumotlarni qidirishga moʻljallangan dasturdir. Internet qidiruv tizimi Information Retrieval systemdan kelib chiqqan. Bu sistema maʼlumotlar bazasi uchun kalit-soʻzlar indeksini yaratib, natijada ushbu kalit-soʻz qatnashgan qidiruv soʻrovnomasiga javob sifatida natijalar roʻyxatini koʻrsatish imkoni paydo boʻladi. Qidiriv tizimining afzalliklaridan biri bu kerakli maʼlumot yoki axborotni qisqa vaqt ichida komputer xotirasidan topib uni foydalanuvchiga yetkazishdir. Qidiruv tizimining asosiy vazifalari hamda tarkibiy qismlari quyidagilardir: Indeks yaratish va yangilab turish (hujjatlardagi maʼlumotlar strukturasi) Qidiruv soʻrovnomalarini bajarish Qidiruv natijasini imkon qadar mazmunli, yaʼni tushunarli shaklda koʻrsatish Odatda maʼlumotlar qidirish avtomatik ravishda amalga oshiriladi, masalan WWWda Webcrawler, alohida kompyuterda esa foydalanuvchi belgilagan Indexlar roʻyxatidan barcha maʼlumotlarni oʻqish. Qidiruv tizimi turlari Qidiruv tizimlarini bir qancha belgilariga koʻra turlarga ajratish mumkin. Quyidagi belgilar misol sifatida tanlangandir. Yangi qidiruv tizimini yaratishda ushbu belgilarning hammasini olish shart emas. Axborotlar turi Turli xil qidiruv tizimlari turli xil axborot turlarini qidira oladi. Avvaliga umumiy qilib maʼlumotlar turini koʻrsatish mumkin, masalan, matn, tasvir, videotasvir, audiofayl va b. Natijalar ham ushbu turlarga bogʻliq holda tartibga solinadi. Matn qidirilganda natija sifatida ushbu matndan kalit-soʻz qatnashgan bir qism koʻrsatiladi. Axborotlar manbaʼi Klassifikasiyaning yana bir turi bu qidiruv tizimi topgan axborotning manbaʼi hisoblanadi. Koʻpincha qidiruv tizimining nomi axborotlani qaysi manbaʼdan qidirishini koʻrsatadi. Web qidiruv tizimi — WWWdan maʼlumot qidiradi Usenet qidiruv tizimi — butun dunyoga taqsimlangan munozaralar mediumi (vositasi) hisoblanadigan Usenetdan maʼlumot qidiradi Intranet qidiruv tizimi — alohida tashkilotning ichki tarmogʻidagi kompyuterlardan maʼlumot qidiradi Desktop qidiruv tizimi — alohida kompyuterning maʼlumotlar bazasidan maʼlumot qidiradigan dastur. Amalga oshirish usuli Indeksga asoslangan qidiruv tizimi — hozirda eng muhim tizim.Bu tizim tegishli maʼlumotlarni topib, indeks yaratadi. Indeks shunday bir strukturaki, bunda saqlangan maʼlumotlar keyingi qidiruv vaqtida ham qoʻllaniladi. Lekin bu tizimda indeksni yangilab turish va saqlash muammoli boʻlsa ham, qidiruv jarayoni tez ekanligi bu tizimning ustunligidir. Bu strukturani koʻpincha invers indeks deb ham atashadi. Meta qidiruv tizimi — qidiruv soʻrovnomasini bir vaqtning oʻzida bir necha indeksga asoslangan qidiruv tizimlariga joʻnatadi va natijani turli kombinasiyada koʻrsatadi.Ustunlik tomoni — koʻp miqdorda maʼlumotlar topishi va implementasiya jarayoni osonroqligidir.Ushbu qidiruv tizimi kam uchraydigan maʼlumotlarni qidirshda yaxshi hisoblanadi. Gibrid formadagi qidiruv tizimi — odatda nisbatan kichik indeksga ega, lekin boshqa qidiruv tizimlariga ham soʻrovnoma joʻnatib, natijani kombinasiyalangan tarzda koʻrsatishi mumkin.Kam uchraydigan maʼlumotlarni qidirishda yaxshi emas. Guruhlashtirilgan qidiruv tizimi — nisbatan yangi, bunda qidiruv soʻrovnomasi oʻz qidiruv tizimiga ega bir necha kompyuterlagra joʻnatiladi va natija umumlashtiriladi. Markazlashtirilmagani uchun uzilib qolish xavfi yoʻq, ishonchli, lekin markaziy tsenzura (cheklashlar) qoýishning iloji yoʻq. Interpretasiya Foydalanuvchining qidiruv soʻrovnmasi qidirsh jarayoni boshlanishidan oldin kerakli qidiruv algoritmiga tushunarli qilib interpretasiya(tarjima) qilinadi.Bu esa oʻz navbatida soʻrov sintaksisini imkon qadar soddaroq qilish va murakkab soʻrovlarni bajarish imkonini yaratishga xizmat qiladi. Koʻplab qidiruv tizimlari matematik mantiqdagi Bul operasiyalari yordamida turli kalit-soʻzlarning mantiqiy birikmasini hosil qila oladi.Natijada esa maʼlum kalit-soʻzga ega web-sahifani topish imkoni paydo boʻladi. Eng yangi qidiruv tizimi tabiiy tilni tushunadigan qidiruv tizimini boʻlib, uni semantik qidiruv tizimi deb atashadi. Eng koʻp qoʻllaniladigan qidiruv tizimlarining belgilari Eng koʻp qoʻllaniladigan belgilar kombinasiyasi WWWdan axborot manbaʼi sifatida, matnli maʼlumotlar uchun esa HTML-format va qidiruvni amalga oshirishda esa indeks yaratishdan foydalanadi.Soʻrovnimani interpretasiya qilish koʻpincha sodda sintaksisga asoslanga holda amalga oshiriladi. Eng yirik qidiruv tizimi hosoblanmish Google, Yahoo Search va Microsoft Live Search mana shu uslubda ishlaydi. Natijani koʻrsatish Qidiruv natijasi koʻrsatadigan sahifa koʻpgina qidiruv tizimlari tomonidan ikkiga: tabiiy roʻyxat va homiylar linklariga ajratiladi. Homiylar linklari toʻlov asosida qidiruv indeksiga kiritilgan boʻlsa, tabiiy roʻyxatda qidirilayotgan kalit-soʻz qatnashgan boʻlsagina koʻrsatiladi.Foydalanuvshiga qidiruv tizimidan foydalanishni osonlashtirih maqsadida natijalar muvofiqlik boyʻicha (Ranking) saralanadi, lekin har bir qidiruv tizimi saralash uchun oʻz meʼyorlariga egadir. Bu meʼyorlarga quyidagilar kiradi: maʼlumotning ahamiyati (Google uchun PageRank-koʻrsatkichi) har bir topilgan malumotda qidirilayotgan kalit-soʻzning qanchalik koʻp uchrashi va joylashgan oʻrni soʻralgan maʼlumotni baholash va soni boshqa sahifalardan ushbu kalit-soʻz qatnashgan sahifaga qanchalik koʻp linklar berilganligi link beriladigan sozlardir. Download 44.58 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling