1. C++ tili 1980-jıllar basında Bjarne Stroustrup tárepinen c ge tiykarlanǵan halda dúzildi


Download 53.62 Kb.
bet1/2
Sana18.06.2023
Hajmi53.62 Kb.
#1595311
  1   2
Bog'liq
алгоритм


1 .C++ tili 1980-jıllar basında Bjarne Stroustrup tárepinen C ge tiykarlanǵan halda dúzildi. C++ júdá kóp qosımshalardı óz ishine alǵan, biraq olardan eń tiykarǵısı ol ob’ektler menen programmalastırıwǵa múmkinshilik beredi. Programmalardı tez hám sapalı jazıw házirgi kúnde úlken áhmiyetke iye bolıp qalmaqta. Bunı támiyinlew ushın ob’ektli programmalastırıw ideyası ilgeri súrildi. 1970-jıllar basında strukturalı programmalastırıw sıyaqlı, programmalardı turmısdaǵı denelerdi modellestiriwshi ob’ektlar arqalı dúziw programmalastırıw tarawında jetiskenliklerden biri boldı. C++ den tısqarı basqa kóp ob’ektli programmalastırıwǵa baǵıtlanǵan tiller payda boldı. Usılardan eń kózge taslanatuǵını Xerox dıń Palo Altoda jaylasqan ilimiy-izertlew orayında (PARC) dúzilgen Smalltalk programmalastırıw tili esaplanadı. Smalltalk ob’ektlerge tiykarlanǵan til, al C++ bolsa gibridlik til bolıp tabıladı. C++ tilinde C ǵa uqsas strukturalı programmalastırıw yamasa jańasha, ob’ektler menen programmalastırıw múmkin. C++ funkciya hám ob’ektlerdiń júdá bay bibliotekasına iye, yaǵnıy C++ de programmalastırıwdı úyreniw eki bólekke bóliw múmkin. Birinshisi bul C++ di ózin úyreniw bolsa, al ekinshisi bolsa C++ diń standart bibliotekasındaǵı tayın ob’ekt/funkciyalardı qollawdı úyreniw bolıp esaplanadı.
2.Programma denesinde konsol rejiminde belgiler izbe-izligin aǵımǵa shıǵarıw ámeli qollanılǵan. Maǵlıwmatlardı standart aǵımǵa (ekranǵa) shıǵarıw ushın tómendegi format isletilgen: cout<< ; 14 bul jerde, sıpatında ózgeriwshi yamasa sintaksisi tuwrı jazılǵan qanday da mánis qabıl etiwshi til ańlatpası bolıwı múmkin (keyinirek, múyesh qawsırma ishine alınǵan qaraqalpaq tilindegi qatardı til quramına kirmeytuǵın túsinik dep qabıllawmız). Mısalı: int a = 211; cout<> ; bul jerde, mánis qabıl etiwshi ózgeriwshiniń atı. Mısalı: int x; cout <>x; Pútin túrdegi x ózgeriwshisi kiritilgen mánisti ózlestiredi. Kiritilgen mánisti ózgeriwshi túrine sáykes keliwin tekseriw juwapkershiligi programma dúziwshiniń wazıypası bolıp esaplanadı. Bir waqıttıń ózinde probel (“˽”) járdeminde bir neshe hám hár qıylı mánislerdi aǵımnan kirgiziw múmkin. Mánis kirgiziw túymesin basıw menen tawsıladı. Eger kiritilgen mánisler sanı ózgeriwshiler sanınan kóp bolsa, «artıqsha» mánisler bufer yadta saqlanıp qaladı. #include using namespace std; int main(){ int x, y; float z; cin>>x>>y>>z; cout <<"Kiritilgen ma'nisler \n"; cout<<"x = "<strukturalar-qatarlar, belgiler massivleri hám basqalardı payda etiwde isletiledi. Haqıyqıy sanlar float giltlik sózi menen daǵaza etiledi. Bul túrdegi ózgeriwshi ushın yadta 4 bayt orın ajıratıladı hám kórinisinde sandı saqlaydı. Eger bólshek san úlken(kishi) mánislerdi qabıl etetuǵın bolsa, ol yadtı 8 yamasa 10 baytda ekilengen anıqlıq kórinisinde saqlanadı hám sáykes túrde double hám long double giltlik sózleri menen daǵaza etiledi. Bul túrdegi ózgeriwshi bool giltlik sózi menen daǵaza etiledi. Ol túrdegi ózgeriwshi 1 bayt orın iyeleydi hám 0 (false, jalǵan) mánisinen basqasha (true, ras) mánisin qabıl etedi. Logikalıq túr ózgeriwshiler mánisler ortasındaǵı qatnaslardı ańlatatuǵın aytımlar ras (true) yamasa jalǵan (false) ekenligin súwretlewinde qollanıladı hám mánis qabıl etetuǵın bolsa mánisler matematikalıq logika nızamlıqlarına tiykarlanadı.
4. C++ tilinde logikalıq túr atı angliyalıq matematik Djorj Bul húrmetine bool sózi menen kórsetilgen. void túrindegi programma ob’ekti hesh qanday mánisge iye bolmaydı hám bul túrden til sintaksisına sáykes keliwin támiyinlew ushın isletiledi. Mısalı, C++ tili sintaksisi funkciya mánis qaytarıwın talap etedi. Eger funkciya mánis qaytarmaytuǵın bolsa, ol void giltlik sózi menen daǵaza etiledi.
Mısallar. int a=0, A=1; float d=17.5; double Abc; bool ok=true; char ch='z'; void menin_funksiyam(); /*funksiya qaytaratug’in ma’nis inabatqa ali'nbaydi' */
5. Operator túsinigi. Programmalastırıw tili operatorları sheshilip atırǵan másele algoritmin ámelge asırıw ushın isletiledi. Operatorlar sızıqlı hám basqarıw operatorlarına bólinedi. Kópshilik jaǵdaylarda operatorlar noqatlı útir(';') belgisi menen tamamlanadı hám ol kompilyator tárepinen óz aldına operator dep qabıl etiledi (for operatorınıń qawsırma ishinde turǵan ańlatpalarınan basqa). Bunday operator ańlatpa operatorı dep ataladı. Programma dúziw praktikasında bos operatorda ';' isletiledi. Biraq, bul operator hesh nárse atqarmasa da, esaplaw ańlatpaların til qurallarına sáykes keliwin támiyinleydi. Ayırım jaǵdaylarda júzege kelgen quramalı jaǵdaylardan shıǵıp ketiw múmkinshiligin beredi. Ózgeriwshilerdi daǵazalaw da operator esaplanadı hám olarǵa daǵaza operatorı dep ataladı. Joqarıda mısal menen de keltirilgen programmalarda ámeller jazılıw rejiminde izbeiz hám tek bir ret orınlanatuǵın jaǵdaylar, yaǵnıy sızıqlı algoritmler keltirilgen edi. Ámelde bolsa kemnen-kem máseleler sheshiliwi múmkin. Kópshilik máseleler júzege keletuǵın hár qıylı jaǵdaylarǵa baylanıslı túrde sáykes qarar qabıllawdı(sheshimdi) talap etedi. C++ tili programmanıń óz aldına bloklardıń orınlanıw rejimin basqarıwǵa múmkinshilik jaratıwshı qurallardıń jetkilikli úlken kompleksine iye. Mısalı, programma orınlanıwınıń qandayda-bir adımında qanday da shártti tekseriw nátiyjesine kóre basqarıwdı programmanıń ol yamasa bul bólegine uzatıw múmkin(tarmaqlanıwshı algoritm). Tarmaqlanıwdı ámelge asırıw ushın shárt operatorınan paydalanıladı. if operatorı. if operatorı qanday da shártti raslıqqa tekseriwi nátiyjesine kóre programmada tarmaqlanıwdı ámelge asıradı. Shárt operatorı tolıq yamasa tolıq emes bolıwı múmkin. Shárt operatoriniń jáne bir kórinisi switch tarmaqlanıw operatorı járdeminde ámelge asırıladı. switch operatorında daǵaza etiwde úshrasıwı múmkin. Lekin switch operatorı orınlanıwında «sekirip ótiw» jaǵdayları bolıwı esabına blok ishindegi ayırım daǵazalardıń orınlanbawı hám bunıń nátiyjesinde programma jumısında qátelik júz beriwi múmkin
6. Programma orınlanıwın basqarıwdıń basqa bir kúshli mexanizmlarinen biritákirarlaw operatorları esaplanadı. Tákirarlaw operatorı «tákirarlaw shárti» dep atalıwshı ańlatpanıń ras mánisinde programmanıń málim bir bólegidegin operatorlardı(tákirarlaw denesi) kóp ret tákirarlaydı (iterativ process). Tákirarlaw óziniń kiriw hám shıǵıwǵa noqatlarına iye, biraq shıǵıw noqatı bolmawı da múmkin. Bul jaǵdaydaǵı tákirarlawǵa sheksiz tákirarlaw dep ataladı. Sheksiz tákirarlaw ushın tákirarlawdı dawam ettiriw shárti bárqulla ras boladı. Tákirarlaw shártin tekseriw tákirarlaw denesindegi operatorlardı orınlawdan aldın tekseriliwi múmkin (for, while tákirarlawları) yamasa tákirarlaw denesindegi operatorları bir ret orınlanǵannan keyin tekseriliwi múmkin (dowhile). Tákirarlaw operatorları ishpe-ish jaylasqan bolıwı da múmkin. for tákirarlaw operatorı. for tákirarlaw operatorınıń sintaksisi tómendegi kóriniske iye: for (; ; ) ; Bunda operator óz jumısın ańlatpasın orınlawdan baslaydı. Keyin tákirarlaw adımları baslanadı. Hár bir adımda orınlanadı, eger nátiyje 0 mánisinen ayrıqsha yamasa true bolsa, tákirarlaw denesi – keyin orınlanıwı dawam etedi. Eger mánisi 0 (false) bolsa, tákirarlaw processi toqtaydı hám basqarıw tákirarlaw operatorınan keyingi operatorǵa ótedi. Bul jerde ańlatpası útir menen ajıratılǵan bir neshe ańlatpalar birlespesinen ibarat bolıwı múmkin, bunday jaǵdayda sońǵı ańlatpa mánisi tákirarlaw shárti esaplanadı. Tákirarlaw denesi sıpatında bir operator, atap aytqanda, bos operator bolıwı yamasa operatorlar bloki keliwi múmkin Inkrement hám dekrement operatorları. C++ tili operand mánisin birge asırıw hám kemeytiwdiń nátiyjeli qurallarına iye. Bular inkrement (++) hám dekrement(--) unar ámelleri esaplanadı. Inkrement operatorı operandqa 1 mánisin qosıw, al dekrement operatorı bolsa operanddan 1 mánisin alıwdı ámelge asıradı: Ózgeriwshi mánisin 1 ge asırıw x = x + 1; 28 instrukciyası tómendegi kóriniste jazıw múmkin x++; Ózgeriwshi mánisin 1 ge kemeytiw x = x - 1; instrukciyası tómendegi kóriniste jazıw múmkin x--; Inkrement hám dekrement operatorları operandtan aldın (prefiks forma) hám keyin(postfiks forma) keliwi múmkin. Máselen, x = x + 1; instrukciyasın prefiks formasında jazıw múmkin ++x; yamasa postfiks formasında x++;
7. while tákirarlaw operatorı. while takrarlaw operatorınıń denesi tákirarlawı shárti jalǵan (false yamasa 0) bolaman degenge shekem tákirarlaw orınlanadı. while tómendegishe sintaksisga iye: while() ; Eger ras mánisli turaqlı ańlatpa bolsa, tákirarlaw sheksiz boladı. Tap sonday, tákirarlaw baslanıwında ras bolıp, onıń mánisine tákirarlaw denesindegi esaplaw tásir etpese, yaǵnıy onıń mánisi turaqlı bolsa, tákirarlaw sheksiz boladı. while tákirarlaw shártin aldınnan tekseriwshi tákirarlaw operatorı esaplanadı. Eger tákirarlaw basında jalǵan bolsa, while operatorı quramındaǵı bólegi orınlanbastan shetlep ótiledi. do-while tákirarlaw operatorı. do-while tákirarlaw operatorı while operatorınan ayrıqsha túrde aldın operator yamasa blogi orınlanadı, keyin tákirarlaw shártin tekseriw ámelge asırıladı. Bul operator tákirarlaw denesin keminde bir ret orınlanıwın támiyinleydi. do-while tákirarlaw operatorı tómendegisintaksisga iye: do ; while() ; Bunday tákirarlaw operatorı tákirarlaw blogi orınlanmastan turıp, tákirarlaw shártin tekseriwdiń ilajı bolmaǵan jaǵdaylarda keń qollanıladı. break operatorı. Tákirarlaw operatorlarınıń orınlanıwında sonday jaǵdaylar júzege keliwi múmkin, onda qanday da bir adımda, tákirarlaw juwmaǵına jetpesten tákirarlawdan shıǵıwǵa tuwra keledi. Basqasha aytqanda tákirarlawdı 60 «úziw» kerek bolıwı múmkin. Bunda break operatorınan paydalanıladı. break operatorın tákirarlaw operatorı denesiniń qálegen(zárúr) jaylarına qoyıw arqalı jaǵdayda tákirarlawdan shıǵıwdı ámelge asırıw múmkin. Itibar beretuǵın bolsaq switch-case operatorında da break operatorın qollaw arqalı erisilgen. Ishpe-ish jaylasqan tákirarlaw hám switch operatorlarında break operatorı tek ózi jaylasqan bloktan shıǵıwdı imkanyatın beredi. continue operatorı. continue operatorı da break operatorı sıyaqlı tákirarlaw operatorı denesiniń orınlawın toqtatadı, biraq tákirarlawdan shıǵıp ketpesden keyingi adımına «sekirip» ótiwin támiyinleydi.
8. Massiv – bul birdey atqa iye hám birdey túrdegi yad yacheykaları toparı izbeizligi bolıp esaplanadı. C++ tilinde massivler bir yamasa kóp ólshemli boladı. Ámeliyatta kóbinese bir ólshemli massivler paydalanıladı. C++ tilinde bir ólshemli massivti daǵaza etiw sintaksisi: []; Bul jerde massivtiń bazalıq túrin daǵazalaydı. Bazalıq túr massivtiń quramındaǵı hár bir elementtiń túrin anıqlaydi. Ólshem () massivte saqlanatuǵın elementlerdiń sanın anıqlaydı. Programmada isletiletuǵın hár bir konkret massiv óziniń individual atına iye bolıwı kerek. Bul attı tolıq ózgeriwshi dep ataydı, sebebi onıń mánisi tolıq bir massivtiń ózi boladı. Massivtiń hár bir elementi massiv atı, hám de kvadrat qawsırmaǵa alınǵan hám element selektorı dep atalıwshı indeksti kórsetiw arqalı agıq túrde belgilenedi. Massiv elementi menen islew sintaksisi: []; Bul kóriniske jeke ózgeriwshi dep ataladı, sebebi onıń mánisi massivtiń óz aldına elementi esaplanadı. Ulıwma alǵanda, indeks sıpatında ańlatpa isletiliwi múmkin. Ańlatpa mánisi massiv elementi nomerin anıqlaydı. Ańlatpa sıpatında ózgeriwshi de alınıwı múmkin, ózgeriwshiniń mánisi ózgeriwi menen múrájat etip atırǵan massiv elementiniń anıqlawshı indeks de ózgeredi. Solay etip, programmadaǵı bir indeksli ózgeriwshi arqalı massivtiń barlıq elementlerin belgilew (anıqlaw) múmkin. Haqıyqıy túrdegi (float, double) mánislerdi indeks sıpatında isletilmeydi. C++ tilinde indeks bárqulla 0 den baslanadı, onıń eń úlken mánisi massiv daǵazasındaǵı uzınlıqtan birge kem boladı. Bir ólshemli massiv daǵazası jáne bir kórinisi tómendegishe boladı: []={ baslanǵısh mánisler}; Bul jerde – turaqlı ańlatpa. Statikalıq massivlerdiń kemshilikleri bul olardıń ólshemi aldınnan málim bolıwı kerek hám bul ólshem berilgenlerge ajıratılǵan yad segmentiniń ólshemi menen shegaralanǵan boladı. Ekinshi tárepten, jetkilikli úlken ólshemdegi massivti daǵazalaw menen birge konkret másele sheshiliwinde ajıratılǵan yad tolıq isletilmewide múmkin. Bul kemshilikler dinamikalıq massivlerden paydalanıw arqalı saplastırıladı, sebebi olar programma islewi processinde zárúr bolǵanda kerek ólshemdegi massivlerdi jaratıw hám zárúr bolmaǵanda oshiriw múmkinshiligin beredi. Yadtı dinamikalıq ajıratıw sisteması – bul programmanıń orınlanıw waqtında yadtıń qandayda bir oblastın alıw quralı bolıp esaplanadı.



Download 53.62 Kb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling