Tema : Iteratorlar hám olarni qóllaw
Download 22.68 Kb.
|
sssss
Tema :Iteratorlar hám olarni qóllaw Joba :
Iterator ne? 2. Iteratorlarmelde 3. Iteratorlarni á korsatish C++ programmalastırıw tilinde de iteratorlar bar. vector, daque, list sıyaqlı jıynaq túrlerinen paydalanıwınıń udini uishning eń jaqsı uslu, iteratorlardan paydalanıw bolıp tabıladı. Bir jıynaqtaǵı elementlerge shaqırıw ushın iteratorlar paydalanıladı. C++ programmalastırıw tilinde de iteratorlar bar. vector, daque, list sıyaqlı jıynaq túrlerinen paydalanıwınıń udini uishning eń jaqsı uslu, iteratorlardan paydalanıw bolıp tabıladı. Bir jıynaqtaǵı elementlerge shaqırıw ushın iteratorlar paydalanıladı. Iteratorlar STL konteynerlarining yad mánzillerine ichora qılıw ushın ichlatiladi. Ular birinshi náwbette nomerler, belgiler ketma -ketligida hám taǵı basqalarda qollanıladı. Ular programmanıń quramalılıǵı hám bojarilish waqtın qısqartiradi. Iteratorlarning operatsiyaları : Iteratorlar STL konteynerlarining yad mánzillerine ichora qılıw ushın ichlatiladi. Ular birinshi náwbette nomerler, belgiler ketma -ketligida hám taǵı basqalarda qollanıladı. Ular programmanıń quramalılıǵı hám bojarilish waqtın qısqartiradi. Iteratorlarning operatsiyaları : 1. begin () :- Bul funksiya konteynerning baslanıw jaǵdayın qaytarıw ushın ichlatiladi. 1. begin () :- Bul funksiya konteynerning baslanıw jaǵdayın qaytarıw ushın ichlatiladi. 2. end () :- Bul funksiya konteynerning aqırǵı jaǵdayın qaytarıw ushın ichlatiladi. 3. advance () :- Bul funksiya iterator ornın argumentlarida kórsetilgen nomerge shekem asırıw ushın ichlatiladi. 4. next () :- Bul funksiya iterator óz argumentlarida kórsetilgen pozitsiyalarni ilgeri súrgennen keyin kórsetetuǵın jańa iteratorni qaytaradı. 5.prev () :- Bul funksiya iterator óz argumentlarida kórsetilgen pozitsiyalarni kemeytirgennen keyin kórsetetuǵın jańa iteratorni qaytaradı. 5.prev () :- Bul funksiya iterator óz argumentlarida kórsetilgen pozitsiyalarni kemeytirgennen keyin kórsetetuǵın jańa iteratorni qaytaradı. 6. inserter () :- Bul funksiya elementlerdi konteynerning qálegen jayına kirgiziw ushın ichlatiladi. Ol 2 argumentni, konteyner hám iteratorni elementlerdi kirgiziw kerek bolǵan jaydı qabıl etedi. end () :- Bul funksiya konteynerning aqırǵı jaǵdayın qaytarıw ushın ichlatiladi: #include #include #include // iteratorlar ushın #include // vectorlar ushın using namespace std; int main () { vector ar = { 1, 2, 3, 4, 5 }; // vektorǵa iteratorni járiyalaw vector::iterator ptr; // vektor elementlerin begin () hám end () járdeminde kórsetiw cout << " vektor elementleri: "; // vektor elementlerin begin () hám end () járdeminde kórsetiw cout << " vektor elementleri: "; for (ptr = ar. begin (); ptr < ar. end (); ptr++) cout << *ptr << " "; return 0; } Tómendegi ko'd jıynaqtan paydalanıwshılar dizimi dúziwdi kórsetedi hám ularni iterator járdeminde shaqırıwdı kórsetedi: Tómendegi ko'd jıynaqtan paydalanıwshılar dizimi dúziwdi kórsetedi hám ularni iterator járdeminde shaqırıwdı kórsetedi: #include #include #include #include int main () { std::vector users = {" Oli", " vali", " Hasan", " Husan" }; std::vector::iterator ıyt; for (ıyt = users. begin (); ıyt! = users. end (); it++) { std::cout << *it << std::endl; } return 0; } Bul kod, " std" atlar keńisliksinde jıynaq yoratadi hám ulariga shet elon etedi, odan paydalanıp " users" dagan dizimdi yoratadi. Bunda " std::vector::iterator" — " users" kompleksin tekshirish hám elementlerine tupshirish ushın iterator yoratiladi. Keyin, iterator for ciklı járdeminde aylanadı, hár bir elementi qaytaradı hám * elementiniń simvol shamalıqlıǵı arqalı jazıladı. Bul kod, " std" atlar keńisliksinde jıynaq yoratadi hám ulariga shet elon etedi, odan paydalanıp " users" dagan dizimdi yoratadi. Bunda " std::vector::iterator" — " users" kompleksin tekshirish hám elementlerine tupshirish ushın iterator yoratiladi. Keyin, iterator for ciklı járdeminde aylanadı, hár bir elementi qaytaradı hám * elementiniń simvol shamalıqlıǵı arqalı jazıladı. Kompilyator hám interpretator haqqında Programmalardan paydalanıp, qandayda bir jumıs orınlaw hám sol arqalı nátiyje alıw, onsha qıyın process emes. Bir márte kórip alǵan insan, keyingi sapar ózi atqara aladı. Kópshilik atlastiradigan zat, bul paydalanıwshı programmist deyilmaydi, tek ǵana programma paydalanıwshısı boladı tek. Programmist, paydalanıwshılar paydalanıwı ushın programma jaratadı jáne bul process júdá quramalı esaplanadı. Programmistlik menen shuǵıllanıwdı endi baslaǵan jaslar kóp qıyınshılıqlarǵa dus keliwedi. Bul qıyınshılıqlar tiykarlanıp terminlerdiń tushunmasligidan kelip shıǵadı. Bul maqalamda programmalastırıwdıń eń kerekli termini esaplanǵan interpretator hám kompilyator haqqında jazıp ótemen. Programmalastırıw processinde programmist óz programmasın jaratıw ushın hár qıylı túrdegi kodlar jazadı. Kodlarnining qanday bolıwı qaysı programmalastırıw tilinen paydalanıp, programma dúziwge baylanıslı boladı. Programmalastırıw tillerinen C, C++, Java, …. Jazılǵan kodlardı kompyuter tushunmaydi, kompyuter túsiniwi ushın ushın bul kodlardı kompyuter túsinetuǵın tilge ózgertiw kerek. Mine sol jaǵdayda joqarıdaǵı 2 termin kerek boladı (kompilyator yamasa interpretator). Kompyuter tek ǵana cifrlı kodlardı túsinedi, yaǵnıy 0 yamasa 1. Bul 2 san arqalı programma dúziw júdá qıyın esaplanadı (manimcha bunday sanlar arqalı programma dúziwshiler sanaqlı bolsa kerek). Sol sebepli, insanlar túsinetuǵın etip programmalastırıw tilleri jaratılǵan. Izbe-izlikti tushungandursiz, programmist programmalastırıw tilleri arqalı kodlar jazadı jáne bul kodlar kompyuter túsinetuǵın 0 hám 1 sanlarına almastırıladı hám programma kompyuterde isleydi, bul processni kompilyator yamasa interpretator ámelge asırıp beredi. Kompilyator — quramalı programma bolıp tabıladı, programmalastırıw tilinde jazılǵan barlıq kodlardı bır jola ob'yektli kodqa ózgertirip beredi. Ob'yektli kodtı taǵı ekilik kod yamasa mashina kodı dep da ataydılar. Keyinirek bul ob'yektli kod kompyuterde tuwrıdan-tuwrı isletiliwi múmkin boladı. Programmalastırıw tillerinde jazılǵan kodlar bul ob'yektli kodqa tásir etpeydi. Ob'yektli kodtı ózgertiw ushın bolsa, qaytaldan kompilyatsiya etilip ob'yektli kod ózgertiriledi. Nátiyje atqarılatuǵın,.exe kórinisindegi fayl boladı. Bul fayldı bloknotda ashıp ózgertirip bolmaydı, yaǵnıy bul fayl tayın programma esaplanadı. Kompilyatorning kemshiligi retinde, programmalastırıw tilindegi málim bir qatarlani bólek tekseriw múmkinshiligi joq ekenligi bolıp tabıladı, onıń ushın ob'yektli kod jaratıp, onı jumısqa túsiriw kerek boladı, artıqsha jumıs bolıp qaladı. Odan tısqarı birpara kompilyatorlar bir programmalastırıw tilinen, ekinshisine de ózgertirip beriwi múmkin. Kompilyator isletetuǵın programmalastırıw tillerine C, C++, Delphi larni mısal etip keltiriw múmkin. Interpretator — da programma da úskene kórinisinde bolıwı múmkin. Bul da kompyuter tiline ózgertirip beriw wazıypasın atqaradı, tek ǵana islew texnologiyası basqashalaw bolıp tabıladı. Interpretator, programmalastırıw tilinde jazılǵan kodlardı ketma — ket oqıp, mashina tiline ózgertirip baradı. Qátelik payda bolsa, sol zamati programmistke xabar beredi. Bul ketma — ketlikte ózgertiw, kompilyatorga salıstırǵanda astelew ámelge asıriladı (birpara holllarda kompilyatorga qaraǵanda 50 ese aste). Programma nátiyjesin kóriw ushın, hár sapar kodlardı interpretatordan ótkeriw kerek boladı (kompilyatorga uqsap bir márte ob'yekt kod jaratıp qoyıp, keyin mudamı isletiwdiń ılajı joq ). Bunnan kórinip turıptı, olda, interpretator tiykarlanıp saytlar, ulıwma halda veb programmalastırıwda isletiledi. Qandayda bir sayttıń júkleniwi jarayni uzınlıǵı, interpretatorda ózgertiw ámelge asırılıwı menen túsintiriliwi múmkin. Interpretator isletetuǵın programmalastırıw tillerine PHP, JavaScript, JScript, Basic, … mısal bóle aladı. Bul eki termin ulıwma halda translyator dep ataladı, yaǵnıy ózgertirgichlar bolıp tabıladı. Qandayda bir proyektlar etkende bul 2 ózgertirgichlar birgelikte de isletiliwi múmkin. Qandayda bir programmalastırıw tili menen saldamlı shuǵıllanmoqchi bolsańız, daslep siz jazatuǵın kodlar qaysı tárzde kompyuter tiline ózgertiliwin úyrenip alın. Bul programmalastırıwdıń hasası esaplanadı. Download 22.68 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling