ԾՐԱԳՐԱՎՈՐՄԱՆ C++ ԼԵԶՎԻ ՀԻՄՈՒՆՔՆԵՐԸ
C++ ԾՐԱԳՐԻ
ԱՇԽԱՏԱՆՔԱՅԻՆ
ՄԻՋԱՎԱՅՐԸ
Ծրագրավորման լեզուները հիմնականում ինտեգրացված աշխատանքային միջավայր են ունենում, որտեղ ծրագրային տեքստերը ստեղծվում,կարգաբերվում և անհրաժեշտության դեպքում իրագործվում են:
Visual C++ -ի աշխատանքային միջավայր մտնելու համար անհրաժեշտ է հաջորդաբար կատարել հետևյալ քայլերը.
Start
Programs
Microsoft Visual Studio
Microsoft Visual C++
Արդյունքում էկրանին կբերվի C++ գլխավոր պատուհանը՝ աշխատանքային միջավայրը:
Գլխավոր պատուհանը 3 բաղկացուցիչ մաս է ներառում՝
- Աշխատանքային նախագծի պատուհան(Project workspace), որը օգնում է բազմաթիվ ֆայլերից բաղկաղկացած ծրագիր մշակելիս,
- Խմբագրիչի պատուհան(Editor),որտեղ ներմուծվում և խմբագրվում է ծրագրի տեքստը,
- Աշխատանքայինտեղեկատվության արտածման պատուհան, ուր ծրագրի կոմպիլիացիայի(թարգմանման),կապակցման ու կատարման փուլերին առնչվող տեղեկատվություններ են արտածվում
հիմնական գործիքաշար
Մենյուի տող
Խմբագրիչի պատուհան
Աշխատանքային նախագծման պատուհան
Աշխատանքային տեղեկատվության արտածման պատուհան
Չնայած Visual C++-ը թույլատրում է աշխատել պատուհանային համակարգին հատուկ գրաֆիկական բարձրակարգ ձևավորմամաբ միջավայրում ,կոնսոլային ներդիրը բեռնավորելիս օպերացիոն համակարգը կոնսոլային պատուհան է ձևավորում,որը նման է MS DOS օպերացիոն համակարգում հրամանային տողի ռեժիմով աշխատելիս բացվող պատուհանին:Կաշխատենք կոնսոլային ներդիրով,քանի որ այս ռեյիմն է առավել հարմար կիրառել C++ լեզուն ուսումնասիրելու համար:
ՄԵԿՆԱԲԱՆՈՒԹՅՈՒՆ
Մեկնաբանությունները մատչելի է դարձնում ծրագրի բացատրման գործընթացը:Առանց բացատանիշի իրար հաջորդող երկու գծերի(//) միջոցով տրվում են ծրագրի տվյալ տողին վերաբերվող մեկնաբանությունները,իսկ մեկնաբանությունները մի քանի տող է զբաղեցնում, ապա այն սկսում են/*և ավարտում*/ պայմանանշանների համակցությամբ:
//1 տողը ներառում է հատուկ հրահանգ, այսպես կոչված,ՊՐԵՊՐՈՑԵՍՈՐԻՆ ուղղված ԴԻՐԵԿՏԻՎ,որը ներմուծման և արտածման գործընթացն ապահովող որոշ լրացուցիչ ծրագրային միջոցներ է կցում գրված ծրագրին:
ՊՐՈՑԵՍՈՐԱՅԻՆ ԴԻՐԵԿՏԻՎՆԵՐԸ ՂԵԿԱՎԱՐՈՒՄ ԵՆ ԾՐԱԳՐԻ ՏԵՔՍՏԻ ՁԵՎԱՓՈԽՄԱՆ ԳՈՐԾԸՆԹԱՑԸ՝ ՆԱԽՔԱՆ ԾՐԱԳԻՐԸ ԹԱՐԳՄԱՆԵԼԸ
Ընդհանրապես #include հրահանգի միջոցով նախնական տեքստի արտաքին այլ, նախապես կազմավորված ֆայլեր են կցվում: Հաճախ դրանք .հ ընդլայնում ունեցող ֆայլեր են, որոնք ընգծված են include թղթապանակում. Այս ֆայլերն անվանում են ՎԵՐՆԱԳՐԱՅԻՆ ՖԱՅԼԵՐ
ՎԵՐՆԱԳՐԱՅԻՆ ՖԱՅԼԵՐԸ ASCII ՁԵՎԱՉԱՓՈՎ ՍՏԵՂԾՎԱԾ ԳՐԱԴԱՐԱՆԱՅԻՆ ՍՏԱՆԴԱՐՏ ՖԱՅԼԵՐՆ ԵՆ, ՈՐՈՆՑ ՊԱՐՈՒՆԱԿՈՒԹՅՈՒՆԸ ԿԱՐԵԼԻ Է ԴԻՏԵԼ ԷԿՐԱՆԻՆ, ԻՍԿ ՑԱՆԿՈՒԹՅԱՆ ԴԵՊՔՈՒՄ ՆՈՒՅՆԻՍԿ ՏՊԵԼ:
#include-ի միջոցով կարելի է գրված ծրագրին ոչ ստանդարտ ֆայլ կցել,ֆայլի անվանումն դրվում է չակերտների ՛՛ ՛՛ մեջ:
Օրինակ՝
# include ‘‘ nor_file.cpp‘‘ կամ #include ‘’banali.h’’ և այլն:
//2-տողում կիրառված std-ն C++ -ի ստանդարտ գրադարանում առկա տարածության անվանում է:Ծրագրում using namespace std;գրառմամբ հասանելի են դառնում std-ում սահմանված անվանումները:
//3-C++ -ի ցանկացած ծրագիր պետք է իրագործման ելակետ հանդիսացող ելակետ հանդիսացող մաս ունենա,ուն ունի main() անվանումը՝ դա ծրագրի գլխավոր մասն է:
//4 և //6 twxe8wum arka ձևավոր { } փակագծերն օգտագործում են ծրագրի բաղկացուցիչ հրամանները խմբավորելու համար:
//5 տողով տրված cout
C++ լեզվով գրված ծրագիրն իրականացնելու համար ծրագիր նախնական տեքստը պետք է թարգմանել մեքենայական կոդի օգտվելով build/откладка/մենյուի հրամաններից՝
- Compile-թարգմանել առկա ծրագիրը
- Build-թարգմանվող ծրագիրն կցվում են նաև գրադարանային անհրաժեշտ ստանդարտ ծրագրային տեքստերը:
Թարգմանված և անսխալ ծրագիրը իրագործվում է Execute/выполнять/ հրամանով:
Գլխավոր պատուհանի հիմնական գործիքաշարի մեջ ծրագիր թարգմանության թվարկած միջոցներին համարժեք գործիքներ կան:
ԿԱՐԵՎՈՐ Է՝
- Պրոպրոցեսորային դիրեկտիվը պետք է սկսվի # պայմանանշանով,մեկ տող զբաղեցնի և ավաևտի տողավերջի պայմանանշանով:
- C++ ծրագիրը գեներացնում է հետևյալ ընդլայնումով ֆայլերը
- Նախկինում ստեղծված նախագիծը ակտիվացնելու համար
- Մտնել C++ միջավայր
- Fail ենթամենյուի մեջ ընտրել Open Workspace հրամանը
- Բացված պատուհանում գտնել պահպանված նախագծի թղթապանակը ու փնտրել նախագծի անունը կրող .dsw ընդլաընումով ֆայլը:
- Բացել ու մտնել C++ միջավայր
- File ենթամենյուի մեջ ընտրել Recent Workspace հրամանը
- Առանց C++ -ի մտնելու գտնել անհաժեշտ ֆայլն ու ակտիվացնել այն:
C++ ԼԵԶՎԻ ՇԱՐԱՀՅՈՒՍՈՒԹՅՈՒՆԸ:
ՈՒՆԱՐ ԳՈՐԾՈՂՈՒԹՅՈՒՆՆԵՐ
C++ Ծրագրավորման լեզուն 96 պայմանանշան է պարունակում,որոնցից միայն 91 ունեն իրենց գրելաձևը:Գրելաձև չունեցող պայմանանշանները հետևյալն են՝
- Բացատանիշ
- Հորիզոնական ուղղությամբ որոշակի քանակությամբ բացատանների խումբ/տաբուլյացիա/
- Ուղղաձիգ տաբուլյացիա
- Նոր տողի սկիզբ
- Նոր էջի սկիզբ
ԳՐԵԼԱՁեվ ՈՒՆԵՑՈՂ
ՊԱՅՄԱՆԱՆՇԱՆՆԵՐՆ ԵՆ՝
լատինական այբուբենի մեծատառերն ու փոքրատառերը 0,1,2,3,4,5,6,7,8,9 թվանշանները Հետևյալ 29 հատու նշանները՝ ‘‘ { } ,|://( ) + - % ; & ^ ‘ ~ . * ? _ ! #
ԳՐԵԼԱՁԵՎ ՈՒՆԵՑՈՂ ՊԱՅՄԱՆԱՆՇԱՆՆԵՐԻ ՄԻՋՈՑՈՎ ԿԱԶՄՎՈՒՄ ԵՆ ԼԵԶՎԻ ԼԵԿՍԵՄՆԵՐԸ
ԼԵԿՍԵՄԸ ԾՐԱԳՐԱՅԻՆ ՏԵՔՍՏԻ ՄԻԱՎՈՐ Է,ՈՐԸ ԵՆԹԱԿԱ ՉԷ ՏՐՈՀՄԱՆ
Լեկսեմները խմբավորվում են՝
- Ինդետիֆիկատորներ
- Առանցքային բառեր
- Հաստատուններ
- Գործողությունների նշաններ
- բաժանիչներ
Իդենտիֆիկատորները նախատեսված են ծրագրում օգտագործվող մեծություններին անավանում տալու համար:
Հաստատուն լեկսեմներ են,որոնք հաստատուն արժեքներ են նարկայացնում՝
- Ամբողջ
- Իրական
- Տրամաբանական
- Սինվոլային
- Տողային
ԱՅՆ ՄԵԾՈՒԹՅՈՒՆՆԵՐԸ,ՈՐՈՆՑ ԱՐԺԵՔՆԵՐԸ ԾՐԱԳՐԻ ԿԱՏԱՐՄԱՆ ԸՆԹԱՑՔՈՒՄ ԿԱ-
ՐՈՂ ԵՆ ՓՈՓՈԽՎԵԼ,ԿՈՉՎՈՒՄ ԵՆ ՓՈՓՈԽԱԿԱՆՆԵՐ
C++ ում գործողությունները բայանվում են ՈՒՆԱՐ և ԲԻՆԱՐ տիպերի:
ՈՒՆԱՐ ԵՆ ԱՅՆ ԳՈՐԾՈՂՈՒԹՅՈՒՆՆԵՐԸ,ՈՐՈՆՔ ՄԻԱՅՆ ՄԵԿ ՕՊԵՐԱՆԴԻ ՀԵՏ ԵՆ ԱՇԽԱՏՈՒՄ դրանք են՝
- &-օպերանդի հասցեն ստանալու գործողություն
- *-հասցեի միջոցով օպերանդի արժեքին դիմելու գործողություն
- - օպերանդի նշանը հակառակ նշանի փոխելու գործողություն
- +օպերանդի դրական լինելը փաստող գործողություն
- ~ամբողջաթվային արգումենտի բիթային հակադարձումը(1-0,0-1)
- !-օպերանդի տրամաբանական բացասում(true-false,false-true)
- Ինկրեմենտ կամ++ օպերանդի արժեքի ավելացում 1-ով
- Դեկրեմենտ կամ -- օպերանդի արժեքի նվազեցում 1-ով
- Տիպի ձևափոխման գործողություն
- Sizeof գործողություն
- :: տեսանելիության տիրույթի ցուցման գործողություն
- New հիշողության դինամիկ բաշխման գործողություն
- Delete դինամիկ բաշխբած հիշողության ազատում:
C++ ԼԵԶՎԻ ՇԱՐԱՀՅՈՒՍՈՒԹՅՈՒՆԸ:
ԹՎԱԲԱՆԱԿԱՆ ԵՎ ՏՐԱՄԱԲԱՆԱԿԱՆ ԱՐՏԱՀԱՅՏՈՒԹՅՈՒՆՆԵՐ
Բինար գործողությունները կարելի է համախմբել ըստ հետևյալ տիպի գործողությունների՝
- Ադդիտիվ( գումարային)
- Մուլտիպլիկատիվ( բազմապատկման)
- Տեղաշարժի
- Կարգային
- Համեմատական
- Տրամաբանական
- Վերագրման
- Տեսանելիության տիրույթի թույլատրելիության
- Ստորակետի
Տ րամաբանական բինար գործողությունները &&-կոնյւնկցիայի
( տրամաբանական) և ||-ը դիզունկցիայի( տրամաբանական կամ) գործողություններ են:Այս գործողությունների արդյունքները նույնպես true կամ false տրամաբանական արժեքներ են:
ԿՈՆՅՈՒԿՑԻԱՅԻ ԱՐԴՅՈՒՆՔԸ true Է ՄԻԱՅՆ ԱՅՆ ԴԵՊՔՈՒՄ, ԵԹԵ ԲԻՆԱՐ ԳՈՐԾՈՂՈՒԹՅԱՆԸ ՄԱՍՆԱԿԻՑ ԵՐԿՈՒ ՕՊԵՐԱՆԴՆԵՐՆ ԷԼ true ԱՐԺԵՔ ՈՒՆԵՆ:
ԴԻԶՅՈՒՆԿՑԻԱՅԻ ԱՐԴՅՈՒՆՔԸ true Է, ԵԹԵ ՕՊԵՐԱՆԴՆԵՐԻՑ ԹԵԿՈՒԶ ՄԵԿԻ ԱՐԺԵՔԸ true է:
Օպերատորները հատուկ ձևակերպված հրամաններ են, որոնք ունեն իրենց աշխատակարգերը:
Ձևավոր փակագծերի { } միջև առնված օպերատորների հաջորդականությունն անվանում են բաղադրյալ օպերատոր:Եթե բաղադրյալ օպերատորի կազմում կան նաև փոփոխականների հայտարարաւոթյուններ,ապա այն կազմում է բլոկ:
Այն մեծությունները,որոնք հայտարարվում կամ սահմանվում են բլոկում,լոկալ/տեղային/ են, և դրանց տեսանելիության տիրույթը սահմանափակված է բլոկի տիրույթով:
օրինակ՝
#include
Int d=3;
Void main ( )
{ int d=10; d++;
cout
:: d+=5;
cuot
}
Այս ծրագիր կատարման արդյունքում նախ //1 տողով կարտածվի 11 թիվը, որը ստացվում է լոկալ d-ի ինկրեմենտի արդյունքում, իսկ //2 տողում` 8 թիվը, որը ստացվում է գլոբալ d-ի արժեքին (3) ավելացնելով 5:Այսպիսով, թեպետ այստեղ երկու փոփոխականներ կրում են միևնույն անունը(d),սակայն դրանք իրարից անկախ տարբեր արժեքներ կրող մեծություններ են:
Ստորակետը ծառայում է որպես գործողություն, ընդ որում ստորակետով միմյանցից բաժանված արտահայտությունները հաշվվում են հաջորդաբար՝ ձախից աջ:Ստորակետը գործողությունը խմբավորում է արտահայտություններն այնպես ,որ ստացվող տիպն ու արժեքը որոշվում է արտահայտության աջ մասում եղած արտահայտությամբ, ձախ մասում եղած օպերանդի արժեքներն անտեսվում են:
ԱԼԳՈՐԻԹՄՆԵՐ
Ալգորիթմն նեկայացնող բլոկ-սխեմաներն հետևյալն են՝
Հաշվարկների կատարման և վերագրման գործողություններ
Պայմանի ստուգման և հաշվման գործընթաց
Տվյալների ներմուծում և արտածում
Ցիկլային գործընթացի կազմակերպում
Ալգորիթմի սկիզբ
Ալգորիթմի ավարտ
Ալգորիթմի հոսքի ընդհատված մասերի կապի միջոց
Ալգորիթմը գործողությունների կարգավորված հաջորդականություն է, որը հանգեցնում է սպասված արդյունքին:
Ալգորիթմները՝ կախված տվյալ պահին լուծվող խնդիրից, կարող են լինել
- ԳԾԱՅԻՆ,
- ՃՅՈՒՂԱՎՈՐՎԱԾ,
- ՑԻԿԼԱՅԻՆ
Դիտարկենք եռանիշ թվանիշնների գումարի հաշվման ալգորիթմը
1
2
3
4
5
6
7
սկիզբ
n
a=n/100
b=(n-100a)/10
c=n%10
a+b=c
ավարտ
n; a=n/100; // հարյուրավորի ստացում b=(n-100*a)/10; // տասնավորի ստացում c=n%10; // միավորի ստացում cout } Այստեղ //1 տողում առկա coutկանցնի հաջորդ տող: " width="640"
Եթե ,օրինակ, n=672 ,ապա 3-րդ բլոկվ կստանանք a=672/100=6, որը հարյուրավորն է, 4-րդ բլոկով՝ b=(672-100*6)/10=7 ,որը տասնավորն է, իսկ 5-րդով կստանանք c=672%10=2, որը միավորն է:
a,b,c փոփոխականների միջև ստացվել են եռանիշ թվի բաղադիրչ թվանշանները, մնում է 6-րդ բլոկով արտածել պահանջվող գումարը:
Ծրագիրը C++-ով հետևյալն է՝
#include
void main ( )
{ int n;
int a,b,c; // a-Ն հարյուրավորի,b-ն տասնավորի,c-ն միավորի համար է
cinn;
a=n/100; // հարյուրավորի ստացում
b=(n-100*a)/10; // տասնավորի ստացում
c=n%10; // միավորի ստացում
cout
}
Այստեղ //1 տողում առկա cout
կանցնի հաջորդ տող:
ՃՅՈՒՂԱՎՈՐՄԱՆ ԳՈՐԾԸՆԹԱՑ:
ՃՅՈՒՂԱՎՈՐՄԱՆ( ՊԱՅՄԱՆԻ) ՕՊԵՐԱՏՈՐՆԵՐ:
ԱՆՊԱՅՄԱՆ ԱՆՑՄԱՆ ՕՊԵՐԱՏՈՐՆԵՐ
Դիտարկենք ax²+bx+c=0 քառակուսի հավասրման ( a≠o) իրական արմատները փնտրելու ալգորիթմը:
o D=0 Xı= X2= Xı= «NO» X1,X2 X ավարտ " width="640"
սկիզբ
a,b,c
D=b²-4ac
Do
D=0
Xı=
X2=
Xı=
«NO»
X1,X2
X
ավարտ
a; cout b; cout c; d=pow(b,2)-4*a*c; z=2*a; if (d0) { x1=(-b-sqrt(d))/z; x2=(-b-sqrt(d))/z; cout cout } else If(d==0) { x=-b/z; cout } else cout " width="640"
Ալգորիթմի ծրագիրն հետևյալն է՝
#inclide
#include
Void main ( )
{ double x1,x2,x,z,d,a,b,c;
cout a;
cout b;
cout c;
d=pow(b,2)-4*a*c;
z=2*a;
if (d0)
{
x1=(-b-sqrt(d))/z;
x2=(-b-sqrt(d))/z;
cout
cout
}
else
If(d==0) { x=-b/z;
cout
}
else cout
Ճյուղավորոմներով ալգորիթմներ ծրագրավորելիս երբեմն հարմար է պայմանի օպերատորի փոխարեն ընտրության օպերատոր կիրառել:
Ընտրության օպերատորը հարմար է օգտագործել այն դեպքում, երբ ճյուղավորված ալգորիթմները ներառված (if (a1) օպերատոր 1; else if (a2) օպերատոր 2; else.... և այլն) նոր ճյուղավորումներ են պարունակում: