Ծրագրի կոդ. Ինչպես գրել համակարգչային ծրագրեր Ինչ է կոդը ծրագրավորման լեզվում

Նպատակը

Աղբյուրի կոդը կամ օգտագործվում է օբյեկտի կոդ արտադրելու համար, կամ կատարվում է թարգմանչի կողմից: Փոփոխություններ երբեք չեն կատարվում օբյեկտի կոդի մեջ, միայն սկզբնական կոդի մեջ, և այնուհետև նորից վերածվում օբյեկտի կոդի:

Աղբյուրի մեկ այլ կարևոր նպատակը ծրագրի նկարագրությունն է: Ծրագրի տեքստի հիման վրա դուք կարող եք վերակառուցել դրա վարքագծի տրամաբանությունը: Մեկնաբանություններն օգտագործվում են աղբյուրի կոդը ավելի հեշտ հասկանալի դարձնելու համար: Կան նաև գործիքներ, որոնք թույլ են տալիս ավտոմատ կերպով ստանալ սկզբնական կոդերի փաստաթղթերը՝ այսպես կոչված: փաստաթղթերի գեներատորներ.

Բացի այդ, սկզբնական կոդը շատ այլ կիրառություններ ունի: Այն կարող է օգտագործվել որպես ուսուցման գործիք; Սկսնակ ծրագրավորողները կարող են օգտակար համարել ուսումնասիրել առկա կոդը՝ ծրագրավորման տեխնիկան և մեթոդաբանությունը սովորելու համար: Այն նաև օգտագործվում է որպես փորձառու ծրագրավորողների միջև հաղորդակցման գործիք՝ շնորհիվ իր (իդեալական) հակիրճ և միանշանակ բնույթի։ Կոդերի փոխանակումը մշակողների միջև հաճախ նշվում է որպես ծրագրավորողների փորձի բարելավմանը նպաստող գործոն:

Ծրագրավորողները հաճախ տեղափոխում են աղբյուրի կոդը մի նախագծից մյուսը, որը կոչվում է կոդի կրկնակի օգտագործում ( Ծրագրային ապահովման կրկնակի օգտագործման հնարավորություն).

Աղբյուրի կոդը կարևոր բաղադրիչ է ծրագրային ապահովման այլ հարթակներ տեղափոխելու գործընթացի համար: Առանց որևէ ծրագրաշարի սկզբնաղբյուրի, տեղափոխումը կա՛մ չափազանց դժվար է, կա՛մ ամբողջովին անհնար է:

Կազմակերպություն

Ծրագրաշարի որոշ մասի (մոդուլ, բաղադրիչ) սկզբնական կոդը կարող է բաղկացած լինել մեկ կամ մի քանի ֆայլից: Ծրագրի կոդը պարտադիր չէ, որ գրված լինի միայն մեկ ծրագրավորման լեզվով: Օրինակ, հաճախ C լեզվով գրված ծրագրերը, օպտիմալացման նպատակով, պարունակում են կոդի ներդիրներ անսամբլի լեզվով։ Հնարավոր է նաև, որ ծրագրի որոշ բաղադրիչներ կամ մասեր գրվեն տարբեր լեզուներով, և այնուհետև հավաքվեն մեկ գործարկվող մոդուլի մեջ՝ օգտագործելով գրադարանի կապակցում հայտնի տեխնոլոգիա ( գրադարանի միացում).

Բարդ ծրագրային ապահովումը պահանջում է տասնյակ կամ նույնիսկ հարյուրավոր կոդով ֆայլեր ստեղծելու համար: Նման դեպքերում կառուցումը պարզեցնելու համար սովորաբար օգտագործվում են նախագծի ֆայլեր, որոնք պարունակում են սկզբնական կոդի ֆայլերի միջև կախվածության նկարագրությունը և նկարագրում են կառուցման գործընթացը։ Այս ֆայլերը կարող են պարունակել նաև կոմպիլյատորի և դիզայնի միջավայրի այլ պարամետրեր: Դիզայնի տարբեր միջավայրերի համար կարող են օգտագործվել տարբեր նախագծերի ֆայլեր, և որոշ միջավայրերում այդ ֆայլերը կարող են լինել տեքստային ձևաչափով, որը հարմար է ծրագրավորողի կողմից ունիվերսալ տեքստային խմբագիրների միջոցով ուղղակի խմբագրման համար; այլ միջավայրերում աջակցվում են հատուկ ձևաչափեր, և ստեղծումն ու փոփոխումը: ֆայլերը կատարվում են հատուկ գործիքների ծրագրերի միջոցով: Ծրագրի ֆայլերը սովորաբար ներառված են «աղբյուրային կոդ» տերմինում: Ժամանակակից լեզվական միջավայրերի ճնշող մեծամասնությունը պահանջում է նախագծի ֆայլերի օգտագործում՝ անկախ նախագծում ներառված այլ ելակետային կոդի բարդությունից: Հաճախ սկզբնական կոդը վերաբերում է նաև ռեսուրսային ֆայլերին, որոնք պարունակում են տարբեր տվյալներ, օրինակ՝ գրաֆիկական պատկերներ, որոնք անհրաժեշտ են ծրագիր կառուցելու համար։

Աղբյուրի կոդի հետ աշխատանքը հեշտացնելու համար ծրագրավորողների թիմի կողմից կոդի վրա համագործակցելու համար օգտագործվում են տարբերակների կառավարման համակարգեր:

Որակ

Ի տարբերություն մարդկանց՝ համակարգչի համար չկա «լավ գրված» կամ «վատ գրված» ծածկագիր։ Բայց ինչպես է գրվում կոդը, կարող է մեծապես ազդել ծրագրային ապահովման պահպանման գործընթացի վրա: Աղբյուրի կոդի որակը կարելի է դատել հետևյալ պարամետրերով.

  • կոդի ընթեռնելիություն (ներառյալ կոդերի մեկնաբանությունների առկայությունը կամ բացակայությունը.
  • աջակցության, փորձարկման, վրիպազերծման և անսարքությունների վերացման, փոփոխման և տեղափոխման հեշտություն;
  • ցածր բարդություն;
  • ռեսուրսների ցածր օգտագործում - հիշողություն, պրոցեսոր, սկավառակի տարածություն;
  • կոմպիլյատորի կողմից մեկնաբանությունների բացակայություն;
  • «աղբի» բացակայություն՝ չօգտագործված փոփոխականներ, անհասանելի կոդերի բլոկներ, անհարկի հնացած մեկնաբանություններ և այլն։

Չգործարկվող կոդ

տես նաեւ

  • Օրինակ՝ Hello World ծրագիր

Հղումներ

Վիքիմեդիա հիմնադրամ. 2010 թ.

Տեսեք, թե ինչ է «Ծրագրի կոդը» այլ բառարաններում.

    ծրագրային փաթեթ- 3.19 Ծրագրային փաթեթ. Արխիվային ֆայլ, որը պարունակում է ծրագրի կոդը երկուական կամ սկզբնական ձևով, ինչպես նաև ծրագրի, դրա տարբերակի, կախվածությունների և այլ տեղեկությունների վերաբերյալ մետատվյալներ: Աղբյուր՝ ԳՕՍՏ Ռ 54593 2011. Տեղեկատվական տեխնոլոգիաներ. Անվճար... ...

    - (Անգլերեն. Netscape Plugin Application Programming Interface, NPAPI-ը միջպլատֆորմային պլագինների մշակման ճարտարապետություն է, որն աջակցվում է բազմաթիվ բրաուզերների կողմից: Ինտերֆեյսը մշակվել է Netscape Navigator բրաուզերների ընտանիքի համար՝ սկսած Netscape-ից... ... Վիքիպեդիա:

    Համակարգչային գիտության մեջ ծրագրային գործակալը ծրագիր է, որը միջնորդական հարաբերությունների մեջ է մտնում օգտագործողի կամ այլ ծրագրի հետ: «Գործակալ» բառը գալիս է լատիներեն «agere» (անել) և նշանակում է համաձայնություն՝ գործողություններ կատարելու համար ... ... Վիքիպեդիայից:

    Framework-ը անորոշ իմաստով տերմին է: Ծրագրավորման մեջ սովորաբար օգտագործվում է «պարզ կոնցեպտուալ կառուցվածք, որն օգտագործվում է բարդ, խնդիր լուծող խնդիր լուծելու համար»: Այս տերմինի իմաստը զգալիորեն կախված է դրա համատեքստից... ... Վիքիպեդիա

    Այս հոդվածը ընդհանուր առմամբ հրամանատարական համակարգի մասին է. Հրահանգների համար տես՝ Գործարքի կոդը: Մեքենայի կոդ (պլատֆորմի վրա հիմնված կոդ), մեքենայական լեզու, կոնկրետ համակարգչի հրամանների համակարգ (գործառնական կոդերի հավաքածու), որը մեկնաբանվում է ... ... Վիքիպեդիա

    Պաշտոնական տերմինաբանություն

    Վիրուս (համակարգիչ, ծրագրային ապահովում)- գործարկվող ծրագրի կոդը կամ հրահանգների մեկնաբանված հավաքածու, որն ունի չարտոնված բաշխման և ինքնավերարտադրման հատկություններ: Համակարգչային վիրուսի ստեղծված կրկնօրինակները ոչ միշտ են համընկնում բնօրինակի հետ, այլ պահպանում են... ... Նորմատիվային և տեխնիկական փաստաթղթերի տերմինների բառարան-տեղեկատու

    - (Անգլերեն կառավարվող կոդը) տերմին է, որը ներդրվել է Microsoft-ի կողմից՝ վիրտուալ մեքենայի «հսկողության» ներքո իրականացվող ծրագրի կոդը նշանակելու համար: NET Common Language Runtime: Այս դեպքում սովորական մեքենայի կոդը կոչվում է չկառավարվող կոդ... ... Վիքիպեդիա

    Patch-ը կամ պատչը (անգլ. patch /pætʃ/ patch) ավտոմատացված, առանձին մատակարարված ծրագրային գործիք է, որն օգտագործվում է ծրագրային ապահովման հետ կապված խնդիրները շտկելու կամ դրա ֆունկցիոնալությունը փոխելու, ինչպես նաև ինքնին պատչը տեղադրելու գործընթացը (... ... Վիքիպեդիա):

    Pyramid Type Web հավելվածի շրջանակ Մշակող ... Վիքիպեդիա

Գրքեր

  • Օբյեկտ-կողմնորոշված ​​դիզայն. հասկացություններ և ծրագրի կոդը, Գաստ Հոլգեր: Այս գիրքը կոչված է օգնելու ընթերցողին խորը պատկերացում կազմել օբյեկտների հայեցակարգի մասին՝ բացելով դրանց իրական ներուժը՝ իրական աշխարհում արդյունավետ գործող կոդ գրելու համար: Այն համարում է...

Ոմանք զվարճանալու համար, ոմանք գոյությունն ապացուցելու կամ վարկածը հերքելու համար, ոմանք՝ իրենց ուղեղը մարզելու (ճանապարհորդել Քլայնի շշի մակերեսով կամ քառաչափ տարածությունում), բայց հարյուրավոր մարդիկ ստեղծել են «էզոթերիկ» ծրագրավորման լեզուներ։ Ես անցել եմ այս լեզուներից մոտ 150-ը և այլևս երբեք նույնը չեմ լինի:

«Արղ», «Օֆ», «2-հիվանդ», «Նհոհնհեհր», «Նոյտ ո» մնաին գելբ», «ԴՁԶԶ», «Յփսիլաքս», «ՅԱԲԱԼ», «ֆաքֆֆ», սրանք հմայություններ են, պոեզիան միայն անուններ են: ... under catom - կոդերի օրինակներ ծրագրավորման առավել աչքի ընկնող լեզուներով:

Նապաստակի փոսը խորն է:

INTERCAL (Թյուրինգ-ամբողջական)



Դոն Վուդս և Ջիմ Լիոն

Էզոթերիկ ծրագրավորման ամենահին լեզուներից մեկը։ Ըստ ստեղծողների՝ դրա անունը նշանակում է «Կազմողի լեզու առանց արտասանելի հապավումների»։ Լեզուն ստեղծվել է 1972 թվականին ուսանողներ Դոն Վուդսի և Ջեյմս Մ. Լիոնի կողմից՝ որպես գոյություն ունեցող ծրագրավորման լեզուների և մտավոր մարմնամարզության պարոդիա:

Բարեւ աշխարհ

Ծրագրի յուրաքանչյուր հրաման կարող է տրվել հավանականություն, որով այն կկատարվի, երբ ծրագիրը սկսվի: Բացի այդ, կան հրամաններ, որոնք արգելափակում են որոշակի տեսակի հետագա հրամանների կատարումը կամ փոփոխականների փոփոխությունները:

Բարեւ աշխարհ!

// «Բարև աշխարհ» Սթիվեն Մակգրեյլի կողմից:
// Նկատի ունեցեք, որ այս սկզբնաղբյուրում արտահայտված տեսակետները պարտադիր չէ, որ համընկնեն ի տեսակետների հետ

Gr34t l33tN3$$?
M3h…
iT 41n"t s0 7rIckY.

L33t sP33k է U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh.
1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt 0n-ում a b4d4sS h4xX0r1ng s1tE!!! ;p
w4r3Z c0ll3cT10n2 r 7eh l3Et3r!

Qu4k3 cL4nS r 7eh bE5t tH1ng 1n teh 3nTIr3 w0rlD!!!
g4m3s wh3r3 u g3t մինչև 5h00t ppl r 70tAl1_y w1cK1d!!!
I"M teh fr4GM4stEr aN I"lL t0t41_1Ly wipE teh phr34k1ng fL00r ***j3d1 5tYlE*** y0uR h1dE-ով!!! L0L0L0L!
t3lEphR4gG1nG l4m3rs wit my m8tes r34lLy k1kK$ A$$

L33t hAxX0r$ CrE4t3 u8er- k3wL 5tUff lIkE n34t pR0gR4mm1nG lAnguidGe$…
s0m3tIm3$ teh l4nGu4gES l00k jUst l1k3 rE41_ 0neS 7o mAkE ppl Th1nk th3y"r3 ju$t n0rMal lEE7 5pEEk բայց th3y"re 5ecRetLy c0
n080DY unDer5tAnD$ l33t SpEaK 4p4rT fr0m j3d1!!!
50mE kId 0n A me$$4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf, 0r mAyb3 ju5t sh0w 7eh wAy5 l3nl3tI ppl0!!! hE i5 teh u8ER!!!
1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE:
1t 3v3n MiTe jUs7 s4y «H3LL0 W0RLD!!!» u ju5t չի կարող"T gu3s5.
tH3r3"s n3v3r anY p0iNt l00KiNg sC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t, 1s ինչ th1s 1s!!!

5uxX0r5!!!L0L0L0L0L!!!

Առնոլդ Ք

Terminator ծրագրավորման լեզու.

Բարեւ աշխարհ!

Շատ մի անհանգստացեք, թե որ լեզուն պետք է ընտրեք սովորելու համար:Շատ սկսնակ ծրագրավորողներ դժվարանում են լեզու ընտրել, երբ առաջին անգամ սկսում են սովորել ծրագրային ծածկագրեր գրել: Ձեր ընտրած իրական լեզուն նշանակություն չունի, երբ խոսքը վերաբերում է տեղեկատվության կառուցման կառուցվածքներն ու տրամաբանությունը սովորելուն: Այս հմտությունները շատ ավելի կարևոր են և կարելի է սովորել ցանկացած ծրագրավորման լեզվով:

  • Լեզու ընտրելիս կենտրոնացեք այն նպատակի վրա, որի համար ցանկանում եք ստեղծել ծրագրի կոդերը, և միայն դրանից հետո ընտրեք մեկնարկային լեզուն: Օրինակ, եթե ցանկանում եք զարգացնել կայքեր, ապա պետք է սկսեք սովորել HTML և այն լրացնել CSS-ով, JavaScript-ով և PHP-ով: Եթե ​​ցանկանում եք ստեղծել ծրագրեր համակարգիչների համար, ապա սկսեք սովորել C++ կամ որևէ այլ հիմնական ծրագրավորման լեզու։
  • Եթե ​​դառնաք պրոֆեսիոնալ ծրագրավորող, արագ կհասկանաք, որ երբեք չեք օգտագործի այն լեզուն, որը սկզբում սովորել եք ձեր աշխատանքի համար: Փոխարենը, դուք անընդհատ կշարունակեք սովորել նոր լեզուներ փաստաթղթերի և փորձերի միջոցով:

Գտեք ձեր ընտրած լեզվին հատուկ առցանց անվճար ռեսուրսներ:Համացանցը անվճար ձեռնարկների, դասընթացների և տեսանյութերի գանձարան է, որը նվիրված է այն լեզվին, որը դուք ընտրում եք սովորել: Դուք կարող եք մեկ օրվա ընթացքում սովորել գրեթե ցանկացած ներածական լեզվի հիմունքները:

  • Ահա ընդամենը մի քանի հայտնի կայքեր՝ Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools և շատ ուրիշներ:
  • wikiHow-ն ունի նաև մեկնարկային ձեռնարկների լայն տեսականի տարբեր լեզուների համար:
  • YouTube-ում կարող եք գտնել ուսումնական տեսանյութեր գրեթե ցանկացած լեզվով:
  • Stack Exchange-ը ամենահայտնի ֆորումներից մեկն է, որտեղ պրոֆեսիոնալ ծրագրավորողները պատասխանում են օգտատերերի ցանկացած հարցի:
  • Ներբեռնեք լավ տեքստային խմբագիր:Ծրագրավորման շատ լեզուներ թույլ են տալիս օգտագործել արտաքին տեքստային խմբագրիչներ՝ ծրագրեր գրելու համար: Գտեք տեքստային խմբագիր, որը կցուցադրի նահանջը և ծածկագրի նշումը:

    • Հանրաճանաչ ծրագրերը ներառում են Notepad++ (Windows), TextWrangler (OS X) և JEdit (ցանկացած համակարգ):
  • Ներբեռնեք ցանկացած անհրաժեշտ կոմպիլյատորներ:Ծրագրավորման որոշ լեզուներ պահանջում են կոմպիլյատոր՝ ձեր գրած սկզբնական կոդը ցուցադրելու համար: Կոմպիլյատորները թարգմանում են աղբյուրի կոդը համարժեք ցածր մակարդակի լեզվական ծրագրի, որն այնուհետև մշակվում է համակարգչի կողմից: Շատ կոմպիլյատորներ բաց կոդով և անվճար ծրագրային ապահովում են: Լեզուները, որոնք պահանջում են կոմպիլյատորների օգտագործումը, ներառում են.

    • ՀԻՄՆԱԿԱՆ
    • Ֆորտրան
    • Պասկալ
  • Սկսեք ձեր առաջին նախագիծը:Ընտրեք լավ ներածական նախագիծ, որը թույլ կտա փորձել ձեր նոր հմտությունները: Ինտերնետում կան բազմաթիվ առաջարկներ և ձեռնարկներ այս թեմայով; Օրինակ, դուք կարող եք սկսել՝ ստեղծելով պարզ կայքեր HTML-ով, պարզ տվյալների բազաներ և գործառույթներ PHP-ով կամ պարզ ծրագրեր ցանկացած լեզուներով, որոնք պահանջում են կոմպիլյատորների օգտագործում:

    Սա ներածական մասն է՝ նվիրված ծրագրավորման տեսական հիմունքներին։ Ընթերցողը կարող է ծանոթանալ դրան, այնուհետև անցնել գործնականում ծրագրավորման ուսումնասիրությանը (հղումներ այս նյութի սկզբում և վերջում), կարող է անմիջապես դիմել գործնական վարժությունների կամ կարող է շարունակել ծանոթանալ ծրագրային ապահովման մշակման տեսությանը, ընտրելով. հարցեր, որոնք հետաքրքրում են նրան վերը նշված ցանկից: Ինչ վերաբերում է այս հոդվածին, այստեղ են նրա հիմնական բաժինները.

    Խորհուրդ.Հետագա նյութը կարդալիս մի փորձեք հիշել բոլոր տերմիններն ու սահմանումները, որոնք հայտնվում են պատմության ընթացքում: Ժամանակի ընթացքում ամեն ինչ իր տեղը կընկնի, հատկապես, որ ինտերնետ էջերի հիպերտեքստը լավն է, քանի որ անհրաժեշտության դեպքում կարելի է գտնել նյութի մանրամասն ներկայացման հղումներ: Դուք միշտ կարող եք վերադառնալ ցանկալի էջ և դա անել հենց այն ժամանակ, երբ զգում եք գիտելիքների պակաս: Եթե ​​որևէ բաժին ձեզ համար դժվար է հասկանալ, բաց թողեք այն: Եթե ​​ապագայում չվերադառնաք դրան, նշանակում է, որ այն ձեզ համար ավելորդ է ծրագրավորման հիմունքները սովորելու գործընթացում:

    Ինչ է ալգորիթմը, ծրագրավորումը և կեղծկոդը

    Եկեք սկսենք սահմանելով, թե ինչ է ալգորիթմը: Ալգորիթմգործողությունների հաջորդականությունն է, որը պետք է կատարվի կոնկրետ խնդիր լուծելու համար: Ալգորիթմի հայեցակարգը կապված չէ միայն այն ծրագրերի հետ, որոնք կատարվում են , ուստի «ով է պետք կատարել» հարցի պատասխանը կարող է լինել որևէ մեկը կամ որևէ բան՝ մարդ, ռոբոտ, համակարգչային տեխնոլոգիա և այլն: Ալգորիթմ- սա հրահանգ է կամ ուղեցույց կամ, վերջապես, պարզապես գործողությունների ծրագիր. Այս դեպքում դա այն ալգորիթմի նկարագրությունն է -ի միջոցով, որի կոնստրուկցիաները համակարգիչը կարող է մշակել։ Թե՞ դա պարզապես համակարգչային ծրագրի տեքստ գրելու գործընթացն է: Այս մեկնաբանության մեջ ծրագրավորումը հոմանիշ է կոդավորման գործընթաց. Ինչո՞ւ խոսեցի մեկնաբանությունների մասին։ Փաստն այն է, որ ծրագրային ապահովման մշակողները շատ կրքոտ են իրենց արածով և կարող են չափազանց դժգոհ լինել, երբ իրենց աշխատանքը կրճատվում է միայն ծրագրավորման հատուկ լեզվով կոդավորման գործընթացով: Ինքը ոչ միայն կոդավորումն է, այլ նաև նախնական նախագծման փուլը, ինչպես նաև հետագա փուլերն ու սպասարկումը: Ծրագրավորում ասելով նրանք հաճախ նկատի ունեն համակարգչային ծրագրի ստեղծման գործընթացը որպես ամբողջություն, ներառյալ ալգորիթմի մշակումը, իսկ կոդավորումը արդեն մշակված ալգորիթմի թարգմանությունն է հասկանալի լեզվի: կոդավորման օբյեկտ(նշանակում է համակարգիչ կամ որևէ այլ սարք, որն աշխատում է ինչ-որ մեկի կողմից նշված ծրագրի համաձայն):

    Այսպիսով, ալգորիթմը ցանկացած խնդրի համար, որը նկարագրված է ցանկացածում ալգորիթմական լեզու(ընթացակարգային ծրագրավորման լեզու), առաջին մոտարկումը հայտնվում է որպես հրահանգների հաջորդականություն կամ օպերատորներ. Օպերատորը կարող է լինել պարզ կամ բարդ: Պարզ օպերատոր- սա ատոմային է ծրագրավորման լեզվի միավոր. Պարզ օպերատորները ներառում են (փոփոխականի անվանումը և տեսակը սահմանելը), (փոփոխականին արժեք վերագրելը), մուտքային և ելքային գործողություններ և այլն:

    Փոփոխական (ծրագրավորման մեջ) RAM-ի անվանված տարածք է, որը նախատեսված է համակարգչային ծրագրի կողմից մշակված տվյալների մի մասի ժամանակավոր պահպանման համար: Փոփոխականը բնութագրվում է իր զբաղեցրած հիշողության չափով և տեսակով, որը որոշում է, թե ինչպես է այդ հիշողությունը մեկնաբանվում համակարգչի կողմից: Փոփոխականի տեսակը կարող է լինել պարզ կամ բարդ (բարդ): Պարզ տեսակները ներառում են թվային, նիշ և տրամաբանական տեսակներ: Բարդ տեսակը պարզ և/կամ այլ կոմպոզիտային տեսակների հավաքածու է:

    Բաղադրյալ հայտարարություններն օգտագործվում են հաջորդականությամբ այլ հայտարարություններ կազմակերպելու և ծրագրի կատարման հոսքը վերահսկելու համար: Բաղադրյալ օպերատորները ներառում են (օպերատորների հաջորդականության կրկնությունը) և այլն: և իրենք օպերատորներ չեն: Դրանք կարող են լինել փոփոխական արժեքների կամ չափանիշների արգումենտներ՝ օղակների և պայմանական հայտարարությունների կատարման համար: Մաթեմատիկական և տրամաբանական արտահայտությունների մի մասը կարող է լինել .

    Ենթագումարներ:Ամենապարզ համակարգչային ծրագիրը օպերատորների հաջորդականությունն է (ծրագրի հրահանգներ), որոնցից մի քանիսը փոփոխում են փոփոխականները, իսկ մյուսները վերահսկում են ծրագրի կատարումը (հանգույցներ, պայմանական հայտարարություններ)՝ հիմնվելով տրամաբանական և թվաբանական արտահայտություններով սահմանված պայմանների վրա:

    Եթե ​​դրանցից որևէ մեկը հարցեր է առաջացնում, ապա ես առաջարկում եմ հետևել վերը նշված հղումներից որևէ մեկին և ծանոթանալ իմ ավելի մանրամասն նկարագրված ընթացակարգային ծրագրավորման լեզվի կառուցվածքներին:

    Նախկինում ալգորիթմները, նախքան ներդրվելը , ներկայացվում էին ձևով: Այսօր, ինձ թվում է, դասական սխեմաները բավականին հազվադեպ են օգտագործվում (դպրոցներում կամ ծրագրավորման հիմունքների տարբեր դասընթացներում): Նաև սխեմաները օգտագործվում են դիագրամների հետ միասին բիզնես գործընթացները նկարագրելու համար, բայց դա արդեն վերաբերում է մակրոնախագծման փուլերին: Իմ պրակտիկայում ես շատ հազվադեպ եմ օգտագործում ալգորիթմների նկարագրման միջանկյալ ձևեր, բայց եթե նման անհրաժեշտություն առաջանա, ես դա անում եմ՝ օգտագործելով. կեղծ կոդ. Կեղծ կոդ- Սա կեղծ ծրագրավորման լեզու, որի համար շարահյուսության չափորոշիչներ չկան։ Կեղծկոդը զուրկ է ալգորիթմի էությունը հասկանալու համար աննշան մանրամասներից, առանց որոնց հնարավոր չէ իրական ծրագրավորման լեզուներով ծրագրեր գրել։ Միակը կեղծ կոդի նպատակը ալգորիթմի նկարագրության պաշտոնականացումն է. Խնդիրները, որոնց լուծումները նկարագրված են կեղծ կոդով, շատ հեշտությամբ տեղափոխվում են ցանկացած ծրագրավորման լեզու, քանի որ կեղծ կոդը ծրագրավորման լեզու է, միակ տարբերությամբ, որ դրա համար կոմպիլյատոր չկա, և դրա միակ թարգմանիչը մարդու ուղեղն է: Ես ձեզ կասեմ, թե ինչ են կազմում այս նյութի վերջում կոմպիլյատորը և թարգմանիչը:

    Ալգորիթմների օրինակներ կեղծ կոդով և սխեմաների տեսքով

    Ահա մի թվի մյուսի վրա բաժանելու խնդրի ալգորիթմի նկարագրության օրինակ՝ կատարված կեղծկոդով.

    A. ԱՄԲՈՂՋ ՏԵՍԱԿ ՄՈՒՏՔ (A) B. ԱՄԲՈՂՋ ՏԵՍԱԿ ՄՈՒՏՔ (B) ԵԹԵ B=0 ԱՊԱ ԵԼՔ («ՍԽԱԼ. ԲԱԺԱՆՈՒՄ 0-ով») ԱՐԴՅՈՒՆՔ ՎԵՐՋ ԵԹԵ C. ԻՐԱԿԱՆ ՏԵՍԱԿ C = A/B ԵԼՔ (C)

    Ինտեգրված զարգացման միջավայր (IDE) – ծրագրային գործիքների մի շարք, որոնք օգտատիրոջն առաջարկում են ծրագրային կոդը գրելու, դրանում շարահյուսական սխալները որոնելու և ընդգծելու և հավելվածը վրիպազերծման ռեժիմով գործարկելու գործիքներ: Ինտեգրված զարգացման միջավայրը ներառում է կոմպիլյատոր, կապող, վրիպազերծիչ, պրոֆիլավորող և այլ բաղադրիչներ: Ծրագրավորման լեզուներով C#, VB.NET և C++ ծրագրային արտադրանք մշակելու ամենատարածված միջավայրը, և կրթական նպատակներով ես առաջարկում եմ օգտագործել հետևյալը.

    Վրիպազերծիչ – IDE գործիք, որը թույլ է տալիս քայլ առ քայլ կատարել ծրագիր և հետևել փոփոխականների արժեքներին յուրաքանչյուր քայլում, որը սահմանված է ընդմիջման կետերով կամ ընդմիջման կետերով:

    Պրոֆիլավորող – IDE գործիք, որն օգտագործվում է ծրագրի կոդի օպտիմալացման համար՝ դրա կատարման արագության և զբաղեցրած RAM-ի քանակի առումով: Օգտագործելով պրոֆիլը, կարող եք վիճակագրություն հավաքել այն մասին, թե կոդի որ մասն է առավել հաճախ կատարվում, և որքան ժամանակ և ռեսուրսներ է ծախսում համակարգիչը դրա կատարման վրա: Այս վիճակագրության հիման վրա դուք կարող եք բացահայտել ձեր ծրագրի խոչընդոտները և ուղղել ձեր ջանքերը դրանք օպտիմալացնելու համար:

    Ծրագրավորման լեզու – պաշտոնական լեզու, որը ներկայացված է հրահանգների (օպերատորների) մի շարքով, որոնց օգնությամբ համակարգչային ծրագրերը գրվում են որոշակի շարահյուսության համաձայն: Այլ կերպ ասած, ծրագրավորման լեզուն համակարգչի վրա կոնկրետ առաջադրանքի համար ալգորիթմի իրականացման հիմնական գործիքն է:

    Մեքենայի կոդը - հրամանների համակարգ, որը համակարգչային պրոցեսորը հասկանում է «առանց թարգմանության»:

    Բարձր և ցածր մակարդակի ծրագրավորման լեզուներ - ծրագրավորման լեզուների դասակարգում ըստ մարդկանց կողմից դրանց օգտագործման դյուրինության աստիճանի՝ կիրառական խնդիրների լուծման համար (բարձր մակարդակի լեզուներ) կամ ըստ մեքենայական կոդի մոտիկության աստիճանի (ցածր մակարդակի լեզուներ):

    Կազմող – հավելված, որն առնչվում է կոմպիլյացիայի գործընթացին՝ բարձր մակարդակի ծրագրավորման լեզվով գրված ծրագրի թարգմանություն (ծրագրի կոդի թարգմանություն) ցածր մակարդակի լեզվի կամ մեքենայական կոդի: Ցածր մակարդակի լեզվով կոմպիլյացիա ամենից հաճախ նշանակում է ծրագիրը թարգմանել անսամբլի լեզվի, որպեսզի ճշգրտվեն առանձին խցանումները, նախքան այն վերջնականապես թարգմանելը մեքենայի կոդ: Ծրագրի օրինակ կարելի է տեսնել assembler-ում:

    Օբյեկտի մոդուլ – ֆայլ, որը պարունակում է կոմպիլյատորի աշխատանքի արդյունքը, մասնավորապես մեքենայի կոդը ինքնին` այլ օբյեկտների մոդուլների հղումներով, եթե ծրագիրը բարդ է և բաղկացած է բազմաթիվ բաղադրիչներից:

    Կապող – հավելված, որը կոմպիլյատորից հետո մտնում է գործարկվող մոդուլ ստեղծելու գործընթաց: Եթե ​​կոմպիլյացիայի արդյունքը մի քանի օբյեկտի մոդուլներ են, ապա կապողը գտնում է բոլորին և դրանցից կառուցում է գործարկվող մոդուլ։

    Գործարկվող մոդուլ – ծրագիր, որը պարունակում է հենց այն ձևով, որը կարող է մշակել որոշակի օպերացիոն համակարգի բեռնիչը: Ամենից հաճախ դրանք ֆայլեր են exe կամ dll ընդլայնմամբ:

    Բեռնիչ - օպերացիոն համակարգի մի մասը, որը ստեղծում է առանձին ծրագիր ծրագրի համար, բեռնում է գործարկվող ֆայլի տվյալները RAM-ում (գործընթացի համար հատկացված RAM-ի տարածքում), սկզբնավորում է պրոցեսորի ռեգիստրները և սկսում գործընթացը: Այս պահից ծրագիրը սկսում է գործել:

    Թարգմանիչ – ծրագիր, որը կատարում է ծրագրի կոդը քայլ առ քայլ՝ թարգմանելով մեքենայի կոդի միայն դրա այն մասը, որը պետք է կատարվի ժամանակի որոշակի կետում: Թարգմանիչը տող առ տող մշակում է ծրագիրը: Կոմպիլյատորի և թարգմանչի միջև տարբերությունն այն է, որ կոմպիլյատորը միանգամից ամբողջ ծրագիրը թարգմանում է մեքենայական կոդի՝ ստեղծելով մեկ կամ մի քանի օբյեկտի մոդուլներ, իսկ թարգմանիչը, թարգմանելով միայն իրեն անհրաժեշտ ծրագրի հատվածը, անմիջապես կատարում է այս հատվածը։ Այսպիսով, որոշ թարգմանիչներ կազմում են կոմպիլյատոր, կապող և բեռնիչ՝ գլորված մեկում: Թարգմանչի օրինակ է Ինտերնետ բրաուզերի մշակման միավորը:

    Թույլ տվեք ավարտեմ տեսությունը և անցնեմ պրակտիկային: Ես կսկսեմ սրանից:

    Ցանկացած ծրագիր կամ առցանց ծառայություն, օրինակ՝ Word-ը, Microsoft Windows-ը, WhatsApp-ը կամ բրաուզերը, որն ամեն օր գործարկում են հարյուր միլիոնավոր մարդիկ, այսպես թե այնպես, բաղկացած է հատուկ հրահանգներից։ Կամ հատուկ ծրագրի կոդը, որը մեքենան հասկանում է և ասում, թե ինչ անել կամ, ընդհակառակը, չանել: Կամ ինչպես ճիշտ արձագանքել օգտվողի գործողություններին: Ինչ է ծրագրի կոդը, կքննարկվի այս հոդվածում:

    Նկարագրություն

    Ծրագրի ծրագրային կոդը տեքստ է, որը գրված է հատուկ լեզվով, որը մեքենան կարող է հասկանալ: Այն կարող է իրականացվել անմիջապես տեքստից՝ օգտագործելով թարգմանիչ կամ թարգմանվել հատուկ ձևով՝ օգտագործելով կոմպիլյատոր:

    Ծրագրի սկզբնական կոդը կարող է բաղկացած լինել մի քանի ֆայլից: Ավելին, դրանք բոլորը պետք է լինեն նույն ձևաչափի։ Դրանցում պարունակվող ծրագրի տեքստը պետք է գրված լինի նույն լեզվով: Ճիշտ է, կարող են լինել բացառություններ։ Օրինակ, վեբ մշակման մեջ էջի ֆայլը կարող է պարունակել մի քանի տարբեր ծրագրավորման լեզուներ և ստանդարտներ: Կախված նախագծի բարդությունից, կարող են առկա լինել լեզուներ և տեխնոլոգիաներ, ինչպիսիք են PHP, HTML և այլն:

    Երբ հավաքվում են, բարդ ծրագրային համակարգերը կարող են պահանջել մեծ թվով ֆայլեր, որոնց թիվը կարող է հասնել հարյուրների: Նման խոշոր նախագծերում համագործակցելու համար ծրագրավորողները շատ հաճախ օգտագործում են տարբերակների կառավարման համակարգեր: Նրանք թույլ են տալիս միաժամանակ աշխատել սկզբնական կոդի մի քանի օրինակների հետ, որոնք զարգացման որոշակի փուլում կարող են միավորվել մեկ ընդհանուրի մեջ։

    Կոդի որակը

    Համակարգիչը չի կարողանում հասկանալ, թե ինչպես է գրված դրա կոդը՝ վատ, թե լավ։ Եթե ​​այն գործառնական է և սխալներ չի պարունակում, ապա մեքենան ամեն դեպքում այն ​​կգործարկի: Վատ կոդը կարող է բարդացնել ծրագրային ապահովման պահպանման խնդիրները: Սա հատկապես վերաբերում է խոշոր նախագծերին: Որպես կանոն, բարձրորակ ծածկագիրը բնութագրվում է մի քանի պարամետրերով.

    • Կոդի ընթեռնելիություն: Դրան մեկ հայացքը բավական կլինի ընդհանուր առմամբ հասկանալու համար, թե ինչ է իրականացվում կոդի կողմից:
    • Հստակ և հակիրճ մեկնաբանությունների առկայությունը: Այս պարամետրը մեծապես ազդում է ընթեռնելիության, վրիպազերծման հեշտության, աջակցության փորձարկման և ծրագրի կոդի անսարքությունների վերացման վրա:
    • Ցածր դժվարություն.
    • Կոդի օպտիմալացում: Այն պետք է կազմակերպվի այնպես, որ ծրագիրը հնարավորինս քիչ համակարգային ռեսուրսներ օգտագործի, ինչպիսիք են հիշողությունը, պրոցեսորի ժամանակը և կոշտ սկավառակի տարածքը:
    • Ոչ մի աղբ: Այսինքն՝ չօգտագործված փոփոխականներ կամ կոդի բլոկներ, որոնցում ծրագրի կառավարումը երբեք չի մտնում։

    Վնասակար կոդ

    Բացի օգտակար ծրագրերից, կան այնպիսիք, որոնք կարող են վնասել համակարգին կամ նույնիսկ սարքավորումներին: Որպես կանոն, նման ծածկագիրը գրվում է այն մարդկանց կողմից, ովքեր շահագրգռված են ընթացող գործընթացից որոշակի օգուտ քաղելով։ Օրինակ՝ ծրագրեր, որոնք կարող են անձնական տվյալներ գողանալ օգտատերերի համակարգչից։ Դրանք կարող են լինել վճարային քարտերի համարներ, անձնագրի տվյալներ կամ որևէ այլ գաղտնի տեղեկատվություն: Մյուսները կարող են պարզապես խանգարել համակարգի աշխատանքին, դրանով իսկ առաջացնելով ձախողումներ և կանխելով լիարժեք ֆունկցիոնալությունը:

    Երկարամյա ծրագրավորող Ջեֆ Ֆոգելը կիսվել է մի քանի խորհուրդներով՝ ձգտող ծրագրավորողներին լավ կոդի կանոններ սովորեցնելու համար:

    Մասնավորապես, նա առաջարկում է միշտ մեկնաբանել ձեր ծրագրի կոդը։ Ի՞նչ է մեկնաբանությունը: Դա հստակ և հակիրճ նկարագրություն է, թե ինչ է տեղի ունենում տվյալ կոդի կամ ֆունկցիայի տողում: Փաստն այն է, որ որոշակի ծրագրի մշակումը կարող է ձգձգվել մեկ ամիս կամ նույնիսկ դադարեցնել որոշ ժամանակով։ Մեկ-երկու ամիս հետո վերադառնալով նախագծի վրա աշխատանքի՝ նույնիսկ փորձառու ծրագրավորողը կդժվարանա հասկանալ սեփական ծրագիրը։ Բայց մանրամասն մեկնաբանությունները կկարողանան վերականգնել իրադարձությունների շղթան և կոդի վարքագիծը։

    Նա նաև խորհուրդ է տալիս հնարավորինս հաճախ օգտագործել գլոբալ փոփոխականներ ձեր ծրագրում: Դա բացատրվում է նրանով, որ ծրագրի կոդը փոխելիս ստիպված կլինեք փոփոխականի արժեքը կարգավորել ընդամենը մեկ տեղում։ Այս դեպքում բոլոր գործառույթները կամ ընթացակարգերը, որոնք օգտագործում են արժեքը, անմիջապես կիմանան դրա մասին և գործողություններ կկատարեն նոր տվյալների հետ:

    Փոփոխականների անուններ և սխալի հայտնաբերում

    Փոփոխականների ճիշտ անվանումը կօգնի նաև զգալիորեն կրճատել ծրագրի սկզբնական կոդը ուսումնասիրելու համար ծախսվող ժամանակը, նույնիսկ եթե կոդը գրել եք ինքներդ: Այսինքն՝ լավ կոդը համարվում է այն տեքստը, որտեղ փոփոխականներն ու ֆունկցիաները ունեն անուններ, որոնք պարզեցնում են, թե կոնկրետ ինչ են անում կամ պահում։ Այս դեպքում դուք պետք է փորձեք չօգտագործել երկար փոփոխականների անուններ:

    Շատ կարևոր է մեծ ուշադրություն դարձնել սխալների ժամանակին վերացմանը։ Ո՞րն է ծրագրի կոդը, որը կատարյալ է աշխատում: Սա կոդ է, որը սխալներ չունի: Այսինքն՝ ցանկացած օղակի ճյուղավորում կամ փոփոխական փոփոխություն, կամ նույնիսկ օգտագործողի ցանկացած անսպասելի գործողություն, միշտ կհանգեցնի ակնկալվող արդյունքին։ Սա ձեռք է բերվում պատրաստի արտադրանքը մի քանի անգամ փորձարկելու միջոցով:

    Ծրագրի կոդի սխալների բացահայտումը, ավելի ճիշտ՝ դրանց կանխատեսումը հնարավոր է ծրագրի նախագծման փուլում։ Պայմանների տարբեր ստուգումների և հնարավոր բացառությունների կոդում առկայությունը կօգնի վերահսկել ծրագիրը որոշակի ընթացքով:

    Օպտիմալացումը հսկայական նշանակություն ունի գործունակ ծրագիր գրելու համար, որը տնտեսապես կօգտագործի համակարգչային ռեսուրսները և միևնույն ժամանակ կխուսափի ծրագրի կոդի կատարման սխալներից: Ի՞նչ է օպտիմիզացված ծրագիրը: Սա արտադրանք է, որն ի վիճակի է կատարել բոլոր հայտարարված գործառույթները՝ միաժամանակ վարվելով «հանգիստ» և տնտեսապես:

    Գրեթե միշտ ծրագրերի կայուն շահագործման համար օպտիմալացում կարելի է ձեռք բերել միայն տարբեր հարթակներում և տարբեր պայմաններում մի քանի թեստեր անցկացնելու միջոցով: Եթե ​​ծրագիրը սկսում է անկանխատեսելի վարքագիծ դրսևորել, դուք պետք է որոշեք, թե ինչն է դա առաջացրել և, հնարավորության դեպքում, վերացնել կամ ընդհատել գործընթացը:

    Եզրակացություն

    Ի՞նչ է ծրագրի կոդը: Պարզ ասած, դա համակարգչի համար հրահանգների և հասկացությունների մի շարք է: Այն պարունակում է տեքստ, որը կոմպիլյատորը կամ թարգմանիչը կարող է վերածել մեքենայաընթեռնելի լեզվի: Այսինքն, ըստ էության, ծրագրի կոդը միջնորդ է մարդու և համակարգչի միջև, ինչը հեշտացնում է նրանց հարաբերությունները։