Орындалатын программаны құру сатылары



C++ тілінің базалық құралдары
Кез келген табиғи тілдегі мəтінде 4 негізгі элементті бөліп қарастыруға болады:
символдар
сөздер
сөз тіркестері
сөйлемдер.
Осындай элементтер алгоритмдік тілде де бар, алайда мұнда сөздерді лексемалар (элементар конструкциялар), сөз тіркестерін өрнектер, ал сөйлемдерді операторлар деп атайды.
Лексемалар символдардан, өрнектер лексемалар мен символдардан, ал операторлар символдар, өрнектер жəне лексемалардан құралады

Тіл алфавиті немесе символдары - бұл тілдегі барлық мəтіндер жазылатын, ары қарай бөлінбейтін негізгі таңбалар;
Лексема немесе элементар конструкция - өзіндік мағынасы бар тілдің ең кіші бірлігі;
Өрнек белгілі бір мəннің есептелу ережесін береді;
Оператор кез келген бір əрекеттің аяқталған спатталуын береді.
Операторлар орындалатын жəне орындалмайтын болып бөлінеді.
Орындалатын операторлар мəліметтермен атқарылатын əрекеттерді білдіреді.
Орындалмайтын операторлар мəліметтерді сипаттау үшін қажет, сондықтан оларды көбінесе сипаттау операторлары немесе жай ғана сипаттауыштар деп те атайды.
Тілдің əрбір элементі синтаксис жəне семантика арқылы анықталады. Синтаксистік анықтаулар тіл элементтерінің құрылу ережесін білдіреді, ал семантика олардың мағынасы мен қолданылу ережелерін анықтайды.
Біртұтас алгоритммен біріктірілген сипаттаулар жиыны мен операторлар алгоритмдік тілдің программасы болып табылады. Программаны орындау үшін, оны процессорға түсінікті машиналық кодқа аудару керек. Бұл процесс бірнеше сатылардан тұрады.

Орындалатын программаны құру сатылары

Программа алдымен препроцессорға беріледі, ол мəтін құрамындағы директиваларды (мысалы, мəтінге тақырыптық файлдарды - программада қолданылатын элементтердің сипаттамасы сақталған мəтіндік файлдарды қосуды) орындайды.
Алынған программаның толық мəтіні компилятордың кіру нүктесіне беріледі де, компилятор лексемаларды тауып алып, тіл грамматикасының негізінде, осы лексемалардан тұратын өрнектер мен операторларды анықтайды. Сонымен қатар, компилятор синтаксистік қателерді табады, егер олар жоқ болса, объектілік модуль құрады.
Жинақтауыш (компоновщик) немесе байланыстар редакторы бір объектілік модульге басқа объектілік модульдерді жəне де кез келген программада болатын (мысалы, экранға мəлімет шығаруды жүзеге асыру үшін) кітапхана функцияларын қамтитын модульдерді біріктіре отырып, программаның орындалатын модулін қалыптастырады.
Егер программа бірнеше бастапқы файлдардан құралатын болса, олар жеке-жеке түрлендіріліп, осы жинақтау сатысында біріктіріледі. Осының нəтижесінде шығатын атқарылатын модульдің кеңейтілуі . exe болады жəне ол əдеттегі тəсілмен орындауға жіберіледі.
Құжаттамаларда, кітаптарда тіл ережелерін сипаттау үшін көбінесе бір формальді метатіл қолданылады, мысалы, Бэкус-Наур формулалары немесе синтаксистік диаграммалар

Баяндау тілінің қарапайымдылығы мен көрнекілігін сақтау үшін кең таралған сипаттаудың формальді емес түрін қолданамыз, мұнда синтаксистік конструкциялардың міндетті түрде қажет етілмейтін бөліктері тік жақшаға алынады да, белгілі бір нақты мəнмен ауыстырылуы тиіс мəтін қазақ тілінде жазылған, ал бірнеше элементтің бірін таңдап алу шарты вертикаль сызықпен белгіленген. Мысалы,
[ void int ] атауы() ;
түріндегі жазба C++ тілінің ережелеріне сəйкес атауы конструкциясының орнына нақты бір басқа ат қойылуы тиіс екенін, ал оның алдында void немесе int сөздерінің бірі болуы немесе ешбір түйінді сөз болмауы мүмкін екендігін білдіреді.
Жүйелі жақшалар бірнеше элементтің ішінен біреуі ғана таңдап алынуы тиіс элементтерді топтастырады. Ал тік жақшалардың өздері синтаксистік элемент ретінде қарастырылатын жағдайда ол ерекше түрде айтылады.

C++ тілінің алфавиті
C++ тілінің алфавиті келесі таңбаларды қамтиды:
латын тілінің бас жəне кіші əріптері жəне астын сызу белгісі;
0-ден 9-ға дейінгі араб цифрлары, A жəне F арасындағы оналтылық цифрлар;
арнайы белгілер: " { }, [ ] ( ) + - / % *. \ ‘ : ? < = > ! & # ~ ; ^
бос орын символдары: бос орын, табуляция символы, жаңа жолға көшу символы.
Алфавит символдарынан тіл лексемалары құралады. Олар:
идентификаторлар;
түйінді (резервтегі) сөздер;
операциялар белгілері;
тұрақтылар;
ажыратқыштар (жақшалар, нүкте, үтір, бос орын симводары) .
Лексемалардың шекараларық символдары ретінде ажыратқыштар немесе операциялар белгілері сияқты басқа лексемалар қолданылады.

Идентификаторлар
Идентификатор - бұл программалық объектінің атауы. Оны құру үшін латын əріптері, цифрлар жəне астын сызу белгісін қолдануға болады. Бас əріптер мен кіші əріптер əртүрлі символдар болып саналады, мысалы, sysop, SySoP жəне SYSOP - үш түрлі атау.
Идентификатордың алғашқы символы əріп немесе астын сызу белгісі болуы тиіс, алғашқы символ ретінде цифрды қолдануға болмайды. Атау символдарының ішіне бос орын қойылмайды.
Стандарт бойынша идентификатордың ұзындығы шектелмеген, бірақ кейбір компиляторлар мен жинақтауыштар (компоновщиктер) оған шектеу қояды. Идентификатор айнымалыларды, функцияларды, типтерді жəне т. с. с. жариялау кезеңінде құрылады, осыдан кейін оны программаның келесі операторларында қолдануға болады. Идентификаторды таңдауда төмендегі шарттарды ескерген жөн:
идентификатор түйінді сөздермен жəне тілдің қолданылатын стандартты объектілерінің атауларымен сəйкес келмеуі тиіс;
идентификаторларды астын сызу символымен бастамаған жөн, себебі олар жүйелік функциялардың немесе айнымалылардың атауларымен сəйкес келуі мүмкін, сонымен қатар бұл программаның орындалу жылдамдығын төмендетеді;
сыртқы айнымалыларды анықтау үшін қолданылатын идентификаторларға жинақтауыштар шектеу қояды (əртүрлі жинақтауыштарды немесе жинақтауыш нұсқаларын қолдану сыртқы айнымалылар атауларына да əртүрлі талаптар қояды) .

Түйінді сөздер
Түйінді сөздер - бұл компилятор үшін арнайы мағынасы бар алдын ала анықталған (резервтегі) идентификаторлар. Оларды тек өз анықталған мағынасында ғана қолдануға болады.

Операциялар таңбалары, яғни белгілері - бұл операндтармен орындалатын əрекеттерді анықтайтын бір немесе бірнеше символдар тізбегі. Операция таңбаларының ішіне бос орын белгісі қойылмайды. Құрамындағы операндтар санына байланысты операциялар унарлы, бинарлы, тернарлы болып бөлінеді. Мəтін ішіндегі орнына, яғни қолданылатын ортасына қарай бір таңбаның қызметі əртүрлі болуы мүмкін. Мынадай операциялар [ ], ( ) жəне ? таңбаларынан басқа белгілер жеке лексема қызметін атқарады.
Тұрақтылар деп программадағы мəні өзгермейтін шамаларды айтады. Олар бүтін, нақты, символдық жəне тіркестік тұрақтылар болып бөлінеді. Компилятор тұрақтыны лексема ретінде белгілеп алып, оны сыртқы бейнесіне қарай белгілі бір типке жатқызады

Бір символдан тұратын символдық тұрақтылар компьютер жадында бір байт орын алады жəне стандартты char типіне жатады. Қос символды тұрақтылар екі байт орын қажет етеді жəне int типіне жатады, мұндағы бірінші символ адресі кіші байтта орналастырылады (мəліметтер типтері туралы келесі бөлімде жазылған) .
Кері қиғаш сызық белгісі келесі мақсаттарда қолданылады:
графикалық кескіні жоқ кодтарды (мысалы, \a - дыбыстық сигнал, \n - кур сорды келесі жолдың басына көшіру) бейнелеу үшін;
апостроф ('), кері қиғаш сызық (\), сұрақ белгісі (?) жəне тырнақша (") символдарын бейнелеу үшін;
кез келген символды оналтылық немесе сегіздік кодтардың көмегімен бейнелеу үшін, мысалы, \073, \0xF5. Сандық мəндер 0 мен 255 аралығында болу керек.

Кері қиғаш сызықтан басталатын символдар тізбектерін басқару тізбектері немесе escape-тізбектер деп атайды. Жоғарыдағы кестеде олардың мүмкін болатын мəндері берілген. Басқару тізбегі жеке бір символ ретінде қабылданады.
Егер кері қиғаш сызық белгісінен кейін кестеде көрсетілмеген символ кездесетін болса, онда оның нəтижесі белгісіз болып саналады. Ал егер сандар тізбегінде цифрдан өзге символ кездессе, ол сандық кодтың соңы болып есептеледі.
Басқарушы тізбектер тіркестік литералдар деп аталатын тіркестік тұрақтыларда қолданылуы мүмкін. Мысалы, егер тіркес ішіне тырнақша жазу керек болса, оның алдына кері қиғаш сызық қойылады, сол арқылы компилятор бұл тырнақшаның тіркесті шектейтін тырнақшалардан басқа екенін ажырата алады:
"\"Питер\" баспа үйі"
Барлық тіркестік литералдарды компиляторлар əртүрлі объект ретінде қарастырады.
Программада бос орын символдарымен ғана бөлінген тіркестік тұрақтылар компиляция кезінде біртұтас тұрақты болып біріктіріледі. Бір жолға симайтын ұзын тіркестік тұрақтыны кері қиғаш сызық символы арқылы бөле отырып, бірнеше жолдарға орналастыруға болады. Мұндай бөлу символдарын компилятор жұмыс барысында ескермейді де, келесі жол алдыңғысының жалғасы ретінде қабылданады.
Əрбір тіркестік литералдың соңына компилятор \0 басқару тізбегімен берілетін нөлдік символды қосып қояды. Сондықтан тіркес ұзындығы оның жазуындағы символдар санынан əрқашанда бір символға артық болады. Осылайша, " " бос тіркестің ұзындығы 1 байтқа тең болады. Бір символдық тіркес ("А") пен символдық тұрақты ('А') арасындағы айырмашылыққа назар салыңыз. Бос символдық тұрақты қолданылмайды.

Түсініктемелер
Жол соңындағы түсініктемелер екі «тура қиғаш сызық» символдарынан (//) басталып, жаңа жолға көшу символымен аяқталады, ал түсініктеменің екінші түрі /* жəне */ жақшалық символдар ішіне жазылады. Түсініктемелер ішінде тек C++ тілі алфавитінің символдарын ғана емес, компьютерде теруге болатын кез келген символдарды енгізе беруге болады.
Қабатталған түсініктеме-жақшаларды (/*) пайдалану стандарт бойынша рұқсат етілмейді, бірақ кейбір компиляторда оларды пайдалануға болады.
C++ тіліндегі мəліметтер типтері
Кез келген программаның негізгі мақсаты мəліметтерді өңдеу болып табылады. Əр типтегі мəліметтер əртүрлі жолмен өңделеді жəне сақталады. Кез келген алгоритмдік тілдегі əрбір тұрақтының, айнымалының, өрнектің немесе функциялардың есептеу нəтижелері белгілі бір типке сəйкес келуі керек.
Мəліметтер типі бойынша төмендегілер анықталады:
мəліметтердің компьютер жадындағы ішкі бейнесі;
осы типтегі шамалар қабылдай алатын мəндер жиыны;
осы типтегі шамаларға қолдануға болатын операциялар мен функциялар
C++ тілінің барлық типтері негізгі жəне құрама болып екіге бөлінеді. C++ тілінде бүтін, нақты, символдық жəне тіркестік шамаларды бейнелеу үшін алты негізгі мəліметтер типі анықталған. Осы типтерді негізге ала отырып, программалаушы құрама типтер сипаттамасын енгізе алады. Оларға жиымдар, тізбелер, функциялар, құрылымдар, сілтемелер, нұсқауыштар, біріктірмелер жəне кластар жатады.

Мəліметтердің негізгі типтері
Мəліметтердің негізгі (стандартты) типтерін көбінесе арифметикалық типтер деп те айтады, өйткені оларды арифметикалық операцияларға қолдануға болады.
Негізі типтерді сипаттау үшін келесі түйінді сөздер анықталған:
int (бүтін) ;
char (символдық) ;
wchar_t (кеңейтілген символдық) ;
bool (логикалық) ;
float (нақты) ;
double (екі еселенген дəлдіктегі нақты сандар) .
Алғашқы төрт тип бүтін сандық (бүтін), соңғы екеуі жылжымалы нүктелі типтер (нақты) деп аталады. Компилятордың бүтін шамаларды өңдеу кезінде қалыптастыратын коды жылжымалы нүктелі шамаларға арналған кодтан өзгеше болып келеді.
Стандартты типтердің компьютердегі ішкі бейнеленуі мен олардың мəндерінің диапазонын нақтылайтын төрт тип спецификаторы бар, олар:
short (қысқа) ;
long (ұзын) ;
signed (таңбалы) ;
unsigned (таңбасыз) .

Бүтін тип (int)
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz