Ինչ տեսակի ծրագրավորողներ կան: Programրագրավորման լեզուների տեսակները

Ընթացակարգային (հրամայական) ծրագրավորումավանդական համակարգիչների ճարտարապետության արտացոլումն է: Գործընթացային ծրագրավորման լեզվով ծրագիրը բաղկացած է օպերատորների հաջորդականությունից (հրահանգներ), որոնք նշում են խնդրի լուծման կարգը: Հիմնականը նշանակման օպերատորն է, որը ծառայում է հիշողության տարածքների բովանդակության փոփոխմանը: Հիշողության `որպես արժեքների պաշար, հասկացությունը, որի բովանդակությունը կարող է թարմացվել ծրագրային հայտարարություններով, հիմնարար նշանակություն ունի հրամայական ծրագրավորման մեջ: Գործընթացային ծրագրավորման լեզուն թույլ է տալիս ծրագրավորողին սահմանել խնդրի լուծման գործընթացում յուրաքանչյուր քայլ: Նման ծրագրավորման լեզուների առանձնահատկությունն այն է, որ առաջադրանքները բաժանվում են քայլերի և լուծվում են քայլ առ քայլ: Պարտադիր ծրագրավորումը առավել հարմար է փոքր ենթածրագրերի համար, որտեղ ժամանակակից համակարգիչների վրա կատարման արագությունը շատ կարևոր է:

Գործընթացային ծրագրավորման լեզուները ներառում են ՝ Ada, Basic (Quick Basic- ից Visual Basic- ի տարբերակներ), C, COBOL, Fortran, Մոդուլա- 2, Պասկալ, PL / 1, Rapier, REXX:

Կառուցվածքային ծրագրավորում- ծրագրակազմի մշակման մեթոդաբանություն, որը հիմնված է ծրագրի ներկայացման վրա `երեք տեսակի հիմնական կառույցներից կառուցված բլոկների հիերարխիկ կառուցվածքի տեսքով` հաջորդական կատարում, ճյուղավորում և հանգույց:

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

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

Կարևոր է առանձնացնել օբյեկտների հետևյալ երեք հիմնական հատկությունները.

Կափարիչ (տվյալների պաշտպանություն)- մեխանիզմ, որը միավորում է տվյալները և մեթոդները, որոնք շահարկում են այս տվյալները և պաշտպանում երկուսին արտաքին միջամտությունից:


Ժառանգությունայն գործընթացն է, որով մեկ օբյեկտ կարող է ժառանգել մեկ այլ օբյեկտի հատկությունները և դրան ավելացնել իրեն հատուկ հատկություններ: Երեխաների և նախնիների հարաբերությունները դասերի ժամանակ կոչվում են ժառանգականություն:

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

Հռչակագրային ծրագրավորում... Դեկլարատիվ ծրագրավորման մեջ շեշտը դրված է այն բանի վրա, թե ինչ անել, այլ ոչ թե ինչպես դա անել (հրամայական լեզուներով): Այստեղ հիմնականը խնդրի ճշգրիտ ձևակերպումն է, և դրա լուծման համար անհրաժեշտ ալգորիթմի ընտրությունն ու կիրառումը կատարող համակարգի խնդիրն է, բայց ոչ ծրագրավորողը: Օրինակ, HTML վեբ էջերը հայտարարարար են նրանով, որ նկարագրում են այն, ինչ պետք է պարունակի էջը, այլ ոչ թե այն, թե ինչպես է էջը ցուցադրվում էկրանին: Այս մոտեցումը տարբերվում է հրամայական ծրագրավորման լեզուներից, որոնք ծրագրավորողից պահանջում են նշել կատարման ալգորիթմ:

Հայտարարական ծրագրավորման երկու ճյուղ կա ՝ ֆունկցիոնալ, որը հիմնված է իր միջավայրը չփոխող ֆունկցիայի մաթեմատիկական հայեցակարգի վրա, ի տարբերություն ընթացակարգային լեզուների գործառույթների, որոնք թույլ են տալիս կողմնակի բարդություններ և տրամաբանական, որոնցում ծրագրերն արտահայտվում են որպես մաթեմատիկական տրամաբանության բանաձևեր: , և համակարգիչ `խնդրի լուծման համար: փորձում է դրանցից տրամաբանական հետևություններ անել:

Տրամաբանական ծրագրավորումհիմնված մաթեմատիկական տրամաբանության վրա: Բայց ամենահայտնի տրամաբանական ծրագրավորման լեզուն Prolog- ն է: ՊՐՈԼՈԳ ծրագիրը պարունակում է երկու բաղադրիչ ՝ փաստեր և կանոններ: Փաստերը տվյալներ են, որոնցով ծրագիրը գործում է, և փաստերի ամբողջությունը կազմում է PROLOGUE տվյալների բազան, որն իրականում հարաբերական տվյալների բազա է: Տվյալների վրա կատարվող հիմնական գործողությունը համընկնող գործողություն է, որը կոչվում է նաև համախմբման կամ հաշտեցման գործողություն:

Ինչպես մյուս դեկլարատիվ լեզուների դեպքում, դրա հետ աշխատելիս ծրագրավորողը նկարագրում է իրավիճակը (կանոններ և փաստեր) և ձևակերպում նպատակը (հարցումը) ՝ թույլ տալով LԱՌԱԳԻՏԻ թարգմանչին գտնել իր համար խնդրի լուծումը: ՊՐՈԼՈԳ թարգմանիչը հասկացվում է որպես խնդրի լուծման մեխանիզմ `ՊՐՈԼՈԳ լեզվի միջոցով: ՊՐՈԼՈԳ ծրագիրը փաստերի և (հնարավոր է) կանոնների ամբողջություն է: Եթե ​​ծրագիրը պարունակում է միայն փաստեր, ապա այն կոչվում է տվյալների բազա: Եթե ​​այն պարունակում է նաև կանոններ, ապա հաճախ օգտագործվում է գիտելիքների բազա տերմինը:

Ի տարբերություն ընթացակարգային լեզուներով գրված ծրագրերի, որոնք սահմանում են այն քայլերի հաջորդականությունը, որը համակարգիչը պետք է կատարի խնդիրը լուծելու համար, PROLOGUE- ում ծրագրավորողը նկարագրում է փաստեր, կանոններ, նրանց միջև փոխհարաբերություններ, ինչպես նաև խնդրի վերաբերյալ խնդրանքներ: LՐԱԳՐԻ ամենատիպիկ կիրառումը փորձագիտական ​​համակարգերն են:

Ինքնաստուգման հարցեր

1. Ի՞նչ է ծրագիրը: Ի՞նչ է նշանակում կատարող ասելով:

2. Ի՞նչ է մեքենայի կոդը:

3. Ի՞նչ է թարգմանիչը: Թվարկեք թարգմանիչների տեսակները:

4. Ինչպե՞ս է աշխատում թարգմանիչը: Որո՞նք են դրա առավելությունները:

5. Ո՞րն է կազմողների առավելությունը:

6. Ի՞նչ բաղադրիչներ են ներառված ծրագրավորման ինտեգրված համակարգում:

7. Ի՞նչ է նշանակում տվյալների կառուցվածք, ո՞րն է տվյալների կառուցվածքի դասակարգումը:

8. Ի՞նչ է նշանակում տվյալների զանգվածներ և ինչ գործողություններ կարող են կատարվել դրանցով:

9. Որո՞նք են զանգվածների տեսակավորման ալգորիթմները:

10. Ո՞րն է ենթածրագրերի նպատակը:

11. Ինչի՞ համար է սովորական գրադարանը:

12. typesրագրավորման ի՞նչ տեսակներ կան:

Գրականություն

1. Ստավրովսկի Ա.Բ., Կառնաուխ Թ.Ա. Stepsրագրավորման առաջին քայլերը: Ինքնուսույց գիրք: - Մ. ՝ Ուիլյամս, 2006:- 400 էջ

2. Օկուլով Ս. Mingրագրավորման հիմունքներ Հրատարակիչ ՝ Binom. Գիտելիքների լաբորատորիա, 2008:- 383 էջ:

3. Կանտեդալ Ս.Ա. Ալգորիթմավորման և ծրագրավորման հիմունքներ: - Մ.: Ֆորում, 2008:- 351 էջ

4.httn // www myfreesoft ru / default-windows-nroprams html-Windows- ի ստանդարտ ծրագրեր

5.httn // khni -iin mink kharkiv edu / lihrary / datastr / hook / nrt01 html # lb11 - մոդելներ և տվյալների կառուցվածքներ

6.httn: //www.intuit.ru/denartment/se/nhmsu/11/3.html#sect5 - մոդելներ և տվյալների կառուցվածքներ

7.http: //inf.1sentemher.ru/2007/15/00.htm - համակարգչային գիտությունների ուսուցչի հանրագիտարան

8.http: //www.delnhi.int.ru/articles/119/ - ենթածրագրեր:

9.httn // inroc ru / narallel-nroPramminP / lection-5 /-կույտերի տեսակավորում:

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

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

Լեզու ստեղծողներն այլ կերպ են մեկնաբանում հայեցակարգը ծրագրավորման լեզու... Մշակողների մեծ մասի կողմից ճանաչված ընդհանուր վայրերի շարքում են հետևյալը.

· Գործառույթը:ծրագրավորման լեզուն նախատեսված է համակարգչային ծրագրեր գրելու համար, որոնք օգտագործվում են համակարգչին հրահանգներ փոխանցելու համար `հաշվողական որոշակի գործընթաց կատարելու և առանձին սարքերի վերահսկողություն կազմակերպելու համար:

· Առաջադրանք.ծրագրավորման լեզուն տարբերվում է բնական լեզուներից նրանով, որ այն նախատեսված է անձից համակարգիչ հրամաններ և տվյալներ փոխանցելու համար, մինչդեռ բնական լեզուները օգտագործվում են միայն միմյանց հետ հաղորդակցվելու համար: Սկզբունքորեն հնարավոր է ընդհանրացնել «ծրագրավորման լեզուներ» հասկացության սահմանումը `դա հրամաններ, հրամաններ, գործողությունների հստակ ուղեցույց փոխանցելու միջոց է. մինչդեռ մարդկային լեզուները ծառայում են նաև տեղեկատվության փոխանակմանը:

· Կատարում.ծրագրավորման լեզուն կարող է օգտագործել հատուկ կոնստրուկցիաներ `տվյալների կառուցվածքները սահմանելու և շահարկելու և հաշվարկման գործընթացը վերահսկելու համար:

3. Համակարգչի միջոցով խնդրի լուծման փուլերը:

VT- ի ամենաարդյունավետ կիրառումը հայտնաբերվել է գիտահետազոտական ​​և ինժեներական հաշվարկների աշխատատար հաշվարկներում: Համակարգչում խնդիր լուծելիս հիմնական դերը դեռ պատկանում է մարդուն: Մեքենան կատարում է իր խնդիրները միայն մշակված ծրագրի համաձայն: մարդու և մեքենայի դերը հեշտ է հասկանալ, եթե խնդրի լուծման գործընթացը բաժանված է ստորև թվարկված փուլերի:

Խնդրի ձևակերպում:Այս փուլը բաղկացած է խնդրի իմաստալից (ֆիզիկական) ձևակերպումից և վերջնական լուծումների որոշումից:

Մաթեմատիկական մոդելի կառուցում:Մոդելը պետք է ճիշտ (համարժեք) բնութագրի ֆիզիկական գործընթացի հիմնական օրենքները: Առկա մոդելներից մաթեմատիկական մոդելի կառուցումը կամ ընտրությունը պահանջում է մաթեմատիկայի համապատասխան բաժինների խնդրի և գիտելիքների խորացում:

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

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

Ծրագրավորում.Խնդրի լուծման ալգորիթմը գրված է մեքենայի համար հասկանալի լեզվով `գործողությունների հստակ սահմանված հաջորդականության` ծրագրի տեսքով: Գործընթացը սովորաբար կատարվում է ինչ -որ միջանկյալ լեզվի միջոցով, և դրա թարգմանությունն իրականացնում է ինքնին մեքենան և նրա համակարգը:

Bրագրի կարգաբերում:Կազմված ծրագիրը պարունակում է բոլոր տեսակի սխալներ, անճշտություններ և սխալ տպագրություններ: Վրիպազերծումը ներառում է ծրագրի վերահսկում, ախտորոշում (բովանդակության որոնում և որոշում) և դրանց վերացում: Programրագիրը փորձարկվում է վերահսկման (թեստի) խնդիրների լուծմամբ `արդյունքների հուսալիության նկատմամբ վստահություն ձեռք բերելու համար:

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

Արդյունքների վերլուծություն:Հաշվարկի արդյունքները մանրակրկիտ վերլուծվում են, կազմվում է գիտատեխնիկական փաստաթղթեր:

4. Ինչի՞ համար են ծրագրավորման լեզուները:

Համակարգչի աշխատանքի ընթացքը բաղկացած է ծրագրի իրականացումից, այսինքն `հստակ սահմանված կարգով հստակ սահմանված հրամանների հավաքածուից: Հրահանգի մեքենայական ձևը, որը բաղկացած է զրոներից և միավորներից, ցույց է տալիս, թե ինչպիսի գործողություն պետք է կատարի կենտրոնական պրոցեսորը: Սա նշանակում է, որ համակարգչին գործողությունների հաջորդականություն ասելու համար, որը նա պետք է կատարի, դուք պետք է նշեք համապատասխան հրամանների երկուական կոդերի հաջորդականությունը: Մեքենայական կոդի ծրագրերը բաղկացած են հազարավոր հրահանգներից: Նման ծրագրեր գրելը դժվար և հոգնեցուցիչ է: Merրագրավորողը պետք է հիշի յուրաքանչյուր ծրագրի երկուական կոդի զրոների և միավորների համադրությունը, ինչպես նաև դրա կատարման ընթացքում օգտագործվող տվյալների հասցեների երկուական կոդերը: Շատ ավելի հեշտ է ծրագիր գրել մարդկային բնական լեզվին ավելի մոտ որոշ լեզվով և համակարգչին վստահել այս ծրագիրը մեքենայական կոդերի թարգմանելու աշխատանքը: Ահա թե ինչպես են հատուկ ծրագրեր գրելու համար մշակված լեզուները. ծրագրավորման լեզուներ:

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

Manyրագրավորման բոլոր լեզուները կարելի է բաժանել երկու խմբի. ցածր մակարդակի լեզուներեւ բարձր մակարդակի լեզուներ:

Lowածր մակարդակի լեզուները ներառում են հավաքման լեզուներ (անգլերենից toassemble - հավաքել, հավաքել): Հավաքման լեզուն օգտագործում է խորհրդանշական նշումներ այն հրամանների համար, որոնք հեշտ են ընկալվում և արագ հիշվում: Երկուական հրամանների հաջորդականությունների փոխարեն գրվում են դրանց խորհրդանշական նշանակումները, իսկ հրամանը կատարելիս օգտագործվող երկուական տվյալների հասցեների փոխարեն `ծրագրավորողի կողմից ընտրված այս տվյալների խորհրդանշական անունները: Հավաքման լեզուն երբեմն կոչվում է mnemocode կամ autocode:

Programրագրավորողների մեծ մասն օգտագործում է բարձր մակարդակի լեզուներ `իրենց ծրագրերը գրելու համար: Ինչպես սովորական մարդկային լեզուն, այնպես էլ նման լեզուն ունի իր այբուբենը `լեզվում օգտագործվող խորհրդանիշների հավաքածու: Այս խորհրդանիշներից կազմված են այսպես կոչված լեզվի հիմնաբառեր: Հիմնական բառերից յուրաքանչյուրը կատարում է իր գործառույթը, ինչպես այն լեզվով, որին մենք սովոր ենք մեր լեզվում, այնպես էլ տվյալ լեզվի այբուբենի տառերից կազմված բառերը կարող են կատարել խոսքի տարբեր մասերի գործառույթներ: Հիմնաբառերը միմյանց հետ կապված են նախադասությունների համաձայն ՝ լեզվի որոշակի շարահյուսական կանոնների համաձայն: Յուրաքանչյուր նախադասություն սահմանում է գործողությունների որոշակի հաջորդականություն, որը պետք է կատարի համակարգիչը:

Բարձր մակարդակի լեզուն միջնորդի դեր է կատարում մարդու և համակարգչի միջև ՝ թույլ տալով մարդուն համակարգչի հետ շփվել մարդու համար ավելի հարազատ ձևով: Հաճախ այս լեզուն օգնում է ձեզ ընտրել խնդրի լուծման ճիշտ մեթոդը:

Նախքան բարձր մակարդակի ծրագիր գրելը, ծրագրավորողը պետք է կազմի ալգորիթմխնդրի լուծում, այսինքն `քայլ առ քայլ գործողությունների ծրագիր, որը պետք է ավարտվի այս խնդիրը լուծելու համար: Հետեւաբար, այն լեզուները, որոնք պահանջում են ալգորիթմի նախնական կազմում, հաճախ կոչվում են ալգորիթմական լեզուներ:

5. Ինչ ծրագրավորման լեզուներ կան

1.1 Ֆորտրան

Mingրագրավորման լեզուները սկսեցին հայտնվել դեռ 50-ականների կեսերին: Այս տեսակի առաջին լեզուներից մեկը FORTRAN լեզուն էր (FORTRAN FORMulaTRANslator- ից բանաձևերի թարգմանիչ), որը մշակվել է 1957 թվականին: Fortran- ն օգտագործվում է թվային համակարգչի միջոցով գիտատեխնիկական խնդիրների լուծման ալգորիթմի նկարագրման համար: Ինչպես և առաջին համակարգիչները, այս լեզուն նախատեսված էր հիմնականում բնական-մաթեմատիկական հաշվարկներ իրականացնելու համար: Բարելավված տեսքով այս լեզուն գոյատևել է մինչև մեր ժամանակները: Modernամանակակից բարձր մակարդակի լեզուներից այն ամենաօգտագործվողներից է գիտական ​​հետազոտություններում: Ամենատարածված տարբերակները Fortran-II, Fortran-IV, EASICFortran և դրանց ընդհանրացումներն են:

1.2 ԱԼԳՈԼ

Ֆորտանից հետո, 1958-1960 թվականներին, հայտնվեց ալգոլյան լեզուն (Algol-58, Algol-60) (անգլերեն ALGOL ՝ ALGOrithmicLanguage-ալգորիթմական լեզու): Ալգոլը բարելավվել է 1964-1968թթ. ՝ Ալգոլ -68: ALGOL- ը մշակվել է հանձնաժողովի կողմից, որը ներառում էր եվրոպացի և ամերիկացի գիտնականներ: Այն պատկանում է բարձր մակարդակի լեզուներին և թույլ է տալիս հեշտությամբ թարգմանել հանրահաշվական բանաձևերը ծրագրի հրամանների: Ալգոլը հանրաճանաչ էր Եվրոպայում, ներառյալ ԽՍՀՄ -ը, մինչդեռ համադրելի Ֆորտրանը տարածված էր ԱՄՆ -ում և Կանադայում: Ալգոլը նկատելի ազդեցություն ունեցավ հետագայում մշակված ծրագրավորման բոլոր լեզուների և, մասնավորապես, Պասկալի լեզվի վրա: Այս լեզուն, ինչպես Fortran- ը, նախատեսված էր լուծելու գիտատեխնիկական խնդիրները: Բացի այդ, այս լեզուն օգտագործվել է որպես ծրագրավորման հիմունքների `ծրագրավորման արվեստի ուսուցման միջոց:

Սովորաբար, Ալգոլ հասկացությունը նշանակում է լեզու ԱԼԳՈԼ -60, մինչդեռ ԱԼԳՈԼ -68համարվում է անկախ լեզու: Նույնիսկ այն ժամանակ, երբ ալգոլյան լեզուն գրեթե դադարեց օգտագործվել ծրագրավորման համար, այն դեռ մնաց ալգորիթմների հրապարակման պաշտոնական լեզուն:

1.3 Կոբոլ

1959 - 1960 թվականներին մշակվեց Կոբոլ լեզուն (անգլերեն COBOL ՝ COMMOM Business Oriented Language): Այն երրորդ սերնդի ծրագրավորման լեզու է, որը նախատեսված է հիմնականում բիզնես ծրագրերի մշակման համար: Բացի այդ, Կոբոլը նախատեսված էր տնտեսական խնդիրների լուծման, բանկերի, ապահովագրական ընկերությունների և այս տեսակի այլ հաստատությունների տվյալների մշակման համար: Գրեյս Հոպեր ( տատիկը Կոբոլա).

Սովորաբար Քոբոլը քննադատվում է իր շատախոսության և ծանրաբեռնվածության համար, քանի որ լեզուն ստեղծողների նպատակներից էր շինությունները հնարավորինս մոտեցնել անգլերեն լեզվին: (Մինչ այժմ Cobol- ը համարվում է այն ծրագրավորման լեզուն, որով գրված են եղել ամենաշատ ծածկագրերը): Միևնույն ժամանակ, Կոբոլը հիանալի գործիքներ ուներ իր ժամանակի տվյալների կառուցվածքների և ֆայլերի հետ աշխատելու համար, ինչը նրան երկար կյանք ապահովեց բիզնես ծրագրերում, գոնե ԱՄՆ -ում:

1.4 Լիսպ

Գրեթե միաժամանակ Կոբոլի հետ (1959 - 1960), Մասաչուսեթսի տեխնոլոգիական ինստիտուտում ստեղծվեց Lisp լեզուն (LISP- ից LIStProcessing): Lisp- ը հիմնված է ծրագրի ՝ պատկերների գծային ցուցակների համակարգի ներկայացման վրա, որոնք, ընդ որում, լեզվի հիմնական տվյալների կառուցվածքն են: Lisp- ը համարվում է երկրորդ ամենահին բարձր մակարդակի ծրագրավորման լեզուն Fortran- ից հետո: Այս լեզուն լայնորեն օգտագործվում է խորհրդանշական տեղեկատվության մշակման համար և օգտագործվում է մարդկային ուղեղի գործունեությունը ընդօրինակող ծրագրակազմ ստեղծելու համար:

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

«Կյանք» Lisp ծրագրի հիմնական իմաստը խորհրդանշական տարածքում ՝ շարժում, ստեղծագործականություն, անգիր, նոր աշխարհների ստեղծում և այլն: Լիսպը ՝ որպես ուղեղի փոխաբերություն, խորհրդանիշ, ազդանշանի փոխաբերություն. հաճախ կենսական ՝ որոշելով անձի կամ կենդանու բոլոր վարքագիծը, և ինչպես է տարբեր ազդանշանների բաժանումը դրական, բացասական և անտարբեր, անտարբեր: Ազդանշանն արդեն ինտեգրացիոն հասկացություն է: Դա խմբի, բարդ խթանների նույնականացման նշան է փոխկապակցված են ընդհանուր պատմության և պատճառահետեւանքային կապերի հետ: Այս համալիրում ՝ գրգռիչների համակարգը, ազդանշանի խթանն ինքնին նույնպես բաղադրիչ տարր է, և այլ հանգամանքներում նրա դերը կարող է պատկանել բարդույթի մեկ այլ խթանիչին: Ազդանշանը կենտրոնացնում է բոլորը կենդանու կամ անձի անցյալի փորձը:

1.5 ՀԻՄՆԱԿԱՆ

60-ականների կեսերին (1963 թ.) ԴԱՐԹՄՈԹ քոլեջում (ԱՄՆ) ստեղծվեց ՀԻՄՆԱԿԱՆ լեզուն (BASIC from Beginner's Allpurpose Instruction Code): Timeամանակի ընթացքում, երբ սկսեցին հայտնվել այլ բարբառներ, այս «օրիգինալ» բարբառը հայտնի դարձավ որպես Դարտմուտի ԲԱASԻՆ: Լեզուն հիմնված էր մասամբ Fortran II- ի և մասամբ Algol-60- ի վրա, հավելումներով, ինչը հարմարեցնում էր ժամանակը կիսելու, իսկ հետագայում ՝ տեքստի մշակման և մատրիցային թվաբանության համար: BASIC- ն ի սկզբանե իրականացվել է GE-265 հիմնական համակարգում `բազմաթիվ տերմինալների աջակցությամբ: Հակառակ տարածված կարծիքի, այն սկզբնավորման պահին կազմված լեզու էր:

BASIC- ը նախագծվել է այնպես, որ ուսանողները կարողանան գրել ծրագրեր ՝ օգտագործելով ժամանակի բաժանման տերմինալներ: Այն նախագծված էր որպես լուծում հին լեզուների բարդության համար: Այն նախատեսված էր ավելի «պարզ» օգտվողների համար, ովքեր ոչ այնքան հետաքրքրված էին ծրագրերի արագությամբ, որքան պարզապես համակարգչից օգտվելու ունակությամբ `իրենց խնդիրները լուծելու համար: ՀԻՄՆԱԿԱՆ լեզվի պարզության պատճառով շատ սկսնակ ծրագրավորողներ սկսում են ծրագրավորումը դրանով:

1.6 Բերդ

60 -ականների վերջին - 70 -ականների սկզբին հայտնվեց Ֆորտ լեզուն (անգլերեն FOURTH - չորրորդ): Այս լեզուն սկսեց օգտագործվել տարբեր համակարգերի վերահսկման խնդիրներում այն ​​բանից հետո, երբ դրա հեղինակ Չարլզ Մուրը դրանում գրեց ծրագիր, որը նախատեսված էր Արիզոնայի աստղադիտարանի ռադիոաստղադիտակի վերահսկման համար:

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

1.7 Պասկալ

Պասկալի լեզուն, որը հայտնվել է 1972 թվականին, կոչվել է 17 -րդ դարի ֆրանսիացի մեծ մաթեմատիկոս, աշխարհի առաջին թվաբանական մեքենայի գյուտարար Բլեզ Պասկալի անունով: Այս լեզուն ստեղծվել է շվեյցարացի համակարգչագետ Նիկլաուս Վիրտի կողմից ՝ որպես ծրագրավորման մեթոդների ուսուցման լեզու: Պասկալը ծրագրավորման ընդհանուր լեզու է:

Լեզվի առանձնահատկություններն են խիստ մուտքագրումը և կառուցվածքային (ընթացակարգային) ծրագրավորման գործիքների առկայությունը: Պասկալն առաջին նման լեզուներից էր: Ըստ Ն. Վիրտի, լեզուն պետք է նպաստի ծրագրավորման կարգապահությանը, հետևաբար, ուժեղ մուտքագրման հետ մեկտեղ, Պասկալը նվազագույնի է հասցնում հնարավոր շարահյուսական անորոշությունները, և շարահյուսությունն ինքնին ինտուիտիվորեն պարզ է նույնիսկ լեզվի հետ առաջին ծանոթության ժամանակ:

Պասկալի լեզուն սովորեցնում է ոչ միայն ճիշտ գրել ծրագիր, այլև ինչպես ճիշտ մշակել խնդրի լուծման մեթոդ, ընտրել խնդրում օգտագործված տվյալների ներկայացման և կազմակերպման եղանակներ: 1983 թվականից Պասկալի լեզուն ներդրվել է ԱՄՆ միջնակարգ դպրոցների համակարգչային գիտության ծրագրում:

1.8 Դժոխք

1983 թվականին Ադա լեզուն ստեղծվեց ԱՄՆ պաշտպանության նախարարության հովանու ներքո: Լեզուն ուշագրավ է նրանով, որ կազմման փուլում շատ սխալներ կարող են հայտնաբերվել: Բացի այդ, ծրագրավորման բազմաթիվ ասպեկտներ են աջակցվում, որոնք հաճախ թողնում են օպերացիոն համակարգի ողորմածությանը (զուգադիպություն, բացառությունների կառավարում): 1995-ին ընդունվեց Ada 95 լեզվի ստանդարտը, որը հիմնվում է նախորդ տարբերակի վրա ՝ դրան ավելացնելով օբյեկտի կողմնորոշումը և շտկելով որոշ անճշտություններ: Այս երկու լեզուներն էլ լայնորեն չեն օգտագործվում ռազմական և այլ մասշտաբային նախագծերից դուրս (ավիացիա, երկաթուղային տրանսպորտ): Հիմնական պատճառը լեզուն սովորելու դժվարությունն է և բավականին բարդ շարահյուսությունը:

Ադայի անմիջական նախորդներն են Պասկալը և նրա ածանցյալները, այդ թվում ՝ Էվկլիդեսը, Լիսը, Մեսան, Մոդուլան և Սյուն: Օգտագործվել են ALGOL-68, Simula, CLU և Alphard մի քանի հասկացություններ:

Ada մշակողների հիմնական մտահոգությունն էր.

· Programsրագրերի հուսալիություն և կատարում;

· Mingրագրավորումը ՝ որպես մարդկային գործունեության տեսակ;

· Արդյունավետություն:

Աղյուսակ 1 -ը ցույց է տալիս ադա լեզվի հիմնական բնութագրերը ՝ օբյեկտի մոտեցման տեսանկյունից:

Աղյուսակ 1. Ադա:

1.9 Սի

Ներկայումս C- ը ծրագրավորողների շրջանում տարածված լեզու է (C- ն անգլերեն այբուբենի տառ է): C լեզուն ծագում է երկու լեզուներից ՝ BCPL և B. 1967 թ.-ին Մարտին Ռիչարդսը մշակեց BCPL- ն ՝ որպես համակարգչային ծրագրակազմ և կոմպիլյատորներ գրելու լեզու: 1970-ին Քեն Թոմփսոնը B- ի միջոցով DEC PDP-7 համակարգչի վրա ստեղծեց UNIX օպերացիոն համակարգի վաղ տարբերակները: Ինչպես BCPL- ում, այնպես էլ B- ում փոփոխականները բաժանված չէին տիպերի. Տվյալների յուրաքանչյուր արժեք հիշողության մեջ վերցնում էր մեկ բառ, իսկ ծրագրավորողի ուսերին ընկնում էր, օրինակ, ամբողջ թվեր և իրական թվեր: C- ի լեզուն մշակվել էր ( B- ի հիման վրա ՝ Դենիս Ռիչիի կողմից Bell Laboratories- ից և առաջին անգամ իրականացվել է 1972 թվականին DEC PDP-11 համակարգչի վրա: C- ն համբավ ձեռք բերեց որպես UNIX OS- ի լեզու: Այսօրվա գրեթե բոլոր հիմնական օպերացիոն համակարգերը գրված էին C կամ C ++ լեզուներով: Երկու տասնամյակ անց C- ն հասանելի է համակարգիչների մեծ մասում: Այն անկախ սարքավորումներից է: 70 -ականների վերջին C- ն վերածվեց այն, ինչ մենք անվանում ենք «ավանդական C»: 1983 -ին Համակարգիչների և տեղեկատվության մշակման ազգային ստանդարտների ամերիկյան կոմիտեի կողմից այս լեզվի մեկ ստանդարտ սահմանվեց: Այս լեզուն ունի հարուստ միջոցներ, թույլ է տալիս գրել ճկուն ծրագրեր, որոնք օգտագործում են ժամանակակից անհատական ​​համակարգիչների բոլոր հնարավորությունները:

1.10 Նախաբան

Մեկ այլ լեզու, որը համարվում է ապագայի լեզու, ստեղծվել է 70 -ականների սկզբին Մարսելի համալսարանի մի խումբ մասնագետների կողմից: Սա Prolog լեզուն է: Անունն ստացել է «OՐԱԳՐԱՎՈՐՄԱՆ ՏՐԱՄԱԲԱՆՈԹՅԱՆ ԼԵUՎՈՄ» բառերից: Այս լեզուն հիմնված է մաթեմատիկական տրամաբանության օրենքների վրա: Ինչպես Lisp լեզուն, այնպես էլ Prolog- ը հիմնականում օգտագործվում է մարդու ուղեղի գործունեության ծրագրային մոդելավորման ոլորտում հետազոտությունների մեջ: Ի տարբերություն վերը նկարագրված լեզուների, այս լեզուն ալգորիթմական չէ: Այն պատկանում է այսպես կոչված նկարագրական(անգլերեն descriptive - descriptive) - նկարագրական լեզուներ: Նկարագրող լեզուն ծրագրավորողից չի պահանջում առաջադրանքի բոլոր փուլերը զարգացնել: Փոխարենը, նման լեզվի կանոններին համապատասխան, ծրագրավորողը պետք է նկարագրի լուծվող խնդրին համապատասխան տվյալների բազան, և հարցերի բազային, որոնք պետք է պատասխանվեն `օգտագործելով այս տվյալների բազայից ստացված տվյալները:

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

Օբյեկտ-կողմնորոշված ​​գաղափարախոսությունն օգտագործվում է բոլոր ժամանակակից ծրագրային արտադրանքներում, ներառյալ օպերացիոն համակարգերը:

Առաջին օբյեկտ կողմնորոշված ​​լեզուն Սիմուլա -67 ստեղծվել է որպես գործիք ՝ տարբեր սարքերի և մեխանիզմների աշխատանքը մոդելավորելու համար: Modernրագրավորման ժամանակակից լեզուների մեծ մասն օբյեկտային են: Դրանցից են լեզվի վերջին տարբերակները Տուրբո - Պասկալ , Գ ++, Ադաեւ ուրիշներ.

Այժմ համակարգերը լայնորեն կիրառվում են տեսողական ծրագրավորում Տեսողական Հիմնական , Տեսողական Գ ++, Դելֆիեւ ուրիշներ. Նրանք թույլ են տալիս ստեղծել բարդ ծրագրային փաթեթներ `պարզ և հարմար ինտերֆեյսով:

1.11 Java

1995 թվականից ի վեր, տարածված է դարձել օբյեկտին ուղղված ծրագրավորման նոր լեզուն `Java- ն, որը թիրախավորում է համակարգիչների և, առաջին հերթին, ինտերնետի ցանցերը: Այս լեզվի շարահյուսությունը նման է C ++ լեզվի շարահյուսությանը, սակայն այս լեզուները քիչ ընդհանրություններ ունեն: Java- ն մեկնաբանված լեզու է. Դրա համար սահմանվում են ներքին ներկայացուցչություն (բայթ կոդ) և այս ներկայացուցչի թարգմանիչ, որոնք արդեն իսկ կիրառվում են շատ հարթակներում: Թարգմանիչը պարզեցնում է Java ծրագրով գրված ծրագրերի կարգաբերումը, ապահովում դրանց դյուրատարությունը նոր հարթակներում և հարմարվողականությունը նոր միջավայրերին: Այն թույլ է տալիս բացառել Java ծրագրով գրված ծրագրերի ազդեցությունը նոր հարթակում առկա այլ ծրագրերի և ֆայլերի վրա և դրանով իսկ ապահովել անվտանգությունը այդ ծրագրերի կատարման ժամանակ: Java- ի այս հատկությունները թույլ են տալիս այն օգտագործել որպես ծրագրավորման հիմնական լեզու ցանցերում (մասնավորապես ՝ ինտերնետում) բաշխված ծրագրերի համար:

1.12 Օբյեկտ Պասկալ

Object Pascal- ը ստեղծվել է Apple Computer- ի աշխատակիցների կողմից (որոնցից ոմանք Smalltalk- ի ներդրողներ էին) Պասկալ լեզվի ստեղծող Նիկլաուս Վիրտի հետ: Object Pascal- ը գոյություն ունի 1986 թ.-ից և առաջին օբյեկտին ուղղված ծրագրավորման լեզուն է, որը ներառվել է Macintosh Programmer's Workshop- ում (MPW) ՝ Apple- ի Macintosh համակարգիչների զարգացման միջավայր:

Այս լեզվով չկան դասի մեթոդներ, դասի փոփոխականներ, բազմակի ժառանգականություն և մետասակարգեր: Այս մեխանիզմները միտումնավոր բացառվում են ՝ սկսնակ «օբյեկտ» ծրագրավորողների համար լեզուն դյուրին սովորելու համար:

Աղյուսակ 2 -ը ցույց է տալիս Object Pascal- ի ընդհանուր բնութագրերը:

Աղյուսակ 2. Օբյեկտ Պասկալ:

Վերջին տարիներին այս լեզուն շատ տարածված դարձավ Բորլանդի Դելֆի համակարգի շնորհիվ:

1.13 Տեսողական օբյեկտին ուղղված դիզայնի համակարգ Դելֆի:

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

Delphi համակարգը թույլ է տալիս լուծել բազմաթիվ խնդիրներ, մասնավորապես.

· Ստեղծեք ամբողջական ծրագրեր Windows- ի համար `բազմազան նպատակներով` զուտ հաշվարկային և տրամաբանական, մինչև գրաֆիկական և մուլտիմեդիա:

· Արագ ստեղծեք (նույնիսկ սկսնակ ծրագրավորողների համար) ցանկացած ծրագրի համար պրոֆեսիոնալ տեսքով պատուհան ունեցող ինտերֆեյս:

· Ստեղծել հզոր համակարգեր տեղական և հեռակա տվյալների շտեմարանների հետ աշխատելու համար

· Ստեղծեք օգնության համակարգեր (.hlp ֆայլեր) ձեր ծրագրերի և այլնի համար: դոկտոր

Դելֆին չափազանց արագ զարգացող համակարգ է: Առաջին տարբերակը ՝ Delphi 1.0, թողարկվել է 1995 թվականի փետրվարին, այնուհետև ամեն տարի թողարկվում են նոր տարբերակներ:

Դելֆիի յուրաքանչյուր հաջորդ տարբերակ լրացնում էր նախորդը: Դելֆիի մեծամասնության տարբերակները հասանելի են մի քանի տարբերակով `Ստանդարտ` ստանդարտ, Մասնագիտական ​​`մասնագիտական, Հաճախորդ / Սերվեր - հաճախորդ / սերվեր, Ձեռնարկություն` առարկայական ոլորտների տվյալների շտեմարանների մշակում: Տարբերակները հիմնականում տարբերվում են տվյալների բազայի կառավարման համակարգերի հասանելիության տարբեր մակարդակներով: Վերջին տարբերակները Client / Server և Enterprise են, որոնք ամենահզորն են այս առումով:

Դելֆին մի քանի կարևոր տեխնոլոգիաների համադրություն է.

Մեքենայի կոդի բարձր կատարողական կազմող

Օբյեկտին ուղղված բաղադրիչի մոդել

Softwareրագրային ապահովման նախատիպերից ծրագրերի տեսողական (և, հետևաբար, գերարագ) կառուցում

Մատչելի գործիքներ ՝ տվյալների շտեմարաններ ստեղծելու համար

Էկրանի կառուցվածքը Դելֆի միջավայրում:

Դելֆիին զանգելուց հետո Windows- ում հայտնվում են մի քանի պատուհաններ (նկ. 1).

Հիմնական պատուհանը,

Ձևաթղթի պատուհան,

Օբյեկտի տեսուչի պատուհան,

Օբյեկտի ծառի պատուհան,

Codeրագրի կոդի պատուհանը:


Նկար 1 Էկրանի կառուցվածքը Դելֆի միջավայրում:

Դիտարկենք էկրանի վերին մասում գտնվող պատկերներից կազմված Delphi համակարգի գրաֆիկական ընտրացանկը, որը կազմված է պատկերակներից: Գրաֆիկական ընտրացանկի ձախ կողմում կա գործիքագոտի: Գործիքները կատարում են հիմնական ընտրացանկի որոշ հրամաններ. Նման կրկնօրինակումը հաճախ կիրառվում է գործիքների միջավայրում: Այս վահանակն ունի, մասնավորապես, նախագիծ սկավառակի վրա պահելու, նախագիծ բացելու կոճակ, ծրագիրը կատարման համար կոճակ:

Գրաֆիկական ընտրացանկի հաջորդ մասը բաղադրիչների ներկապնակ է `դասավորված պատկերակների հավաքածուների տեսքով: Հավաքածուների հավաքածուն կազմում է Տեսողական բաղադրիչների գրադարանը (VCL): Կան բաղադրիչների մի քանի կատեգորիաներ, որոնցից յուրաքանչյուրը կապված է տարբեր ներդիրի հետ: Օգտագործելով Բաղադրիչների պալիտրա, մենք ձևակերպելու ենք բաղադրիչներ (կամ առարկաներ) ձևի վրա:

Որպեսզի օբյեկտը ձևի մեջ դնելու համար հարկավոր է «սեղմել» ներկապնակի համապատասխան կոճակի վրա, այնուհետև կտտացնել ձևի պատուհանի ներսում. Օբյեկտը կտեղադրվի ձևի նշված վայրում `բաղադրիչի օրինակ ընտրված տեսակը:

Օբյեկտի տեսուչը պատուհան է, որը ցուցադրում է ձևի կամ ձևի վրա տեղադրված օբյեկտի հատկությունները: Մեր դեպքում, ընթացիկ բաղադրիչը ձևն է, ուստի նկարի հատկությունների պատուհանը ցույց է տալիս ձևի հատկությունները:

Հատկությունների պատուհանը ունի երկու ներդիր ՝ Հատկություններ և Իրադարձություններ, որոնց օգնությամբ պատուհանում կարող եք ստանալ տողեր (դաշտեր) ՝ համապատասխանաբար բաղադրիչի (այսինքն ՝ օբյեկտի կամ ձևի) հատկությունները և դրա արձագանքը տարբեր իրադարձությունները: Հատկությունը սահմանում է բաղադրիչի այնպիսի հատկանիշ, ինչպիսին է կոճակի չափը կամ պիտակի տառատեսակը: Միջոցառումը նշանակում է, օրինակ, այնպիսի գործողություններ, ինչպիսիք են կոճակը սեղմելը կամ պատուհանը փակելը:

Օբյեկտների ծառի պատուհանը հայտնվել է 6 -րդ տարբերակում և նախատեսված է ակտիվ ձևի կամ ակտիվ տվյալների մոդուլում տեղադրված առանձին օբյեկտների միջև կապերի տեսողական ցուցադրման համար:

Codeրագրի ծածկագրի պատուհանը նախատեսված է ծրագրի տեքստ ստեղծելու և խմբագրելու համար: Սկզբում այն ​​պարունակում է նվազագույն աղբյուրային կոդ:

Դելֆի նախագծեր:Դելֆի նախագիծը բաղկացած է ձևերից, մոդուլներից, նախագծի պարամետրերի պարամետրերից, ռեսուրսներից և այլն: Այս բոլոր տեղեկությունները տեղակայված են ֆայլերում: Այս ֆայլերից շատերն ինքնաբերաբար գեներացվում են Delphi- ի կողմից, երբ ստեղծում եք ձեր ծրագիրը: Ռեսուրսներ, ինչպիսիք են bitmaps- ը, պատկերակները և այլն, գտնվում են ֆայլերում, որոնք դուք ձեռք եք բերում այլ աղբյուրներից կամ ստեղծում եք ձեր տրամադրության տակ եղած բազմաթիվ գործիքներով և ռեսուրսների խմբագիրներով: Բացի այդ, կոմպիլյատորը ստեղծում է նաև ֆայլեր:

Դիզայնի ընթացքում ստեղծված ֆայլերը ներկայացված են աղյուսակում: 3

Դիմումի հիմնական մասը նախագծի ֆայլն է (.dpr), որը պարունակում է Object Pascal ծածկագիրը, որը սկսում է ծրագիրը և նախաստորագրում այլ մոդուլներ: Այն ստեղծվում և փոփոխվում է Delphi- ի կողմից ինքնաբերաբար ՝ հավելվածի մշակման ընթացքում: Պահպանման ընթացքում նախագծի ֆայլին տրված անունը դառնում է գործարկվող ֆայլի անուն:

Նախագծի ֆայլ (.dpr) Այս տեքստային ֆայլը օգտագործվում է ձևերի և մոդուլների մասին տեղեկատվություն պահելու համար: Այն պարունակում է հայտարարություններ կատարման համար ծրագրեր նախաստորագրելու և գործարկելու համար
Մոդուլի ֆայլ (.pas) Ձեր ստեղծած յուրաքանչյուր ձև ունի համապատասխան մոդուլային տեքստային ֆայլ, որն օգտագործվում է ծածկագիրը պահելու համար: Դուք կարող եք ստեղծել մոդուլներ, որոնք կապված չեն ձևերի հետ: Դելֆիի գործառույթներից և ընթացակարգերից շատերը պահվում են մոդուլներում:
Ձևի ֆայլ (.dfm) Սա երկուական կամ տեքստային ֆայլ է, որը Դելֆին ստեղծում է ձևերի մասին տեղեկատվություն պահելու համար: Յուրաքանչյուր ձևի ֆայլ ունի համապատասխան մոդուլային ֆայլ (.pas)
Optionsրագրի ընտրանքների ֆայլ (.dfo) Այս ֆայլը պահում է ծրագրի պարամետրերի կարգավորումները
Ռեսուրսների ֆայլ (.res) Այս երկուական ֆայլը պարունակում է ծրագրի կողմից օգտագործվող պատկերակը և այլ ռեսուրսներ:
Պահուստային ֆայլեր (. ~ Dpr, ~ Dfm, ~ Pas) Սրանք, համապատասխանաբար, նախագծի, ձևի և մոդուլի ֆայլերի պահուստային ֆայլեր են: Եթե ​​նախագծում ինչ -որ բան անհույս կոռումպացված է, կարող եք համապատասխանաբար փոխել այս ֆայլերի ընդարձակումները և դրանով իսկ վերադառնալ նախորդ անկաշառ տարբերակին:
Պատուհանի կազմաձևման ֆայլ (.dsk) Ֆայլը պահում է զարգացման միջավայրի բոլոր պատուհանների կազմաձևը
Կատարելի ֆայլ (.exe) Սա հավելվածի գործարկվող ֆայլն է: Այն ինքնուրույն գործարկվող ֆայլ է, որը այլ բան չի պահանջում, եթե չեք օգտագործում DLL, OCX և այլն գրադարանները:
Մոդուլի օբյեկտի ֆայլ (.dcu) Սա կազմված մոդուլի ֆայլ է (.pas), որը կապված է վերջնական գործարկվող ֆայլի հետ:

Աղյուսակ 3. Նախագծման ընթացքում ստեղծված ֆայլեր:


Ներկայումս թողարկվել է Delphi համակարգի 7 -րդ տարբերակը: Ռեկորդային ժամանակում այն ​​դարձել է աշխարհում ամենահայտնի ծրագրավորման համակարգերից մեկը: Աշխարհի շատ ծրագրավորողներ հաստատակամորեն հավատարիմ են Delphi- ին որպես գործիք օգտագործելու բարձր արդյունավետ հաճախորդներ / սերվերային ծրագրեր:

Էվոլյուցիայի ծառի ծրագրավորում

Գծապատկեր 1 Էվոլյուցիայի ծառի ծրագրավորում

6. Մատենագիտություն:

1. Ի.Տ. Areարեցկայա, Բ.Գ. Կոլոդյաժնի, Ա.Ն. Գուրժի, Ա.Յու. Սոկոլովը: Ինֆորմատիկա 10-11-րդ դասարան: - Կ. ՝ «Ֆորում», 2001

1. Էկրանի կառուցվածքը Դելֆի միջավայրում (http://textbook.keldysh.ru/distant/delphi/del_2.htm)

2. Պատրիկեև Յու. Ն. «Օբյեկտին ուղղված դիզայն» (http://www.object.newmail.ru/oop1.html)

3. Ս. Նեմնյուգին, Լ. Պերկոլաբ «Ուսումնասիրելով TurboPascal» - SPb.: Peter, 2002:

2. Հ.Մ. Daytel. Ինչպես ծրագրավորել Ս. - Մ .: «Binom», 2000

3. Ինտերնետային էջ ՝ http://ru.wikipedia.org/wiki/LISP

Դասագիրքը բաղկացած է երկու բաժնից ՝ տեսական և գործնական: Դասագրքի տեսական մասը սահմանում է ժամանակակից ինֆորմատիկայի հիմքերը `որպես բարդ գիտատեխնիկական կարգապահություն, ներառյալ տեղեկատվության և տեղեկատվական գործընթացների կառուցվածքի և ընդհանուր հատկությունների ուսումնասիրությունը, հաշվիչ սարքերի կառուցման ընդհանուր սկզբունքները, քննարկվում է տեղեկատվության կազմակերպումն ու գործունեությունը: և համակարգչային ցանցեր, համակարգչային անվտանգություն, ներկայացնում է ալգորիթմավորման և ծրագրավորման, տվյալների շտեմարանների և DBMS- ի հիմնական հասկացությունները: Ստացված տեսական գիտելիքները վերահսկելու համար առաջարկվում են հարցեր ինքնաքննության և թեստերի համար: Գործնական մասը ներառում է հիմնական գործողությունների ալգորիթմները ՝ Microsoft Word- ի, Microsoft Excel- ի աղյուսակների խմբագիր, Microsoft Power Point շնորհանդեսների ստեղծման, արխիվացման ծրագրերի և հակավիրուսային ծրագրերի հետ աշխատելիս: Որպես յուրաքանչյուր բաժնի վերջում անցած գործնական դասընթացի համախմբում, առաջարկվում է կատարել անկախ աշխատանք:

Գիրք:

Այս էջի բաժինները.

8.2. Programրագրավորման լեզուներ

Programրագրավորման տեսակները

Համակարգչային տեխնոլոգիայի առաջընթացը որոշեց ալգորիթմներ գրելու համար մի շարք նոր նշանային համակարգերի `ծրագրավորման լեզուների առաջացման գործընթացը: Նման լեզվի արտաքին տեսքի իմաստը լրացուցիչ տեղեկատվության համար հաշվարկային բանաձևերի հագեցած հավաքածու է, որը այս հավաքածուն վերածում է ալգորիթմի:

Programրագրավորման լեզուները արհեստականորեն ստեղծված լեզուներ են: Նրանք տարբերվում են բնականից սահմանափակ թվով «բառերով» և հրամաններ (օպերատորներ) գրելու շատ խիստ կանոններով: Նման պահանջների ամբողջությունը կազմում է ծրագրավորման լեզվի շարահյուսությունը, և յուրաքանչյուր հրամանի և այլ լեզուների կառուցվածքների իմաստը դրա իմաստաբանությունն է:

Programրագրավորման լեզուները անձի և համակարգչի միջև հաղորդակցության պաշտոնական լեզուներ են, որոնք նախատեսված են նկարագրելու մի շարք հրահանգներ, որոնց իրականացումը ապահովում է պահանջվող խնդրի ճիշտ լուծումը: Նրանց հիմնական դերը տեղեկատվության մշակման գործունեության պլանավորումն է: Programրագրավորման ցանկացած լեզու հիմնված է հասկացությունների համակարգի վրա, և դրա օգնությամբ մարդը կարող է արտահայտել իր մտքերը:

Շատ սերտ է կապը մեր մտածած լեզվի / ծրագրի և մեր երևակայության մեջ պատկերացնող խնդիրների ու լուծումների միջև: Այդ իսկ պատճառով, լեզվի հատկությունները սահմանափակելով միայն ծրագրավորողի սխալները վերացնելու նպատակով, լավագույն դեպքում վտանգավոր է: Ինչ վերաբերում է բնական լեզուներին, գոնե երկլեզու լինելը հսկայական օգուտ ունի: Լեզուն ծրագրավորողին տրամադրում է մի շարք հայեցակարգային գործիքներ, եթե դրանք չեն կատարում առաջադրանքը, ապա դրանք պարզապես անտեսվում են: Օրինակ, ցուցիչի հայեցակարգի խիստ սահմանափակումները ծրագրավորողին ստիպում են օգտագործել վեկտորներ և ամբողջ թվաբանություն `կառուցվածքներ, ցուցիչներ և այլն:

Կարող է զարմանալի թվալ, բայց որոշակի համակարգիչ ընդունակ է գործարկել իր սեփական մեքենայական լեզվով գրված ծրագրեր: Գոյություն ունեն նույնքան տարբեր մեքենայական լեզուներ, որքան համակարգիչներ, բայց դրանք բոլորը նույն գաղափարի տեսակներն են. Երկուական թվերի վրա պարզ գործողությունները կատարվում են կայծակնային արագությամբ:

Մեքենայից կախված ծրագրավորման լեզուներ

Մեքենայից կախված լեզուներն այն լեզուներն են, որոնց օպերատորների և գրաֆիկական միջոցների հավաքածուները էապես կախված են համակարգչի առանձնահատկություններից (ներքին լեզու, հիշողության կառուցվածք և այլն): Այս լեզուները կոչվում են ցածր մակարդակի ծրագրավորման լեզուներ: Նրանք կենտրոնացած են որոշակի տիպի պրոցեսորի վրա և հաշվի են առնում դրա առանձնահատկությունները: Նման լեզվի օպերատորները մոտ են մեքենայի կոդին և կենտրոնացած են պրոցեսորի հատուկ ցուցումների վրա, այսինքն ՝ այս լեզուն մեքենայից կախված է: Ածր մակարդակի լեզուն ժողովն է: Նրա օգնությամբ ստեղծվում են շատ արդյունավետ և կոմպակտ ծրագրեր, քանի որ մշակողը մուտք է ստանում պրոցեսորի բոլոր հնարավորությունները: Նման լեզուներն օգտագործվում են համակարգային փոքր ծրագրեր, սարքերի վարորդներ, գրադարաններ գրելու համար: Այն դեպքերում, երբ RAM- ի և ROM- ի քանակը փոքր է (մի քանի կիլոբայթերի շրջանում), հավաքողին այլընտրանք չկա: Հենց այս ծրագրավորման լեզուներն են թույլ տալիս ստանալ ամենակարճ և ամենաարագ ծրագրի ծածկագիրը:

Մեքենայից անկախ ծրագրավորման լեզուներ

Մեքենայից անկախ լեզուները խնդիրներ լուծելու ալգորիթմների և մշակման ենթակա տեղեկատվության նկարագրման միջոց են: Դրանք հարմար են օգտագործողների լայն շրջանակի համար և չեն պահանջում նրանցից իմանալ համակարգչի և հաշվիչ համակարգի աշխատանքը կազմակերպելու առանձնահատկությունները:

Նման լեզուները կոչվում են բարձր մակարդակի ծրագրավորման լեզուներ: Նման լեզուներով գրված ծրագրերը արտահայտությունների հաջորդականություն են `կառուցված ըստ լեզվի կանոնների (առաջադրանքներ, հատվածներ, բլոկներ և այլն): Լեզուների օպերատորները նկարագրում են այն գործողությունները, որոնք համակարգը պետք է կատարի ծրագիրը մեքենայական լեզվով թարգմանելուց հետո:

Հրամանների հաջորդականությունները (ընթացակարգեր, ենթածրագրեր), որոնք հաճախ օգտագործվում են մեքենայական ծրագրերում, ներկայացված են բարձր մակարդակի լեզուներով առանձին հայտարարություններով: Րագրավորողը հնարավորություն ստացավ ոչ մանրամասն նկարագրել մեքենայական ցուցումների մակարդակով հաշվարկային գործընթացը, այլ կենտրոնանալ ալգորիթմի հիմնական հատկանիշների վրա:

Բարձր մակարդակի ծրագրավորման լեզուները շատ ավելի մոտ և հասկանալի են մարդկանց: Նրանք հաշվի չեն առնում համակարգչային կոնկրետ ճարտարապետության առանձնահատկությունները, այսինքն ՝ այդ լեզուները մեքենայից անկախ են: Սա հնարավորություն է տալիս օգտագործել ծրագիր, որը մեկ անգամ գրված է նման լեզվով տարբեր համակարգիչների վրա:

Հնարավոր է ծրագրեր գրել անմիջապես մեքենայական լեզվով, չնայած դա դժվար է: Համակարգչային արշալույսին (1950 -ականների սկզբին) մեքենայական լեզուն միակ լեզուն էր, որն ավելի մեծ մարդ դեռ չէր հորինել: Կոշտ մեքենայական ծրագրավորման լեզվից ծրագրավորողներին փրկելու համար ստեղծվեցին բարձր մակարդակի լեզուներ (այսինքն ՝ ոչ մեքենայական լեզուներ), որոնք մի տեսակ կապող կամուրջ դարձան մարդկանց և համակարգչի մեքենայական լեզուների միջև: Բարձր մակարդակի լեզուներն աշխատում են թարգմանական ծրագրերի միջոցով, որոնք ներարկում են «սկզբնաղբյուր» (անգլերեն բառերի և մաթեմատիկական արտահայտությունների հիբրիդ, որը մեքենան կարդում է) և, ի վերջո, ստիպում համակարգչին կատարել համապատասխան հրահանգները, որոնք տրված են մեքենայական լեզվով:

Բարձր մակարդակի ծրագրավորման լեզուները ներառում են հետևյալը ՝ Fortran, Cobol, Algol, Pascal, Basic, C, C ++, Java, HTML, Perl և այլն:

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

Գոյություն ունեն թարգմանիչների երկու հիմնական տեսակներ (Նկար 8.4) ՝ թարգմանիչներ, որոնք սկանավորում և վավերացնում են աղբյուրի կոդը մեկ քայլով, և կազմողներ, որոնք սկանավորում են սկզբնաղբյուրը ՝ մեքենայական լեզվով ծրագրի տեքստ արտադրելու համար, որն այնուհետև կատարվում է առանձին:


Նկար 8.4. Թարգմանիչների տեսակները

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

Թարգմանչի իրականացման հաճախակի մեջբերվող առավելությունն այն է, որ այն թույլ է տալիս «ուղիղ ռեժիմ»: Անմիջական ռեժիմը թույլ է տալիս համակարգչին խնդիր առաջացնել և պատասխանը վերադարձնում է ձեզ ENTER ստեղնը սեղմելուն պես: Բացի այդ, թարգմանիչներն ունեն հատուկ հատկանիշներ, որոնք հեշտացնում են վրիպազերծումը: Դուք կարող եք, օրինակ, ընդհատել թարգմանչի ծրագրի մշակումը, ցուցադրել որոշակի փոփոխականների բովանդակությունը, շրջանցել ծրագիրը և այնուհետև շարունակել կատարումը: Այնուամենայնիվ, թարգմանված լեզուներն ունեն թերություններ: Անհրաժեշտ է, օրինակ, անընդհատ ունենալ թարգմանչի պատճենը հիշողության մեջ, մինչդեռ թարգմանչի շատ հնարավորություններ, և, հետևաբար, դրա հնարավորությունները, կարող են անհրաժեշտ չլինել որոշակի ծրագրի կատարման համար: Programրագրի հայտարարությունները կատարելիս թարգմանիչը նախ պետք է սկանավորի յուրաքանչյուր հայտարարություն `դրա բովանդակությունը կարդալու համար (ինչ է ինձանից պահանջում այս անձը), և ապա կատարել պահանջվող գործողությունը: Օղակների մեջ գտնվող օպերատորները չափազանց շատ են սկանավորվում:

Կազմողը մեքենայական լեզվի թարգմանիչ է, որը կարդում է սկզբնական տեքստը: Այն գնահատում է այն ըստ լեզվի շարահյուսական կառուցվածքի և թարգմանում այն ​​մեքենայական լեզվի: Այլ կերպ ասած, կոմպիլյատորը չի կատարում ծրագրեր, այլ կառուցում է դրանք: Թարգմանիչները չեն կարող տարանջատվել իրենց կողմից իրականացվող ծրագրերից, կազմողները կատարում են իրենց աշխատանքը և հեռանում են դեպքի վայրից: Աշխատելով այնպիսի լեզվով, ինչպիսին է Turbo BASIC- ը, դուք պետք է մտածեք ձեր ծրագրերի մասին `նրանց կյանքի երկու հիմնական փուլի` կազմման և գործարկման ժամանակահատվածի առումով: Programsրագրերի մեծ մասը կաշխատի չորսից տասը անգամ ավելի արագ, քան թարգմանիչին համարժեքները: Եթե ​​աշխատում եք այն բարելավելու վրա, կարող եք հասնել 100 անգամ կատարողականի բարելավման: Մետաղադրամի հակառակ կողմն այն է, որ այն ծրագրերը, որոնք իրենց ժամանակի մեծ մասն անցկացնում են սկավառակների վրա ֆայլերի հետ շփման մեջ կամ սպասում են մուտքի, չեն կարողանա արագության որևէ տպավորիչ աճ ցույց տալ:

Creatingրագրի ստեղծման գործընթացը կոչվում է ծրագրավորում:

Կան ծրագրավորման մի քանի տեսակներ:

Ալգորիթմական կամ մոդուլային

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

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

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

Կառուցվածքային ծրագրավորում

Միջին չափի ծրագրեր (սկզբնական կոդի մի քանի հազար տող) ստեղծելիս օգտագործվում է համակարգված ծրագրավորում, որի գաղափարն այն է, որ ծրագրի կառուցվածքը պետք է արտացոլի լուծվող խնդրի կառուցվածքը, որպեսզի լուծման ալգորիթմը հստակ տեսանելի լինի սկզբնաղբյուր տեքստից: Դա անելու համար դուք պետք է միջոցներ ունենաք ծրագիր ստեղծելու համար ոչ միայն երեք պարզ օպերատորների, այլև այն միջոցների օգնությամբ, որոնք ավելի ճշգրիտ են արտացոլում ալգորիթմի հատուկ կառուցվածքը: Այդ նպատակով ծրագրավորման մեջ ներդրվել է ենթածրագրի հասկացությունը `օպերատորների ամբողջություն, որոնք կատարում են ցանկալի գործողությունները և կախված չեն աղբյուրի կոդի այլ մասերից: Isրագիրը բաժանված է բազմաթիվ փոքր ենթածրագրերի (մինչև 50 հայտարարություն վերցնող `ենթաշերտի նպատակը արագորեն հասկանալու համար կարևոր շեմ), որոնցից յուրաքանչյուրը կատարում է սկզբնական առաջադրանքով նախատեսված գործողություններից մեկը: Այս ենթածրագրերը համատեղելով ՝ հնարավոր է ձևավորել վերջնական ալգորիթմը ոչ թե պարզ օպերատորներից, այլ որոշակի իմաստային բեռ ունեցող կոդի ամբողջական բլոկներից, և նման բլոկներին կարող եք անդրադառնալ անունով: Ստացվում է, որ ենթածրագրերը նոր օպերատորներ են կամ լեզվի գործողություններ, որոնք սահմանում է ծրագրավորողը:

Ենթածրագրեր օգտագործելու ունակությունը ծրագրավորման լեզուն դասակարգում է որպես ընթացակարգային լեզու:

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

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

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

Ենթածրագրերի շատ կարևոր բնութագիրը դրանց բազմակի օգտագործումն է: Ինտեգրված ծրագրավորման համակարգերը գալիս են սովորական գրադարանների մեծ գրադարաններով, որոնք կարող են էապես բարձրացնել արտադրողականությունը ՝ օգտագործելով ուրիշի աշխատանքը ՝ սովորական օգտագործվող ռեժիմներ ստեղծելու համար:

Կան երկու տիպի ենթածրագրեր `ընթացակարգեր և գործառույթներ: Նրանք տարբերվում են նրանով, որ ընթացակարգը պարզապես կատարում է հայտարարությունների խումբ, և գործառույթը, ի լրումն, հաշվարկում է որոշակի արժեք և այն հետ է փոխանցում հիմնական ծրագրին (վերադարձնում է արժեք): Այս արժեքը որոշակի տիպի է (ֆունկցիան ասվում է այս և այն տեսակի):

Ենթածրագրերը կատարում են երեք կարևոր առաջադրանք.

Վերացրեք ծրագրի տեքստում նմանատիպ հատվածներ բազմիցս կրկնելու անհրաժեշտությունը.

Բարելավել ծրագրի կառուցվածքը ՝ ավելի դյուրին դարձնելով դրա ընկալումը.

Increրագրավորման փոփոխությունների ընթացքում բարձրացնել դիմադրողականությունը ծրագրավորման սխալների և չնախատեսված հետևանքների նկատմամբ:

Օբյեկտ կողմնորոշված ​​ծրագրավորում

1980-ականների կեսերին ծրագրավորման մեջ ի հայտ եկավ նոր ուղղություն ՝ հիմնված օբյեկտի հասկացության վրա: Մինչ այդ ժամանակաշրջանը, խոշոր համակարգեր ստեղծելու հնարավորության հիմնական սահմանափակումները դրվում էին տվյալների ծրագրում և դրանց մշակման մեթոդների անմիաբանության մեջ:

Շրջակա աշխարհի իրական օբյեկտներն ունեն երեք հիմնական բնութագիր. Նրանք ունեն մի շարք հատկություններ, նրանք ունակ են տարբեր կերպ փոխել այդ հատկությունները և արձագանքել իրադարձություններին, որոնք տեղի են ունենում ինչպես շրջապատող աշխարհում, այնպես էլ հենց օբյեկտի ներսում: Formրագրավորման լեզուներում այս ձևով է, որ օբյեկտի հասկացությունն իրականացվում է որպես հատկությունների ամբողջություն (այս օբյեկտին բնորոշ տվյալների կառուցվածքներ), դրանց մշակման մեթոդներ (հատկությունների փոփոխման ենթածրագրեր) և իրադարձություններ, որոնց կարող է արձագանքել այս օբյեկտը և որոնք, որպես կանոն, հանգեցնում են օբյեկտի փոփոխվող հատկությունների:

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

Օբյեկտները կարող են ունենալ նույն կառուցվածքը և տարբերվել միայն գույքի արժեքներով: Նման դեպքերում ծրագրում ստեղծվում է նոր տեսակ ՝ հիմնված մեկ օբյեկտի կառուցվածքի վրա: Այն կոչվում է դաս, և յուրաքանչյուր կոնկրետ օբյեկտ, որն ունի այս դասի կառուցվածքը, կոչվում է դասի օրինակ:

Օբյեկտին ուղղված ծրագրավորման լեզուն բնութագրվում է երեք հիմնական հատկություններով.

1. Encapsulation - տվյալների համակցում մեկ դասի մեթոդների հետ.

Programրագրավորման լեզուների սերունդներ

Programրագրավորման անհրաժեշտությունը ծագեց նույնիսկ ծրագրավորվող համակարգիչներից առաջ: Հայտնի է, որ 18 -րդ դարից, օրինակ, եղել են փայտյա տախտակներով ծրագրավորված ջուլհակներ, որոնցում ճիշտ տեղերում անցքեր են կատարվել:

Mingրագրավորման զարգացմանը նպաստեց 1945 թվականին հրապարակված Johnոն Ֆոն Նեյմանի գաղափարը, որում նա նկարագրեց համակարգիչ, որտեղ ծրագիրը ինքնին տվյալների հետ միասին պահվում է հիշողության մեջ:

Առաջին սերնդի ծրագրավորման լեզուն մեքենայի կոդն է: Մեքենայի կոդը բաղկացած է հրահանգներից, որոնք կարող է կատարել համակարգիչը (պրոցեսորը) (ինչպես նաև այդ հրահանգներին պատկանող տվյալները): Մեքենայի կոդով ծրագրելիս ծրագրավորողը պետք է իր ծրագիրը գրեր երկուական կոդով, որպեսզի պրոցեսորը հասկանա և կատարի այն: Ըստ էության, նման ծրագրավորումը պահանջում է սարքավորումների լավ իմացություն և հասկացում, քանի որ ծրագրավորման գործընթացում անհրաժեշտ է իմանալ, թե ինչ կարող է անել պրոցեսորը, որտեղ են գտնվում մուտքի / ելքի սարքերը, ինչպես նաև ինչպես հաղորդակցվել դրանց հետ: և որքան ժամանակ կծախսվի այս կամ այն ​​վիրահատության վրա: Այսպիսով, մեքենայի ծածկագիրը շատ սերտորեն զուգորդված է այն ապարատով, որի վրա կաշխատի համապատասխան ծրագիրը: Մինչ օրս մեքենայի կոդը չի անհետացել համակարգիչներից, ցածր մակարդակի (սարքավորման մակարդակի) բոլոր գործողությունները դեռ տեղի են ունենում մեքենայի կոդի մեջ, այսինքն. Ինչ ծրագրավորման լեզվով էլ գրված է ծրագիրը, այն ի վերջո վերածվում է մեքենայի կոդի, որը սարքավորումները կարող են հասկանալ:

Համագումարի լեզուները համարվում են երկրորդ սերնդի լեզուներ: Մեքենայի կոդի դեպքում ամբողջ ծրագրավորումը տեղի էր ունենում երկուական կոդով, ուստի կարդալը և կարգաբերելը շատ ժամանակատար էր: Հավաքման լեզվով ծրագրելիս մարդուն հասկանալի տեսքով հանձնարարականներ են տրվում: Programրագրավորումն ինքնին շատ նման է մեքենայական կոդով ծրագրավորմանը, քանի որ հրահանգները նույնն են, ինչ մեքենայի կոդում (միայն այլ ձևով `բառերի տեսքով): Հավաքման լեզվով գրված ծրագիրը հետևյալն է.

ՄՈՎ ԱԼ, 19

ԱՎԵԼԱ ALՆԵԼ ԱԼ, 4

ԴՈUTՐՍ 2

Այս ծածկագրի կտորը վերագրում է AL գրանցիչի արժեքը 19 (սովորաբար արժեքները ներկայացված են տասնվեցական համակարգում թվերով), ավելացնում է 4 թիվը AL ռեգիստրի արժեքին, այնուհետև ելքը ուղարկում 2: Գրավոր ծրագիրը հավաքողից թարգմանվում է մեքենայի կոդի, և դրանից հետո պրոցեսորը կարող է սկսել իր կատարումը ...

Հավաքման լեզուները և մեքենայի ծածկագիրը համարվում են ցածր մակարդակի լեզուներ:

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

Հայտնի և օգտագործվող ծրագրավորման լեզուների մեծ մասը երրորդ սերնդի լեզուներից են, օրինակ.

FORTRAN (IBM Mathematical FORmula TRANslating System) ծրագրավորման լեզու է, որը մշակվել է 1950 -ականներին մաթեմատիկական հաշվողական և գիտական ​​նպատակներով:

COBOL (COMON Business Oriented Language) - Օբյեկտիվ ուղղված ծրագրավորման լեզու, որը ստեղծվել է 1959 թվականին, հիմնականում բիզնեսի կարիքները բավարարող ծրագրեր գրելու համար:

ՀԻՄՆԱԿԱՆ (սկսնակների համընդհանուր խորհրդանշական հրահանգների ծածկագիր) - 1963 թվականին մշակված լեզու, որն ի սկզբանե ստեղծվել է այնպես, որ ինժեներները կարողանան համակարգչում կատարել տարբեր մոդելավորում:

Պասկալ - 1970 -ականներին ստեղծված ծրագրավորման լեզու, որը ստեղծվել է ծրագրավորում սովորեցնելու համար:

C - անունը գալիս է նրանից, որ այս լեզուն հիմնականում հիմնված էր B. կոչվող լեզվի վրա: Այն ստեղծվել է օպերացիոն համակարգեր գրելու համար (UNIX- ի հետ համատեղելի բազմաթիվ օպերացիոն համակարգեր գրված են այս լեզվով), երկար ժամանակ եղել է ծրագրավորման ամենահայտնի լեզուներից մեկը: ,

C ++-ը օբյեկտային կողմնորոշված ​​C է:

Java- ն ծրագրավորման լեզու է, որը մշակվել է C ++ - ի հիման վրա:

Visual Basic, Delphi, Python, C # բոլորը երրորդ սերնդի լեզուներ են: Երրորդ սերնդի ծրագրավորման շատ լեզուներ ավելի երիտասարդ են (ավելի նոր), քան չորրորդ և հինգերորդ սերնդի լեզուները:

4 -րդ սերնդի ծրագրավորման լեզուները նախագծված են այնպես, որ դրանք հեշտ լինի սովորել և օգտագործել: Այս լեզուները հակված են ոչ պրոցեդուրայի ՝ կենտրոնացած մեկ դիմումի վրա: Չորրորդ սերնդի ծրագրավորման լեզվի օրինակ է SQL (Structured Query Language): Այն ավելի շատ ասում է «ինչ անել» և ավելի քիչ «ինչպես անել»: Հինգերորդ սերնդի լեզուները ստեղծվել են արհեստական ​​բանականության համակարգերի զարգացման և այս թեմայի հետ կապված խնդիրների լուծման համար:

Typesրագրավորման լեզուների հիմնական տեսակները:

Ի տարբերություն ծրագրավորման լեզուների սերունդների, հիմնական տեսակները նկարագրում են, թե ինչպես կարելի է ծրագրավորել լեզուն: Հիմնական հիմնական տեսակները ներառում են `ընթացակարգային, գործառական և օբյեկտի վրա հիմնված ծրագրավորման լեզուներ:

Գործընթացային ծրագրավորման լեզուներում ծրագրավորման լեզուն նկարագրում է գործողությունները և դրանց կատարման կարգը, ինչպես նաև այդ գործողությունները բաժանվում են խմբերի (ենթածրագրեր): Ընթացակարգերը, իր հերթին, ստեղծում են կոդի կառուցվածքներ, որոնք կարող են նորից օգտագործվել: Functionalրագրավորման ֆունկցիոնալ լեզուներում ամբողջ լուծումը նկարագրվում է գործառույթների միջոցով: Օբյեկտ կողմնորոշված ​​ծրագրավորման լեզուներում խնդիրը լուծվում է դասարաններում նկարագրված գործառույթների և տվյալների կառուցվածքների միջոցով (անգլերենի դաս): Յուրաքանչյուր դասարանից կարող եք ստեղծել օբյեկտ, որը կունենա հատկությունների և / կամ մեթոդների շարք:

Հատկությունները արժեքներ են, որոնք օբյեկտը կարող է պարունակել և որոնք կարող են ազդել օբյեկտի վարքագծի վրա: Օրինակ, «մխիթարել պատուհանի» դասի հիման վրա կարող եք ստեղծել «console1» օբյեկտ, որը օգտագործողի համար տեսանելի կլինի որպես մեկ վահանակի պատուհան: Այս օբյեկտն ունի որոշ հատկություններ (ցուցադրված, թաքնված, լայնություն, բարձրություն, տեքստի գույնը վահանակի պատուհանում, ֆոնի գույնը և այլն), այս հատկությունները փոխելով ՝ կարող եք փոխել տվյալ դեպքում օբյեկտի արտաքին տեսքը:

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

Երկրորդ օրինակը դասի «տեքստային փոփոխական» է, որը ստեղծում է այս դասի հիման վրա «ProstoText» օբյեկտ, ստեղծում է մեկ տեքստային փոփոխական, որի հիմնական հատկությունը պահպանված տեքստի արժեքն է, բայց իրականում այս օբյեկտն ունի ավելի շատ հատկություններ ( օրինակ ՝ պահպանված տեքստի արժեքի երկարությունը): Բացի այդ, տեքստային փոփոխականը պետք է ունենա մեթոդների որոշակի փաթեթ (պահպանված արժեքի նիշերը փոխեք փոքրատառ, մեծատառ, ջնջեք որոշ նիշեր և այլն):

Հետևաբար, դասերը նկարագրելով և առարկաները շահարկելով, հնարավոր է կազմել շատ բարդ ծրագրեր և կատարել տարբեր գործողություններ:

Մեկնաբանված և կազմված լեզուներ

Նախքան համակարգիչը կարող է իրականացնել բարձր մակարդակի լեզվով գրված ծրագիր, այն պետք է «թարգմանվի» այն համակարգչին հասկանալի լեզվով, այսինքն. մեքենայի կոդը: Այս թարգմանչական գործընթացը կոչվում է թարգմանություն, իսկ թարգմանիչ ծրագրակազմը `թարգմանիչ: Թարգմանիչները բաժանվում են երկու դասի ՝ կազմողների և թարգմանիչների:

Կոմպիլյացիան այն է, երբ մեքենայի կոդով ծրագիրը (որը կոչվում է կոմպիլյատոր) ծրագրավորման լեզվով գրված մեկ այլ ծրագիր փոխակերպում է մեքենայի կոդի: Դրանից հետո ծրագրի արդյունքում ստացված մեքենայի կոդը կատարվում է: Կազմված լեզուների օրինակներ են ՝ C, Fortran, Pascal:

Մեկնաբանությունն այն է, որ ծրագիրը մեքենայի կոդով (թարգմանիչ) գրում է ծրագրի ֆայլը ներքին հիշողության մեջ և սկսում այն ​​տող առ տող կատարել: Օրինակ է հին ՀԻՄՆԱԿԱՆ լեզուն:

Programրագիրը մեկնաբանելը մոտ 10-200 անգամ ավելի դանդաղ է, քան կազմված կոդը կատարելը: Ի հակադրություն, մեկնաբանված ծրագրի կարգաբերում (ծրագրից սխալների հեռացում) սովորաբար ավելի հեշտ է, քան թարգմանված ծրագրի դեպքում: Որոշ հարմար դեպքերում և ձեռքի տակ եղած գործիքների առկայությամբ, այդ տարբերությունները կարող են շատ ավելի փոքր լինել: Լավ օրինակ է Java- ն, որն օպտիմիզացված և կազմված է միջին մակարդակում, որը գործարկման ժամանակ թարգմանվում է Just-in-Time կոմպիլյատորի կողմից `համապատասխանելու հատուկ սարքավորումներին:

Սկզբունքորեն, ցանկացած լեզվով գրված ծրագիրը կարող է և՛ մեկնաբանվել, և՛ կազմել:

Այս պահին ծրագրավորման շատ ուղղություններ կան: Յուրաքանչյուրը կարող է ինչ -որ բան գտնել իր սրտով, բայց դրա համար պետք է իմանալ, թե կոնկրետ ինչով ես զբաղվելու քո ոլորտում:

Վեբ հավելվածների մշակում

Այս ուղղությունը կենտրոնացած է վեբ ծրագրերի մշակման վրա (այլ կերպ ասած ՝ կայքեր, բայց ներկայումս կայքերն ունեն այնպիսի հարուստ ֆունկցիոնալություն, որ դրանք կարելի է անվանել լիարժեք ծրագրեր):

Վեբ ծրագրավորումը կարելի է բաժանել հետևի (սերվերի կողմից սցենարներ գրել - PHP, Python, Ruby) և frontend (զարգացող օգտվողի միջերես ՝ Javascript, HTML, CSS):

Սեղանի դիմումի մշակում

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

Սերվերի կիրառման մշակում

Սրանք տարբեր խաղային սերվերներ են (ձեր նախընտրած Dotka, CS: GO), IM- ծառայություններ (Skype- ի սերվերային մաս, ICQ, MSN), բանկային տվյալների շտեմարաններ:

Բջջային հավելվածների մշակում

Շատ Java ծրագրեր: VK, Viber, Yandex.Maps, թարգմանիչներ, էլեկտրոնային ընթերցողներ:

Ներկառուցված ծրագրավորում

Տարբեր կենցաղային տեխնիկայի ծրագրավորման հետաքրքիր ճյուղ ՝ փոշեկուլներ, սառնարաններ, լվացքի մեքենաներ, նվագարկիչներ, նավարկողներ, էլեկտրոնային կշեռքներ: Այն ներառում է գիտական ​​զարգացումներ `օգտագործելով մասնագիտացված լեզուներ, ինչպիսիք են MATLAB- ը:

Համակարգային ծրագրավորում

Սարքավորումների համար տարբեր վարորդների գրառում, օպերացիոն համակարգերի «միջուկի» ծրագրավորում: Ի դեպ, այստեղ ներառված է նաեւ ծրագրավորման լեզուների կազմողների եւ թարգմանիչների ստեղծումը:

Խաղի զարգացում

Հսկա արդյունաբերություն: Սա ներառում է համակարգիչների, կոնսուլների և բջջային սարքերի համար խաղերի մշակում:

Օլիմպիադայի ծրագրավորում և խնդիրների լուծում

"Րագրավորում տարբեր «ոչ գործնական» և ոչ սովորական լեզուներով (Պասկալ, Դելֆի) որոշ բնօրինակ խնդիրներ լուծելու համար, որոնք պահանջում են ոչ ստանդարտ մոտեցում, հնարամտություն և 160-ից բարձր IQ:

Հաշվապահական և ֆինանսական արտադրանքի ծրագրավորում

"1C: Ձեռնարկություն". Ռուսաստանում ամբողջ հաշվապահությունը կապված է այս արտադրանքի հետ: Բայց բավական չէ միայն լեզուն իմանալ, կարևոր է հասկանալ հաշվապահական հաշվառման հիմունքները: Պլյուսն այն է, որ շատ աշխատանք կա, և դուք առանց հացի չեք մնա:

Տվյալների բազայի ծրագրավորում

Լուրջ ուղղություն: Եթե ​​ցանկանում եք մշակել տվյալների շտեմարաններ, որոնք ունակ են պահելու միլիարդավոր տողերի տեղեկատվություն VKontakte- ի կամ Facebook- ի բոլոր օգտվողների մասին, և միևնույն ժամանակ չեն դանդաղեցնելու, դուք այստեղ եք:

Գիտություն

Գիտությունը և դրանով ամեն ինչ ասված է: Նեյրոնային ցանցեր, ԴՆԹ կառուցվածքի մոդելավորում, արբանյակների արձակում, Մեծ պայթյունի մոդելավորում:

Ի դեպ, վերջերս ՆԱՍԱ -ի կայքը հրապարակեց ավելի քան 60 տարեկան «հին» ֆորտրան լեզվով ծրագրավորող փնտրելու լուրը: Programրագրավորողներից պահանջվում էր ծրագրեր մշակել «Վոյաջեր 1» և «Վոյաջեր 2» ավտոմատ զոնդերը վերահսկելու համար, որոնց ծրագրակազմը 1970 -ականներին գրվել էր Assembler, Fortran և COBOL- ում: Դուք երբեք չգիտեք, թե ինչ գիտելիքներ կարող են օգտակար լինել: