Си тілінің алфавиті
Си ++ тілінің алфавиті
Тілдің алфавиті дегенде сол тілде істетілетін символдар жиынына айтылады.
С++ тілінің алфавитінде 52 латын әріптері бар. Олар:
1. Aa, Bb, ... ... ... ..Zz әріптері.
2. 0,1,2, ... ... ... ... ... 9 араб сандары немесе цифрлары.
3. Кириллица әріптері (түсініктеме үшін)
4. Арнайы символдар *,+,-,,;, т.б.
Си тілінде идентификатор кез-келген символдар тізбегінен тұрады. Бірақ
идентификатор саннан басталмауы керек. Идентификаторда үлкен әріптермен
кіші әріптер әртүрлі деп есептеледі. Си тілінде түсініктеме
(коментарийлер) * мәтін * - ішіне жазылады. Бұлардың арасындағыларды
компилятор оқымайды. Ал, меншіктеу командасы “=” символымен белгіленеді.
Программаның коды фигурный жақшаның жазылады
{
}
{}- паскальдағы begin мен end сияқты істетіледі.
F9 – программаны іске қосу
# Include vcl.h
Include – паскальдағы uses пен бірдей
vcl.h – енгізу, шығару командасын сақтайтын файл.
Берілгендер және олардың типтері
1. Бүтін типтердің элементтері бүтін сандар болады. Int, Long, Short,
Char, Signed, Unsigned
Айнымалылар және тұрақтыларды жазу
Int. x,y:
Short a,b:
Int const A=5:
2. Нақты типтер float, double, long double
2. С++ тілінің операторлары
Операторлар (operators) - берілгендерді өңдеу үшін қолданылатын қызметші
сөздер. Операторлар есептеулер, салыстырулар, меншіктеулерді сонымен
қатар басқа ерекше көп есептерді орындайды. С++ тілінде операторлардың
саны өте көп . Төменде ең жиі қолданылатындары ғана көрсетілген.
Арифметикалық операторлар
Оператор Амалы Мысал
+ Қосу х=х+z;
- Алу х=х-z;
* Көбейту х=х*z;
Бөлу х=хz;
Меншіктеу операторлары
Оператор Амалы Мысал
= Меншіктеу х=10;
+= Қосу мен меншіктеу х+=10; (х=10
мен бірдей)
- = Алу мен меншіктеу х- =10;
*= Көбейту мен х* =10;
меншіктеу
= Бөлу мен меншіктеу х =10;
Логикалық операторлар
Оператор Амалы Мысал
&& Логикалық If(x&& 0*FF)
{ ... .}
Логикалық немесе If (x 0 *FF)
{ ... }
Қатынас (отношения) операторлары
Оператор Амалы Мысал
== Тең If(x==10) { ... ..}
!= Тең емес If(x!=10) { ... ..}
Кіші If(x10) { ... ..}
Больше If(x10) { ... ..}
= Кіші немесе тең If(x=10) { ... ..}
= Үлкен немесе тең If(x=10) { ... ..}
Операторлар преинкрементный (pre-inkrement) және постинкрементный (post-
increment) бола алады. Преинкрементный (++x) түрі компиляторға: айнымалының
мәнін артып содан соң айнымалыны пайдалан дегенді білдіреді.
Постинкрементный (х++) түрі компиляторға: алдымен айнымалыны пайдаланып
содан соң айнымалының мәнін арту амалын орында дегенді білдіреді.
C++Builder Қосымша файлдар түрлері
Жаңа жоба үшін С++Builder жүйесі кем дегенде алты (GUI-қосымша типті) файл
жасайды. Олар:
жобаның негізгі файлы
басты пішіннің негізгі файлы
басты пішіннің тақырыптық файлы
басты пішіннің қорлар файлы
қосымша қорлардың файлы
жобаның ақпараттық файлы
Жобаның негізгі файлы (project source file ) - Win Main() функциясын
сонымен қатар С++Builder жүйесінің кодтарын құрайды. Сідздер бұл файлды
мәзір қатарындағы Project-View Source командасы арқылы көре аласыздар.
Басты пішіннің негізгі файлы және басты пішіннің тақырыптық файлы –
жариялаулар (объявления) және негізгі пішіннің класстарының анықтамаларын
құрайды. С++Builder жобадағы әрбір пішінге қосымша негізгі және тақырыптық
файлдар жаратып отырады.
Басты пішіннің қорлар файлы және қосымша қорлардың файлы - басты пішінді
және қосымшалардың белгісін суреттейді.
Жобаның ақпараттық файлы -- негізгі файлдар атын және пішінді, жобаға
енетін керекті кітапханалық фалдар атын мәтіндік файл түрінде бейнелейді.
Кітапханалық файлдар .lib кеңейтпесіне ие болады.
С++Builder системасында қолданылатын кеңейтпелер.
• .СРР - С++ - тің негізгі файлдары. Әдеттегідей әрбір модульғе
бір файл және басты жоба үшін бір файл.
• .DFM – Пішіннің файлы (from file). Пішін мен компоненттердің
бейнелеуін құрайды. Әрбір пішінге .DFM файлы сәйкес келеді.
• .DSK - Пішінде орналасқан барлық компоненттердің өлшемдерін,
жайларының сақталуын қадағалайды.
• .EXE – бағдарламаның орындаушы файлы.
• .H - C ++ - тің жариялаулар (объявления ) класын құрайтын
тақырыптық файл. Ол C ++ -тің файлы немесе сіздің өзіңіздің
жеке файылыңыз болуы мүмкін.
• .OBJ - компилятордың екілік объектілік файлы. Бұл файлдар
С++ - тің компиляция барысында жасалады.
• .MAK - жобаның ақпараттық файлы. Бұл С++ жүйесіне компиляция
жасау үшін пайдаланылатын мәтіндік файлдар тізімі.
• .RES – компилятор қорлары жарататын екілік қорлар файлы.
• .TDW – Жөңдеушінің (отладчик) символдық кестесі. Бұл файл
жөндеу сеанстарының уақытында жөңдеушімен қолданылады.
C++Builder жүйесі жасайтын файлдарды екі категорияға бөлуге болады:
жоба құрылып жатқандағы құрылатын негізгі жоба және компиляция барысындағы
құрастыру жобасы. Мысалы: егер сіз барлық негізгі файлдарыңызды басқа
компьютерге өткізетін болсаңыз, сізге C++Builder жүйесі қолданатын қосымша
файлдарды ғана көшіруіңіз керек. Әдеттегідей негізгі файлдар басқа жоба
файлдарымен салыстырғанда өлшемі кіші болады және көп жайды талап етпейді.
Кеңейтпелерден ең аз дегенде .CPP, .H, .DFM және .MAK типті файлдарды
құрайды. Ал, қалған файлдарды программа құру барысында C++Builder жүйесі
өзі жаратады.
Циклдық операторлар
1. For және While операторы.
2. For операторын пайдаланып мысал келтіру.
С тілінде цикл ұйымдастыру үшін For және while операторлары қызмет етеді.
Мысал ретінде о ден 10 ға дейінгі сандарды шығарып беретін бағдарлама
жасаймыз. Әдеттегідей консолдық қосымшаны қосамыз.
While операторының жазылу үлгісі төмендегідей:
While (циклдың аяқталу шарты)
{
денесі
}
For операторының жазылу үлгісі төмендегідей:
{
циклдың аяқталу шарты
}
Біз редактор кодында For операторын пайдаланып мынадай операторларды
енгіземіз:
# includeconio.h
# includestdio.h
#pragma hdrstop
--------------------------------- ----------------------------------- ------
-
#pragma argsused
int main(int argc, char* argv[])
{
int a;
for (a=0;a=10;a=a+1)
printf("%d\n");
getch();
Осындай котдар қатарын енгізіп болғаннан соң қосымшаны іске қосамыз яғни
компиляцияға жібереміз. Компиляция біз жазған С тіліндегі кодтарды
машиналық кодқа айналдырып программаны іске қосады.
Нәтижеде консольдық қосымшамыз мынадай көріністе пайда болады.
Жоғарыдағы код терезесіндегі жұмыс барысы мынадай болады:
Бірінші int a – 0 ден 10-ға дейінгі а - айнымалының типі бүтін сан
екендігін анықтайды. Екінші for (a=0;a=10;a=a+1) бұл жерде циклда алғашқы
а айнымалысына 0 мәні меншіктеліп тұр яғни цикл о санынан басталады. a=10;
бұл жерде шарттің негізгі бөлігі көрсетілген яғни а айнымалысы 10-нан үлкен
болғанша цикл айнала береді, егер а айнымалысы 10-нан үлкен болған жағдайда
цикл аяқаталып келесі оператор орындалады. a=a+1 бұл жерде циклдың шетчигі
көрсетілген әрбір цикл айналған сайын а айнымалының саны 1-ге артып отырып,
шартқа барып тексеріледі. Нәтижеде а айнымалысы 11 мәнге ие болғаннан соң
ол шартқа барып шарт жалған мәнге ие болады да циклдан шығып кетеді.
printf("%d\n") қатарындағы printf-экранға шығару, %d-integer типі үшін
жазылатын символ, ал егер float типті болса, онда -%а болады, егер String
типті болса, онда - %s жазылатын болады. getch() операторы нәтижені экранда
ұстап тұру үшін қолданылады. Біз пернетақтадан қандайда бір клавишті
баспағанымызша осы getch() операторы орындалып тұра береді. Егер қандайда
бір клавишіт басатын болсақ онда қосымшамыз жабылады.
Символдық тұрақтылар
Бағдарлама денесінде нақтылы сандарды беру жақсы стиль емес, ондай іс
әрекеттер бағдарламаның одан арғы модификациясын және оның түсінуін
қиындатады. Сондықтан бағдарламаны жарату барысында нақтылы сандарды
бағдарламаның басында сипаттап өтуге болады. Ол үшін #define операторы
пайдаланылады. Осы оператор қолданған жағдайда бағдарламадағы нақты
сандардың орнына символдық тұрақтылар пайдаланылады. Жазылу үлгісі мынадай
болады:
#define “айнымалы аты” “мән”
Мысалы ретінде жоғарыдағы For операторын пайдаланып жазған бағдарламамызға
осы операторды қолданамыз.
# includeconio.h
# includestdio.h
#pragma hdrstop
#define k 0
#define b 10
#define c 1
--------------------------------- ----------------------------------- ------
-
#pragma argsused
int main(int argc, char* argv[])
{
int a;
for (a=k;a=b;a=a+c)
printf("%d\n");
getch();
}
--------------------------------- ----------------------------------- ------
int a;
for (a=0;a=10;a=a+1)
printf("%d\n");
Бұл жерде:
#define k 0 - а айнымалысы k 0 символдық тұрақтының мәнін пайдаланады.
#define b 10- а айнымалысы b 10 символдық тұрақтының мәнін пайдаланады.
#define c 1- а айнымалысы с 1 символдық тұрақтының мәнін пайдаланады.
Бағдарламаны іске қосқаннан кейін жоғарыдағыдай нәтижеге ие болады.
C++ Builder жүйесінің басты мәзірі және құралдар тақтасы
C++ Builder – бұл С++ тіліндегі қосымшаларды (приложений, RAD - rapid
application development) жылдам өңдеуге арналған Borland фирамасының жаңа
өнімі. Компонент - арнайы алдын ала анықталған мақсатты орындаушы, мысалы,
мәтінді елестетуі, тізім терезелерін немесе элементтерді редакциялау.
Компоненттердің палитрасының астында, экранның сол жағына тиістіре,
қасиеттер терезесі (Object inspector) орналасқан. Қасиеттер терезесі арқылы
компоненттердің қасиеттерін және оқиғаларын өзгерте аласыздар. Объектілер
терезесінің бір немесе екі қосымшасы болады, бірақ ол қандай компонент
таңдалғанына байланысты. Олар Properties және Events қосымшалары.
Properties қосымшасы барлық уақытты бар болады. Properties қосымшасы
компоненттің іс - әрекетін анықтайды. Әдеттегідей қасиеттер терезесінде
Events қосымшасы орналасқан. Оқиғалар пайдаланушы компонентке қандайда бір
іс-әрекет жасағанда болады, мысалы тышқанмен щерткенде.
Events (оқиға)- бұл пайдаланушының компонентке жасалған қандайда
бір іс-әрекеттері. Инспектор объектов терезесінің оң жағында жұмыс алаңы
орналасқан. Бұл жерде алғаш болып пішін редакторы(Form Editor) орналасқан.
Аңғарған болсаңыз бұл жерде редактордың түрлері жасалынады.
Пішін бағдарламаның сухбаттық терезесі және басқа типтегі терезелері басты
негізгі терезе болуы мумкін. Пішін жарату барысында, пішіннің көмегі арқылы
оған компоненттерді орналастыру және өлшемдерін, жайын өзгерту сияқты іс-
әрекеттері орындалады. Пішін терезесінің артында код терезесі (Code
Editor) жасырылған. Код терезесінд жасап жатқан бағдарламаның тексті
жазылады. Қасиеттер терезесі (инспектор объектов), код терезесі, пішін
терезесі және компоненттер палитрасы бағдарлама жасау барысында бірге
өзара байланыста жұмыс істейді.
Жоғарыдағы сурет С++Builder6 жүйесінің терезесінің көрінісі
Borland C++ Builder 6 программалау тілін іске қосқаннан кейін
экранда оның негізгі терезесі ашылады. Borland C++ Builder 6 терезесі
негізгі мынадай стандартты жолдардан тұрады.
Тақырып жолы (строка заголовка)
Мәзір жолы (строка меню)
Аспаптар немесе құралдар панелі (панель инструментов)
Түстер компоненты (палитра компонентов)
Қасиеттер терезесі (объект инспекторы)
Пішін терезесі (окно формы)
Код терезесі (Окно кода)
Объект терезесі (окно объекта )
Тақырып жолы (строка заголовка)- Құжаттың аты және терезенің
өлшемдерін реттеуші үш батырма тұрады. Тақырып жолы астында мәзір жолы
орналасқан.
Мәзір жолы (строка меню) – С ++ жүйесінің негізгі командаларынан
тұрады. Тышқанның щертпесі осы менюге кіретін командалар тізімін ашып
береді. Мәзір жолының астында құралдар панелі қатарының батырмалары
орналасқан.
Құралдар панелі (панель инструментов) - Көптеген программаларда мұндай
құралдар панельнің бір түрі ғана көрсетілген болса С++ - да мұның
бірнеше жиына бар. Әрбір батырманың атын білу үшін тышқан көрсеткішін
батырманың үстіне алып баратын болсақ оның қалғып шығатын атын көруге
болады.
Түстер палитрасы (палитра компонентов) – С++ -дың құралдар панельнің
бірі болып есептеледі яғни басқалардан ерекшеленіп тұрады. Компонент
дегеніміз - бұл келешектегі басқару элементтерін дайындау .
Түстер компонентінде бірнеше қосымшалар орналасқан, әрбір
қосымшаның өзіне тиісті компоненттері жайғасқан.
Келешекте біз құратын программаларда осы қосымшаларда жайғасқан
компоненттердің бірнешеуін пайдаланамыз.
Қасиеттер терезесі (инспектор объектов) – Осы терезенің көмегімен
қолданылатын компоненттер жиыны ретке келтіріледі. Біз бұл қасиеттер
терезесін көп пайдаланатын боламыз.
Пішін терезесі(Окно кода) – бұл келешекте құратын программаларды
дайындайтын терезе. Әрбір программа бір пішін терезесінде орналасады.
Ашылған жаңа пішін Форма 1 деген атқа ие болып саналады, еген 2- ші жаңа
пішін ашатын болсақ ол Форма2 деген стандартты атқа йе болады.
Кодтар терезесі (Unit.cpp Окно кода) – бұл терезені программа кодтарын
енгізу үшін пайдаланамыз. Ал кодтар жоғарыда айтып кеткендей {}
жақшаның ішіне жазылады.
Окно терезесі (Окно объекта) – бұл терезеде ашылған пішімнің яғни
форманың және пішімге қойылған компоненттері каталогтар көрінісінде
көрсетіліп тұрады.
С++Builder жүйесінің басты мәзірі және құралдар панелі
Басты мәзір C++ Builder жүйесімен жұмыс жасауға қажетті барлық
пункттерді құрайды. C++ Builder жүйесі визуалдық маңызды дәрежелі
болғандықтан, басты мәзірін басқа бағдарлама жүйелерге қарағанда аз
мөлшерде істетуге болады. Ал, егер басты мәзірмен жұмыс жасауды
қаласаңыздар, онда сізге керекті нәрсенің барлығын құрайды.
Құралдар панелінің кескін үлесімі (конфигурация) төменде суретте
көрсетілеген:
1- жобаны ашу
2- барлығын сақтау
3- жобаға қосу
4- модульді таңдау
5- пішінді таңдау
6- іске қосу
7- тоқтату
8- файлды ашу
9- файлды сақтау
10- жобадан өшіру
11- модульді \ пішінді суреттеу
12- жаңа пішін
13- трассировка (жол тарту)
14- орындалу (пошаговое)
Құралдар тақтасымен компоненттер палитрасының ортасын бөліп тұратын
көлдеңнен түскен бөлгіш орналасқан. Егер тышқан көрсеткішін сол бөлгішке
алып баратын болсақ, тышқан көрсеткіші екі жақты бағыттауыш формасына
енеді. Сол кезде сіздер тышқан көрсеткішінің созу әдісімен солға немесе
оңға құралдар тақтасын немесе компоненттер палитрасының өлшемін, терезеде
үлкейіп немесе кішірейіп көрініп тұратындай етіп өзгерте аласыздар.
Құралдар панелін өте қарапайм түрде күйге келтіру мүмкін. C++ Builder
жүйесі батырмаларды яғни компоненттерді қосуды немесе алып тастауды өз
беттерімізше орналастыруға мүмкіндік береді. Тақталарды күйге келтіру
жанама мәзір арқылы іске асады, жанама мәзірді шығару үшін тақтаға тышқан
көрсеткішін алып барып оң жақ батырмасын щерту арқылы іске асады.
Жанама мәзірдің пункттері:
Tabs – Құралдар тақтасындағы қосымшаларды таңдау үшін пайдаланылады.
Show Hints (отображать подсказки) - Құралдар тақтасындағы орналасқан
батырмаларға (кнопка) тышқан көрсеткішін алып барғанда, әр батырманың
атын қалғып шығаратын жәрдемшіні шығаруға арналған
Hide (Скрыть) – Құралдар тақтасын алып тастау үшін пайдаланылады.
Help (Справка) - Аспаптар тақтасына арналған мәлімет бетін ашып береді.
Properties (Свойства) – Құралдар тақтасын күйге келтіру үшін (Palette
Properties) сухбаттық терезесін шақырады.
Егер құралдар тақтасын алып тастаған болсаңыз оны қою үшін мәзір
қатарындағы View -Toolbars командалары көмегімен қойылады. Құралдар
тақтасын күйге келтіру үшін Properties (Свойства) пунктісін таңдаңыздар. Ол
кезде “Palette Properties” сухбаттық терезесі ашылады. Осы ашылған
терезеде қалаған батырмамызды қоюымызға немесе алып тастауымызға болады.
Компоненттер палитрасын пайдалану
C++ Builder жүйесінің компоненттер палитрасы компоненттерді пішінге
орналастыру үшін пайдаланылады. Компоненттер палитрасы көп бетті терезені
ұсынады. Компоненттің көрінуі үшін, сол компонент жайғасқан қосымшада бір
рет щерту арқылы іске асырылады. Компонентті пішінге екі сатылы процесс
арқылы жасалады. Алдымен керекті компоненті таңдап аласыз, содан соң тышқан
көрсеткішін пішінде бір рет щертесіз. Таңдалған компонентіміздың жоғарғы
сол жақ бұрышы тышқан көрсеткішінің щертілген жерінде пайда болады. Егер
компоненттер палитрасының қосымшалар толық сыймай көрінбей тұратын болса оң
жақ шетінде айналма жолағы орналасқан. Айналма жолағы арқылы көрінбей
тұрған қосымшаларды көрсетуге болады.
Компоненттер палитрасының айналма жолағы:
Айналма-жолағы
Айналма жолағының оң жағындағы белгісінде щертетін болсақ компоненттер
палитрасының сол жақта симай тұрған қосымшалары оңға қарай жылжитын болады.
Ал, егер айналма жолағының сол жақ белгісінде щертетін болсақ, компоненттер
палитрасының оң жақта симай тұрған қосымшалары солға қарай жылжитын болады.
Жоба
Жоба - автономиялық файлдарды жаратқанда пайдаланылатын немесе
динамикалық кітапхана (DLL) арқылы құрастырылған файлдар жиыны.
C++Builder жүйесі жобаларды бірнеше қосымша файлдар арқылы басқарады.
Түсінікті болу мақсатында үлгі ретінде қарапайым қосымша жаратып,
бағдарлама жасау барысында қандай өзгерістер болатын байқаймыз. Мындай іс-
әрекеттерді орындаймыз:
1. Қатты иілгіш дискіде “Мысалы” атты жаңа папка ашамыз.
2. C++Builder жүйесін іске қосамыз.
3. Жобада автоматты түрде жаңа пішін ашылып тұрады егер жоқ болса мәзір
қатарына барып File-New Application командасын орындаймыз.
4. Жаңа пішін ашылғаннан кейін мәзір қатарына барып File-Safe Project
командасын орындаймыз.
5. Сіздерге негізгі файлды сақтайтын сухбаттық терезесі ұсынылады қатты
иілгіш дискіні көрсетіп “Мысалы” атты папкамызға файлдың атын “My
Unit” деп сақтаймыз.
6. Енді сіздерден жобаны сақтайтын сухбаттық терезесі ұсынылады,
“Мысалы” атты папкамызда жобамызды “Test” деп сақтаймыз.
7. Енді мәзір қатарынан Project-Build All Project командасын беріп
компиляцияға жібереміз.
8. Компиляция аяқталғаннан кейін ОК батырмасын щертіп, С++Builder жүйесін
File - Close All командасын беріп жауып тастаймыз.
Ал, енді “Мысалы” атты папкамызға барамыз, ол папкада бірнеше файлдарды
көреміз. Ол файлдардың барлығын біз құрған жоқпыз, біз бар болған екі файл
сақтадық. Байқайған болсаңыз бұл жерде С++Builder жүйесі жасаған бірнеше
файлды көруге болады.
Қосымша файлдар түрлері
Жаңа жоба үшін С++Builder жүйесі кем дегенде алты (GUI-қосымша типті) файл
жасайды. Олар:
Жобаның негізгі файлы (project source file ) - Win Main() функциясын
сонымен қатар С++Builder жүйесінің кодтарын құрайды. Сіздер бұл файлды
мәзір қатарындағы Project-View Source командасы арқылы көре аласыздар.
Басты пішіннің негізгі файлы және басты пішіннің тақырыптық файлы –
жариялаулар (объявления) және негізгі пішіннің класстарының анықтамаларын
құрайды. С++Builder жобадағы әрбір пішінге қосымша негізгі және тақырыптық
файлдар жаратып отырады.
Басты пішіннің қорлар файлы және қосымша қорлардың файлы - басты пішінді
және қосымшалардың белгісін суреттейді.
Жобаның ақпараттық файлы -- негізгі файлдар атын және пішінді, жобаға
енетін керекті кітапханалық фалдар атын мәтіндік файл түрінде бейнелейді.
Кітапханалық файлдар .lib кеңейтпесіне ие болады.
С++Builder системасында қолданылатын кеңейтпелер.
• .СРР - С++ - тің негізгі файлдары. Әдеттегідей әрбір модульғе
бір файл және басты жоба үшін бір файл.
• .DFM – Пішіннің файлы (from file). Пішін мен компоненттердің
бейнелеуін құрайды. Әрбір пішінге .DFM файлы сәйкес келеді.
• .DSK - Пішінде орналасқан барлық компоненттердің өлшемдерін,
жайларының сақталуын қадағалайды.
• .EXE – бағдарламаның орындаушы файлы.
• .H - C ++ - тің жариялаулар (объявления ) класын құрайтын
тақырыптық файл. Ол C ++ -тің файлы немесе сіздің өзіңіздің
жеке файылыңыз болуы мүмкін.
• .OBJ - компилятордың екілік объектілік файлы. Бұл файлдар
С++ - тің компиляция барысында жасалады.
• .MAK - жобаның ақпараттық файлы. Бұл С++ жүйесіне компиляция
жасау үшін пайдаланылатын мәтіндік файлдар тізімі.
• .RES – компилятор қорлары жарататын екілік қорлар файлы.
• .TDW – Жөңдеушінің (отладчик) символдық кестесі. Бұл файл
жөндеу сеанстарының уақытында жөңдеушімен қолданылады.
C++Builder жүйесі жасайтын файлдарды екі категорияға бөлуге болады:
жоба құрылып жатқандағы құрылатын негізгі жоба және компиляция барысындағы
құрастыру жобасы. Мысалы: егер сіз барлық негізгі файлдарыңызды басқа
компьютерге өткізетін болсаңыз, сізге C++Builder жүйесі қолданатын қосымша
файлдарды ғана көшіруіңіз керек. Әдеттегідей негізгі файлдар басқа жоба
файлдарымен салыстырғанда өлшемі кіші болады және көп жайды талап етпейді.
Кеңейтпелерден ең аз дегенде .CPP, .H, .DFM және .MAK типті файлдарды
құрайды. Ал, қалған файлдарды программа құру барысында C++Builder жүйесі
өзі жаратады.
For циклі
For циклінің синтаксисі:
for( инициализирующие выражение ; условное выражение ; молифицирующее
выражение) өрнек;
Программада for циклі кездессе алдымен инец.выр. орындалады.(Әдетте ол
есептегіш болып келеді). Бұдан соң шартты өрнек тексеріледі; оның мәні
ақиқат (true) болып тұрса цикл тоқтатылмайды.Цикл денесіндегі қатарлар
орындалып болған сайын мод. выр. орындалады, яғни есептегіштің мәні өзгеріп
отырады. Шартты өрнектің мәні false болған жағдайда цикл денесіндегі
қатарлар мод. выр. Де қолдырылып , басқару цикл денесінен кейінгі қатарға
бері леді. Егер цикл денесі бір емес бірнеше командадан тұрса онда
фигуралы жақшаны пайдалану керек. For(иниц. Выр; шартты
өрнек ; мод.выр.)
{
өрнек 1;
өрнек 2;
:
өрнек n;
}
Мысал
S=0; for
(val=1; val=5; val ++) S+=
val;
(S,Val айнымалылары бүтін сандар)
Алдымен S-ке 0-мәні меншіктеліп , сосын for циклі іске түсіріледі.
Val айнымалысына 1 меншіктеледі. Бадан соң ,val=5 шарты тексеріліп, true
мәніне ие болған соң, sum айнымалысына val –ң қазіргі мәні 1-меншіктеледі.
Бұдан соң val-ң мәні1-ге артады. Бұл процесс val 6-ға жеткенше
орындалады,6-ға тең болған уақытта тоқтайды.
С++ тілінде бұл фрагмент былай жазылады:
Sum=0;
for(int val =1; val =5; val ++)
Sum+= val;
С++ тілінде for циклінің инициализация қатарында айнымалыларды сипаттай
беруге болады. Жалпы С++ те айнымалыларды 1-ші рет қолданып отырған
қатардың алдына сипаттап жазып қоюға болады.
For циклының есептеуіші 1-ге ғана артып отыруы міндетті емес.
Мысал:
Sum =0;
For (val =16; val =9; val+=2) ;
sum +=val;
Циклдың есептеуіші val айнымалының мәні әрқадамда 2-ге артып
отырады.
Бадан бөлек, цикл есептеуіші кеміп отыруы да мүмкін.
Sum =0
for(vai=9; val =1; val--)
Sum+=val
Бір –бірінің ішіне ендірілген циклдарды жазғанда фигуралы жақшалардың
қойылуына мән беру керек.
Мысал
# include stadio.h
int main ( )
{
int I, j;
for (I=1; I=4; I++)
{
printf(‘’\ n%3d—‘’, i);
for (j=1; j=5; j++)
printf (‘’ % 3d ‘’, I*j);
}
return (0);
}
Программа нәтижесі мынадай белгілерді экранға шығарады:
1—1 2 3 4 5
2- - 2 4 6 8 10
3- -3 6 9 12 15
4- -4 8 12 16 20
Егер for циклінен кейінгі { }жақшалары қойылмаған болса экранға
берілгендер мүлде басқа түрде шығады:
-
-
-
- 5 10 15 20 25.
While операторы
СС++ тілдерінде while циклі қайталау саны алдын-ала белгісіз
жағдайларда қолданылады. Оны дейін циклі деп те атайды, яғни келесі
итерация басталмай жатып, бірінші шарт тексеріледі.
Сондықтан, шарт орындалмаса, цикл денесі бір де бір рет орындалмай
аяқталуы мүмкін.
While циклінің синтаксисі мынандай:
өрнек;
Егер цикл денесі бірнеше қатардан тұратын болса, онда фигуралық
жақшаларды қолдану керек:
While ( шарт)
{
өрнек 1
өрнек 2
... ... ... ..
өрнек n
}
Келесі программада бүтін санның екілік көрінісін экранға шығаратын
цикл құрылады.
Цикл val айнымалысының мәніне биттік жылжытуды қолдану арқылы әрбір
бит анықталғанша орындала береді.
# include studio. h
#define WORD 16
#define ONE_BYTE 8
int main( )
{
int val=256, bit_position=1
unsigned int umask=1;
printf`(“3%d\n санының”,val)
printf (“ екілік эквиваленті мынадай”).
while ( bit_pasition = word)
{
if (val (word-bit position)) & umask) *әрбір битті нольдік*
printf (“1”);
*позицияға жылжытып*
*сосын umask *
else
*константасымен*
printf (“0”);
*салыстырамыз*
if ( bit_ position=( ONE_BYTE)
printf(“ “)
bit_position++
}
return(0)
}
Бұл программа 2 тұрақтыны (константа) сипаттаудан басталады: WORD,
ONE_BYTE .
Біріншісі екілік көрінісін шығармақшы болған санымыздың биттік
ұзындығын көрсетеді. Ал екіншісі пробел қойылатын позицияны білдіреді. Бұл
- экранға разрядтарды пробел арқылы 2 топқа бөліп шығару үшін қолданылған.
While циклінде кезекпен (үлкенінен кішісіне қарай ) val айнымалысын
мәнін 1-ші позицияға биттік жылжытады, алынған санды umask айнымалысының
мәнімен салыстырады. Бұдан соң экранға салыстыру нәтижесіне байланысты 0 не
1- ді шығарады.
dowhile операторы
dowhile циклінде шарт (келесі) итерация орындалғаннан соң
тексеріледі. Басқаша айтқанда цикл денесі ең құрығанда бір рет орындалады
(шартқа дейін). for және while циклдерінде цикл денесі басында шарт
орындалмаса, бір рет те орындалмайды. Сондықтан dowhile циклін қандай
жағдайда да ең құрығанда бір мәрте орындалу керек болатын кездерде
қолданады.
Синтаксис:
do do
{
өрнек; немесе өрнек1;
while (шарт); өрнек2;
... ... ...
өрнек n;
}
While (шарт);
Мысал:
# include iostream.h
# define LENGTH 80
int main()
{
char cten[LENGTH];
int inumchar=0, inumword=1;
do
{
cout”Cөйлем ендіріңіз:”;
cin.getline(cten, LENGTH);
}
while (cten[0]==’\0’);
while(cten[inumchar]!=’\0’)
{
if (cten[inumchar]!=’ ‘ && cten[inumchar]!=’\t’&&
(cten[inumchar+1]==’ ‘ cten[inumchar+1]==’\t’
cten[inumchar+1]==’\0’))
inumword++;
inumchar++;
}
cout “Сіз”inumchar”символ ендірдіңіз”;
cout “Сіз”inumword”сөз ендірдіңіз”;
return(0);
}
С++ тіліндегі циклдық операторлар
Жоспары
1. For және While операторы.
2. For операторын пайдаланып мысал келтіру.
С тілінде цикл ұйымдастыру үшін For және while операторлары қызмет
етеді. Мысал ретінде о ден 10 ға дейінгі сандарды шығарып беретін
бағдарлама жасаймыз. Әдеттегідей консолдық қосымшаны қосамыз.
While операторының жазылу үлгісі төмендегідей:
While (циклдың аяқталу шарты)
{
денесі
}
For операторының жазылу үлгісі төмендегідей:
{
циклдың аяқталу шарты
}
Біз редактор кодында For операторын пайдаланып мынадай операторларды
енгіземіз:
# includeconio.h
# includestdio.h
#pragma hdrstop
--------------------------------- ----------------------------------- ------
-
#pragma argsused
int main(int argc, char* argv[])
{
int a;
for (a=0;a=10;a=a+1)
printf("%d\n");
getch();
Осындай котдар қатарын енгізіп болғаннан соң қосымшаны іске қосамыз яғни
компиляцияға жібереміз. Компиляция біз жазған С тіліндегі кодтарды
машиналық кодқа айналдырып программаны іске қосады.
Нәтижеде консольдық қосымшамыз мынадай көріністе пайда болады
Жоғарыдағы код терезесіндегі жұмыс барысы мынадай болады:
Бірінші int a – 0 ден 10-ға дейінгі а - айнымалының типі бүтін сан
екендігін анықтайды. Екінші for (a=0;a=10;a=a+1) бұл жерде циклда алғашқы
а айнымалысына 0 мәні меншіктеліп тұр яғни цикл о санынан басталады. a=10;
бұл жерде шарттің негізгі бөлігі көрсетілген яғни а айнымалысы 10-нан үлкен
болғанша цикл айнала береді, егер а айнымалысы 10-нан үлкен болған жағдайда
цикл аяқаталып келесі оператор орындалады. a=a+1 бұл жерде циклдың шетчигі
көрсетілген әрбір цикл айналған сайын а айнымалының саны 1-ге артып отырып,
шартқа барып тексеріледі. Нәтижеде а айнымалысы 11 мәнге ие болғаннан соң
ол шартқа барып шарт жалған мәнге ие болады да циклдан шығып кетеді.
printf("%d\n") қатарындағы printf-экранға шығару, %d-integer типі үшін
жазылатын символ, ал егер float типті болса, онда -%а болады, егер String
типті болса, онда - %s жазылатын болады. getch() операторы нәтижені экранда
ұстап тұру үшін қолданылады. Біз пернетақтадан қандайда бір клавишті
баспағанымызша осы getch() операторы орындалып тұра береді. Егер қандайда
бір клавишіт басатын болсақ онда қосымшамыз жабылады.
Символдық тұрақтылар
Бағдарлама денесінде нақтылы сандарды беру жақсы стиль емес, ондай іс
әрекеттер бағдарламаның одан арғы модификациясын және оның түсінуін
қиындатады. Сондықтан бағдарламаны жарату барысында нақтылы сандарды
бағдарламаның басында сипаттап өтуге болады. Ол үшін #define операторы
пайдаланылады. Осы оператор қолданған жағдайда бағдарламадағы нақты
сандардың орнына символдық тұрақтылар пайдаланылады. Жазылу үлгісі мынадай
болады:
#define “айнымалы аты” “мән”
Мысалы ретінде жоғарыдағы For операторын пайдаланып жазған бағдарламамызға
осы операторды қолданамыз.
# includeconio.h
# includestdio.h
#pragma hdrstop
#define k 0
#define b 10
#define c 1
--------------------------------- ----------------------------------- ------
-
#pragma argsused
int main(int argc, char* argv[])
{
int a;
for (a=k;a=b;a=a+c)
printf("%d\n");
getch();
}
--------------------------------- ----------------------------------- ------
int a;
for (a=0;a=10;a=a+1)
printf("%d\n");
Бұл жерде:
#define k 0 - а айнымалысы k 0 символдық тұрақтының мәнін пайдаланады.
#define b 10- а айнымалысы b 10 символдық тұрақтының мәнін пайдаланады.
#define c 1- а айнымалысы с 1 символдық тұрақтының мәнін пайдаланады.
Бағдарламаны іске қосқаннан кейін жоғарыдағыдай нәтижеге ие болады.
Функция дегеніміз не?
Функциялар есептеу жүйелерінде пакеттеуде қолайлы жол болғаны үшін
көп қолданылуы талап етеді. Функциялар анықтамалары екі бөлімнен тұрады:
интерфейс және денесі. Функция интерфейсі (функция прототипі) функцияның
қалай орындалуына арналған. Ол үш бөлімнен тұрады:
Функция аты: бұл жай бірлік идентификатор.
Функция параметрі: бұл функциядан және функцияға мәндердің өтуі үшін
қолданылатын идентификатор типі.
Функция қайту (ретурн) типі: бұл функция ретурн мәнін анықтайтын
тип.
Функция денесі функцияны қосатын есептеу басқыштарынан тұрады.
Функцияны қолдану оны “шақыруды” білдіреді. Функцияны шақыру оның
атын фигуралы жақша ішінде бос “( )” немесе үтірлер жәрдемінде ажратылған
аргументтер жазылатын амалдан пайдаланып жазуылуын құрайды. Аргументтер
саны функцияның параметрлерімен сәйкес келеді. әрбір аргумент типі
функция интерфейсі ішіндегі лайықты параметр типіне сәйкес келуі тиіс.
Функцияны шақыруы орындалғанда, бірінші аргумент орындалады, соң
оның жауаптағы мәні лайықты параметрмен көрсетіледі. Соң, функция денесі
орындалады. Ең соңында, егер болса, функция ретурн мәні шақырушыға өтеді.
2.Жай функциялар.
Төмендегі мысал жай функциядан пайдаланып, берілген бірінші бүтін
санды екінші оң бүтін санды дәрежесіне асыратын программа.
1 int Power (int base, unsigned int exponent)
2 {
3 int result = 1;
4 for (int i = 0; i exponent; ++i)
5 result *= base;
6 return result;
7 }
Түсінік:
1. Бұл қатар функция интерфейсін анықтайды. Бұл функцияның ретурн
типімен басталады (бұл жағдайда int). Соң функция аты, параметрлерінен
алдын жазылады. Power екі параметрден (base және exponent) тұрады,
олардың типтері сейкесінше int және unsigned int. Көргеніңіздей,
параметрлердің жазылу синтаксисі айнымалылардың жазылу синтаксисіне
ұқсас. Бірақ, бір типке ие параметрлерді үтір жәрдемінде жазу мүмкін
емес.
Функцияның анықталуы прототиптерінен құралғандықтан, ол сипаттама
сияқты қызмет етеді. Сондықтан, функция қолданылудан алдын функция
анықтамасы істетілсе, функцияның сипаттамасын қосу қажет емес. Функция
прототипін қолданылуы барлық жағдайларға негізделген. Бұл программистерге
функциялардың толық анықтамаларын оқымастан оңай функцияларға енуде
қолайлылық тудырады.
3. Функция прототипі
ANSI С стандартын қабылдаған соң, С тілінде функциялардың программалау
принциптері өзгертірілді. Функция прототиптерінің қолданылуы негізінде
қалдырылып, С++ тілінде оның мүмкіншіліктері кеңейтірілді. С++ программалау
тілі компиляторы С тілінде жазылған функцияларды да біргелікте орындай
алады.
ANSI С стандартына көре кез-келген функция прототиптерге ие болуы, еш
болмағанда сипатталған қайту мәні, типі және аргументтер типі, аты
көрсетілген функция болуы қажет. Функция прототипі компиляторды функцияға
қажетті аргументтер және қайту типі мәндері ақпараттарымен қамтамасыз
етеді. Бұл компиляторды типтерді тексеруге алып келеді.
4. Функциялардың берілу синтаксисі
Жаңа тәсіл бойынша функцияның сипатталу синтаксисі
Нәтиже_типі функция_аты(аргумент_типі міндеттіемесаргумент_аты[,...]);
Функция void, int, float типтердегі мәндерді қайтаруы мүмкін. Функция
атын қалауымызша қойыуымызға болады, бірақ мүмкіншілігінше атқаратын
қызметіне сәйкес қойылғаны дұрыс. Егер функция орындалуында аргумент
көрінісінде қажетті мәндер берілмесе, фигуралы жақша ішінде аргументтер
типін толықтыруға болады. Егер аргументтер бірнеше болса, олар үтірлер
жәрдемінде ажратылады. Прототипте тек аргументтер аты берілместен, типі
берілуі қате болмайды. Бұндай көріністе прототиптердің жазылуы кітапханалық
функцияларда болады.
Функцияның сипатталуы программалау ережесіне сәйкес, main () функциясы
денесінен алдын келеді.
Нәтиже_типі функция_аты( аргумент_типі аргумент_аты[, ...])
{
.
.
функция денесі
.
.
}
Ескерте кететін жайт, функция тақырыбы қатары оның прототипінен жеке және
нүктелі үтір жәрдемінде аяқталмайды.
Төмендегі мысал функциялардың сипатталуына көрсетілген.
Prototyp.cpp
#include iostream.h
int iadder (int ix, int iy); функция прототипі
int main()
{
int ia = 23;
int ib = 13;
int ic;
ic = iadder(ia, ib);
cout “Qosindi ten” ic “\n”;
return (0);
}
int iadder(int ix, int iy) функцияның сипатталуы
{
int iz;
iz=ix+iy;
return(iz); мәннің қайтуы
}
мұнда функция аты iadder() аталады. Ол екі бүтінсанды аргументтер
қабылдайды және бүтін санды мәнге қайтады.
Шартты оператор
Сс++ тілінде 4 базалық таңдау инструкциялары бар: if, ifelse,
swithcase және “?” операторы. Оларды жеке –жеке қарастырудан алдын,
шартты өрнектерді құрудың жалпы принциптерін айтып өтелік. Таңдау
иструкциясы программаның белгілі бір блоктарын таңдап орындауға
қолданылады.
Бұл блоктар бір не бірнеше қатардан тұруы мүмкін. Бірінші жағдайда
қатар фигуралық жақшаға алынбайды, ал екіншіде блок түгел алынады.
If инструкциясы команданы не командалар блогын шарттың ақиқат не
жалған болуына байланысты орындалады.
Қарапайым көрінісі (синтаксисі).
If (шарт) өрнек;
Егер шарт тексерудің нәтижесі ақиқат (true) болса, онда өрнек
орындалады, одан соң келесі қатарлар орындалып кете береді.
Ал, егер шарт нәтижесі false мәнін (жалған) берсе, өрнек орындалмай,
тастап кетіледі.
Ifelse инструкциясы шарттқа байланысты 2 өрнектің бірін таңдап
орындауға мүмкіндік береді.
Синтаксисі:
If (шарт)
өрнек1:
else
өрнек2:
Егер шарт тексеру мәні true болса, онда өрнек1 орындалады , кері
жағдайда өрнек2
Мысалы:
If (ckeupressed==up)
iu_pixel_coovd++
else iu_pixel_coovd—
Келтірілген программа бөлігінде ckeypressed айнымалысының мәніне қарай
тышқан көрсеткішінің горизонтал координатасы жоғарылайды (артады) не
кемиді( төмендейді. (ckeyressed айнымалысы басылған клавиштің кодын
меншіктейді)
Егер if және else-нің операторлық бөлімі бір емес бірнеше өрнектерден
тұрса, онда оларды фигуралық жақшаға алу керек.
? шартты операторы
? операторы қарапайым бір қатарлы шартты өрнектер құруға мүмкіндік береді.
Синтаксисі:
шарт ? өрнек бір : өрнек екі;
? операторы тернарлы деп аталады, өйткені ол тек 3 операнданы ғана керек
етеді.
Мысал:
if (fr=0.0)
fr=fr;
Мұны ? шартты операторының көмегімен бір қатарға жазуға болады:
fr=(fr=0.0) ? fr : -fr;
Құралдар панелі
Құралдар панелі (панель инструментов) - Көптеген программаларда мұндай
құралдар панельнің бір түрі ғана көрсетілген болса С++ - да мұның
бірнеше жиына бар. Әрбір батырманың атын білу үшін тышқан көрсеткішін
батырманың үстіне алып баратын болсақ оның қалғып шығатын атын көруге
болады.
Түстер палитрасы (палитра компонентов) – С++ -дың құралдар панельнің бірі
болып есептеледі яғни басқалардан ерекшеленіп тұрады. Компонент дегеніміз
- бұл келешектегі басқару элементтерін дайындау .
Түстер компонентінде бірнеше қосымшалар орналасқан, әрбір қосымшаның
өзіне тиісті компоненттері жайғасқан.
Келешекте біз құратын программаларда осы қосымшаларда жайғасқан
компоненттердің бірнешеуін пайдаланамыз.
Қасиеттер терезесі (инспектор объектов) – Осы терезенің көмегімен
қолданылатын компоненттер жиыны ретке келтіріледі. Біз бұл қасиеттер
терезесін көп пайдаланатын боламыз.
Пішін терезесі(Окно кода) – бұл келешекте құратын программаларды
дайындайтын терезе. Әрбір программа бір пішін терезесінде орналасады.
Ашылған жаңа пішін Форма 1 деген атқа ие болып саналады, еген 2- ші жаңа
пішін ашатын болсақ ол Форма2 деген стандартты атқа йе болады. т.с.с.
Кодтар терезесі (Unit.cpp Окно кода) – бұл терезені программа кодтарын
енгізу үшін пайдаланамыз. Ал кодтар жоғарыда айтып кеткендей {} жақшаның
ішіне жазылады.
Окно терезесі (Окно объекта) – бұл терезеде ашылған пішімнің яғни форманың
және пішімге қойылған компоненттері каталогтар көрінісінде көрсетіліп
тұрады.
Switchcase case конструкциясы.
Бір айнымалыны бірнеше мәндермен тең не тең еместігін
тексеруге тура келетін жағдайлар жиі кездеседі. Бұны ifelseif
конструкциясының көмегімен не осыған ұқсас конструкция switchcase
көмегімен орындай аламыз. Оның синтаксисі мынадай.
switch (бүтін санды өрнек)
case константа 1
өрнек 1
break;
case константа2
өрнек2
break;
.
.
.
case константаn
өрнекn
break;
detault
‡нсіз келісім бойынша әрекет break инструкцияның барлық
тармақтарда (default тан бөлек) қайталанатынын байқаймыз. Егер өрнек1 ден
кейінгі break-ты алып тастасақ, онда өрнек1 орындалғанан соң, switch
конструкциясы жұмысын аяқтаудың орнына, жалғасып өрнек2 де орындалады.
Демек break тармақтардың бірі орындалған соң басқаларын орындамай, тастап
кетуді атқарады.
Мысалы: Төмендегі фрагментті switchcаse конструкциясын пайдаланып
қайта жазамыз.
if (more= =smu)
f=5;
else if (more= = smd )
f=-5;
else if (more= = lmu)
f=10;
else f=-10;
switch (more )
{
case smu: f=5; break;
case smd: f=-5; break;
case lmu: f=10; break;
default: f=-10;
}
Бұл жерде more айнымалысының мәні біртіндеп case бұтақтарындағы smu,
smd, lmu константаларымен (тұрақтыларының) салыстырылып тура келсе, f-ке
сәйкес мәні меншіктеледі. Бадан соң break инструкциясы басқаруды } жабылған
жақшадан кейінгі қатарға береді. Егер ешқайсысынада сәйкес келмесе, онда
default инструкциясы орындалады. Default бұтағының болуы міндетті емес
екендігін ескерте кетелік. Default блоктың соңғы қатары болғандықтан, одан
кейін break инструкциясын жазудың қажеті жоқ.
Мысал:
іnt main()
{
char c= ‘a’;
int ivowel=0, iconst=0;
switch(c)
{
case ‘a’:
case ’A’:
case ‘e’:
case ’E’:
case ’i’;
case ‘I’:
case ’o’;
case ’O’:
case ’u’:
case ’U’: ivowel ++;break;
default: iconst++;
}
refurn(0);
}
Егер с айнымалысы aғылшын тілінің кез келген дауысты дыбысының ASCII кодына
тең болса, (‘a’-әрпінің ASCII коды) онда ivowel айнымалысының мәні бірге
артады, кері жағдайда iconst бірге артады.
ComboBox компоненті
ComboBox компоненті тізімдер құруға арналған компонент. Бұл компонент
Standart қосымшасында орналасқан. ComboBox компонентінің ең негізгі қасиеті
Style (Стиль) қасиеті болып табылады. Осы қасиеті арқылы өзімізге керек
нұсқаны таңдаймыз яғни ашылу тізім нусқасын таңдау үшін csDropDownList
(раскрывающийся список) мәнін таңдауымыз керек. Ал, тізім атауларын жазу
үшін ComboBox компонентінің Inspector Object терезесіндегі Items (пункты)
қасиетін таңдауымыз керек. Осы Items қасиеті таңдалғанан соң оң жағында үш
нүктелі батырма пайда болады, сол батырманы щерту арқылы -StringListEditor
(редактор списка строк) тізімдер қатарының редакторы терезесі ашылады. Бүл
редактор терезесі тізім қатарын ендіру үшін қолданғаны үшін әр жолға бір
сөз жазылады, келесі жолға өту үшін Ентер клавиші пайдаланылады. Тізімді
қүрып болғаннан соң StringListEditor редактор терезесінің ОК батырмасын
басу керек. Нәтижеде формада ашылатын тізім компонентін көруге болады.
atexit() функциясы
Програмамны нормал режимде не exit() функциясы арқылы аяқтаған уақытта
кейбір “соңғы” әрекеттерді орындауға қажет болады. Бұл үшін atexit()
функциясы қолданылады. Ол аргумент ретінде функция атынқабылдайды және бұл
функция соңғы орындалатын функция болады.
Мысал.
# include stdio.h
# includestdlib.h
void fn1 (void);
void fn2 (void);
void fn3 (void);
int main()
{
atexit(fn1);
atexit(fn2);
atexit(fn3);
printf (“atexit програмасы қосылды.\n”);
printf (“atexit програмасы аяқталды\n”);
printf (“\n\n”);
return(0);
}
void fn1 (void);
{
printf (“fn1 функциясы іске қосылды.\n”);
}
void fn2 (void);
{
printf (“fn2 функциясы іске қосылды.\n”);
}
void fn3 (void);
{
printf (“fn3 функциясы іске қосылды.\n”);
}
Програманы іске түсірген соң экранға мынадай информация шығарылады:
atexit програмасы қосылды
atexit програмасы аяқталды
fn3 функциясы іске қосылды.
fn2 функциясы іске қосылды.
fn1 функциясы іске қосылды.
atexit() функциясының жалғыз аргументі бұл – програма аяқталысымен
шақырылатын функция аты. Бұл функция программа exit() арқылы не нормал
режимде аяқталуына қатыссыз шақырыла береді:
Шындығында atexit() функциясы програмам аяқталған соң орындалатын
функцияларды регистрация (тіркеп) жасап отырады. Функциялардың орындалу
реті олардың тіркелу ретіне кері болады. Яғни бірінші тіркелген функция
соңынан, ал соңғысы бірінші орындалады.
“Соңғы” функциялар жадыдан динамикалық құрылған объекттерді жою үшін
қолданылады. Бір объект басқа бір объект негізінде құрылуы мүмкін
болғандықтан, оларды жадыдан жою кері ретпен жүргізіледі.
MainMenu
MainMenu (строка меню) - бүл компонент Standart
қосымшасында орналасқан. Оның көрінісі түрінде болады. MainMenu
компоненті - арнайы мәзір қүру үшін мүмкіндік беретін компонент яғни бүл
компонент мәзір қүру үшін қолданылады. MainMenu компонентін формаға
орнатқаннан соң оның өлшемін өзгерту мүмкін емес. MainMenu компонентімен
жүмыс істеу іс-әрекеттері төмендегідей:
1. Standart қосымшасынан MainMenu компонентін таңдап формаға
жайғастырамыз;
2. Формада жайғасқан MainMenu объектісінде 2 рет щерту арқылы
Form - MainMenu редактор терезесін ашып аламыз көрінісі
төмендегідей болады.
3.Object Inspector терезесіндегі Caption қасиетінде мәзірдің атауын
жазамыз. Жазып болып Ентер клавишін бассақ MainMenu
компонентінң Name қасиетінде C++ Builder системасы автоматты
түрде атауы Nl деген атауды жазады. Ал, біз жазған мәзір атауы
формада пайда болады.Бүл іс-әрекетті практикалық сабақта байқауға
болады. Егер мәзірдің келесесі элеменнтерін жазатын болсақ оларға
C++ Builder системасы Name қасиетінде автоматты түрде меню
атауы 1,2,3,4 т.сс. атауларды беретін болады. Ал, егер мәзірді оң
жақтан немесе төменнен ашу үшін алдынғы ашқан мәзірге атау беріп
содан соң CTRL + - клавиштерін пайдаланып ашуға болады.
4.Мәзірлерге код ендіру үшін мәзірде ек рет щерту арқылы ашуға
болады. Біз алдыңғы өткен лекцияларымызда код терезесін ашу үшін
компоненттің өзінде екі рет щерту арқылы ашқан болатынбыз. Ал,
компоненттің өзінде екі рет щерту арқылы ашқан болатынбыз. Ал, MainMenu
компонентінде олай емес код терезесін ашу үшін Form - MainMenu редактор
терезесіндегі корсетілген мәзір атауында екі рет щерту арқылы код терезесі
ашылады. Егер біз MainMenu компонентінде 2 рет щертетін болсақ Form -
MainMenu редактор терезесінің ашылатынын көреміз.
PopupMenu (контекстік меню) - бұл компонент жанама мәзір құру үшін
қолданылады. Бүл компонентің орындалуы яғни жүмыс істеу принципі MainMenu
компонентімен бірдей. Бүл компонент Standart қосымшасында орналасқан
көрінісі түрінде болады. Осы компоненті екі шерту арқылы Form -
PopupMenu редактор терезесі ашылады ...
2. MainMenu және PopupMenu компоненттерін пайдаланып мәзір жолын құру.
Суретті көретін қарапайым программа жасау.
1. ... жалғасы
Тілдің алфавиті дегенде сол тілде істетілетін символдар жиынына айтылады.
С++ тілінің алфавитінде 52 латын әріптері бар. Олар:
1. Aa, Bb, ... ... ... ..Zz әріптері.
2. 0,1,2, ... ... ... ... ... 9 араб сандары немесе цифрлары.
3. Кириллица әріптері (түсініктеме үшін)
4. Арнайы символдар *,+,-,,;, т.б.
Си тілінде идентификатор кез-келген символдар тізбегінен тұрады. Бірақ
идентификатор саннан басталмауы керек. Идентификаторда үлкен әріптермен
кіші әріптер әртүрлі деп есептеледі. Си тілінде түсініктеме
(коментарийлер) * мәтін * - ішіне жазылады. Бұлардың арасындағыларды
компилятор оқымайды. Ал, меншіктеу командасы “=” символымен белгіленеді.
Программаның коды фигурный жақшаның жазылады
{
}
{}- паскальдағы begin мен end сияқты істетіледі.
F9 – программаны іске қосу
# Include vcl.h
Include – паскальдағы uses пен бірдей
vcl.h – енгізу, шығару командасын сақтайтын файл.
Берілгендер және олардың типтері
1. Бүтін типтердің элементтері бүтін сандар болады. Int, Long, Short,
Char, Signed, Unsigned
Айнымалылар және тұрақтыларды жазу
Int. x,y:
Short a,b:
Int const A=5:
2. Нақты типтер float, double, long double
2. С++ тілінің операторлары
Операторлар (operators) - берілгендерді өңдеу үшін қолданылатын қызметші
сөздер. Операторлар есептеулер, салыстырулар, меншіктеулерді сонымен
қатар басқа ерекше көп есептерді орындайды. С++ тілінде операторлардың
саны өте көп . Төменде ең жиі қолданылатындары ғана көрсетілген.
Арифметикалық операторлар
Оператор Амалы Мысал
+ Қосу х=х+z;
- Алу х=х-z;
* Көбейту х=х*z;
Бөлу х=хz;
Меншіктеу операторлары
Оператор Амалы Мысал
= Меншіктеу х=10;
+= Қосу мен меншіктеу х+=10; (х=10
мен бірдей)
- = Алу мен меншіктеу х- =10;
*= Көбейту мен х* =10;
меншіктеу
= Бөлу мен меншіктеу х =10;
Логикалық операторлар
Оператор Амалы Мысал
&& Логикалық If(x&& 0*FF)
{ ... .}
Логикалық немесе If (x 0 *FF)
{ ... }
Қатынас (отношения) операторлары
Оператор Амалы Мысал
== Тең If(x==10) { ... ..}
!= Тең емес If(x!=10) { ... ..}
Кіші If(x10) { ... ..}
Больше If(x10) { ... ..}
= Кіші немесе тең If(x=10) { ... ..}
= Үлкен немесе тең If(x=10) { ... ..}
Операторлар преинкрементный (pre-inkrement) және постинкрементный (post-
increment) бола алады. Преинкрементный (++x) түрі компиляторға: айнымалының
мәнін артып содан соң айнымалыны пайдалан дегенді білдіреді.
Постинкрементный (х++) түрі компиляторға: алдымен айнымалыны пайдаланып
содан соң айнымалының мәнін арту амалын орында дегенді білдіреді.
C++Builder Қосымша файлдар түрлері
Жаңа жоба үшін С++Builder жүйесі кем дегенде алты (GUI-қосымша типті) файл
жасайды. Олар:
жобаның негізгі файлы
басты пішіннің негізгі файлы
басты пішіннің тақырыптық файлы
басты пішіннің қорлар файлы
қосымша қорлардың файлы
жобаның ақпараттық файлы
Жобаның негізгі файлы (project source file ) - Win Main() функциясын
сонымен қатар С++Builder жүйесінің кодтарын құрайды. Сідздер бұл файлды
мәзір қатарындағы Project-View Source командасы арқылы көре аласыздар.
Басты пішіннің негізгі файлы және басты пішіннің тақырыптық файлы –
жариялаулар (объявления) және негізгі пішіннің класстарының анықтамаларын
құрайды. С++Builder жобадағы әрбір пішінге қосымша негізгі және тақырыптық
файлдар жаратып отырады.
Басты пішіннің қорлар файлы және қосымша қорлардың файлы - басты пішінді
және қосымшалардың белгісін суреттейді.
Жобаның ақпараттық файлы -- негізгі файлдар атын және пішінді, жобаға
енетін керекті кітапханалық фалдар атын мәтіндік файл түрінде бейнелейді.
Кітапханалық файлдар .lib кеңейтпесіне ие болады.
С++Builder системасында қолданылатын кеңейтпелер.
• .СРР - С++ - тің негізгі файлдары. Әдеттегідей әрбір модульғе
бір файл және басты жоба үшін бір файл.
• .DFM – Пішіннің файлы (from file). Пішін мен компоненттердің
бейнелеуін құрайды. Әрбір пішінге .DFM файлы сәйкес келеді.
• .DSK - Пішінде орналасқан барлық компоненттердің өлшемдерін,
жайларының сақталуын қадағалайды.
• .EXE – бағдарламаның орындаушы файлы.
• .H - C ++ - тің жариялаулар (объявления ) класын құрайтын
тақырыптық файл. Ол C ++ -тің файлы немесе сіздің өзіңіздің
жеке файылыңыз болуы мүмкін.
• .OBJ - компилятордың екілік объектілік файлы. Бұл файлдар
С++ - тің компиляция барысында жасалады.
• .MAK - жобаның ақпараттық файлы. Бұл С++ жүйесіне компиляция
жасау үшін пайдаланылатын мәтіндік файлдар тізімі.
• .RES – компилятор қорлары жарататын екілік қорлар файлы.
• .TDW – Жөңдеушінің (отладчик) символдық кестесі. Бұл файл
жөндеу сеанстарының уақытында жөңдеушімен қолданылады.
C++Builder жүйесі жасайтын файлдарды екі категорияға бөлуге болады:
жоба құрылып жатқандағы құрылатын негізгі жоба және компиляция барысындағы
құрастыру жобасы. Мысалы: егер сіз барлық негізгі файлдарыңызды басқа
компьютерге өткізетін болсаңыз, сізге C++Builder жүйесі қолданатын қосымша
файлдарды ғана көшіруіңіз керек. Әдеттегідей негізгі файлдар басқа жоба
файлдарымен салыстырғанда өлшемі кіші болады және көп жайды талап етпейді.
Кеңейтпелерден ең аз дегенде .CPP, .H, .DFM және .MAK типті файлдарды
құрайды. Ал, қалған файлдарды программа құру барысында C++Builder жүйесі
өзі жаратады.
Циклдық операторлар
1. For және While операторы.
2. For операторын пайдаланып мысал келтіру.
С тілінде цикл ұйымдастыру үшін For және while операторлары қызмет етеді.
Мысал ретінде о ден 10 ға дейінгі сандарды шығарып беретін бағдарлама
жасаймыз. Әдеттегідей консолдық қосымшаны қосамыз.
While операторының жазылу үлгісі төмендегідей:
While (циклдың аяқталу шарты)
{
денесі
}
For операторының жазылу үлгісі төмендегідей:
{
циклдың аяқталу шарты
}
Біз редактор кодында For операторын пайдаланып мынадай операторларды
енгіземіз:
# includeconio.h
# includestdio.h
#pragma hdrstop
--------------------------------- ----------------------------------- ------
-
#pragma argsused
int main(int argc, char* argv[])
{
int a;
for (a=0;a=10;a=a+1)
printf("%d\n");
getch();
Осындай котдар қатарын енгізіп болғаннан соң қосымшаны іске қосамыз яғни
компиляцияға жібереміз. Компиляция біз жазған С тіліндегі кодтарды
машиналық кодқа айналдырып программаны іске қосады.
Нәтижеде консольдық қосымшамыз мынадай көріністе пайда болады.
Жоғарыдағы код терезесіндегі жұмыс барысы мынадай болады:
Бірінші int a – 0 ден 10-ға дейінгі а - айнымалының типі бүтін сан
екендігін анықтайды. Екінші for (a=0;a=10;a=a+1) бұл жерде циклда алғашқы
а айнымалысына 0 мәні меншіктеліп тұр яғни цикл о санынан басталады. a=10;
бұл жерде шарттің негізгі бөлігі көрсетілген яғни а айнымалысы 10-нан үлкен
болғанша цикл айнала береді, егер а айнымалысы 10-нан үлкен болған жағдайда
цикл аяқаталып келесі оператор орындалады. a=a+1 бұл жерде циклдың шетчигі
көрсетілген әрбір цикл айналған сайын а айнымалының саны 1-ге артып отырып,
шартқа барып тексеріледі. Нәтижеде а айнымалысы 11 мәнге ие болғаннан соң
ол шартқа барып шарт жалған мәнге ие болады да циклдан шығып кетеді.
printf("%d\n") қатарындағы printf-экранға шығару, %d-integer типі үшін
жазылатын символ, ал егер float типті болса, онда -%а болады, егер String
типті болса, онда - %s жазылатын болады. getch() операторы нәтижені экранда
ұстап тұру үшін қолданылады. Біз пернетақтадан қандайда бір клавишті
баспағанымызша осы getch() операторы орындалып тұра береді. Егер қандайда
бір клавишіт басатын болсақ онда қосымшамыз жабылады.
Символдық тұрақтылар
Бағдарлама денесінде нақтылы сандарды беру жақсы стиль емес, ондай іс
әрекеттер бағдарламаның одан арғы модификациясын және оның түсінуін
қиындатады. Сондықтан бағдарламаны жарату барысында нақтылы сандарды
бағдарламаның басында сипаттап өтуге болады. Ол үшін #define операторы
пайдаланылады. Осы оператор қолданған жағдайда бағдарламадағы нақты
сандардың орнына символдық тұрақтылар пайдаланылады. Жазылу үлгісі мынадай
болады:
#define “айнымалы аты” “мән”
Мысалы ретінде жоғарыдағы For операторын пайдаланып жазған бағдарламамызға
осы операторды қолданамыз.
# includeconio.h
# includestdio.h
#pragma hdrstop
#define k 0
#define b 10
#define c 1
--------------------------------- ----------------------------------- ------
-
#pragma argsused
int main(int argc, char* argv[])
{
int a;
for (a=k;a=b;a=a+c)
printf("%d\n");
getch();
}
--------------------------------- ----------------------------------- ------
int a;
for (a=0;a=10;a=a+1)
printf("%d\n");
Бұл жерде:
#define k 0 - а айнымалысы k 0 символдық тұрақтының мәнін пайдаланады.
#define b 10- а айнымалысы b 10 символдық тұрақтының мәнін пайдаланады.
#define c 1- а айнымалысы с 1 символдық тұрақтының мәнін пайдаланады.
Бағдарламаны іске қосқаннан кейін жоғарыдағыдай нәтижеге ие болады.
C++ Builder жүйесінің басты мәзірі және құралдар тақтасы
C++ Builder – бұл С++ тіліндегі қосымшаларды (приложений, RAD - rapid
application development) жылдам өңдеуге арналған Borland фирамасының жаңа
өнімі. Компонент - арнайы алдын ала анықталған мақсатты орындаушы, мысалы,
мәтінді елестетуі, тізім терезелерін немесе элементтерді редакциялау.
Компоненттердің палитрасының астында, экранның сол жағына тиістіре,
қасиеттер терезесі (Object inspector) орналасқан. Қасиеттер терезесі арқылы
компоненттердің қасиеттерін және оқиғаларын өзгерте аласыздар. Объектілер
терезесінің бір немесе екі қосымшасы болады, бірақ ол қандай компонент
таңдалғанына байланысты. Олар Properties және Events қосымшалары.
Properties қосымшасы барлық уақытты бар болады. Properties қосымшасы
компоненттің іс - әрекетін анықтайды. Әдеттегідей қасиеттер терезесінде
Events қосымшасы орналасқан. Оқиғалар пайдаланушы компонентке қандайда бір
іс-әрекет жасағанда болады, мысалы тышқанмен щерткенде.
Events (оқиға)- бұл пайдаланушының компонентке жасалған қандайда
бір іс-әрекеттері. Инспектор объектов терезесінің оң жағында жұмыс алаңы
орналасқан. Бұл жерде алғаш болып пішін редакторы(Form Editor) орналасқан.
Аңғарған болсаңыз бұл жерде редактордың түрлері жасалынады.
Пішін бағдарламаның сухбаттық терезесі және басқа типтегі терезелері басты
негізгі терезе болуы мумкін. Пішін жарату барысында, пішіннің көмегі арқылы
оған компоненттерді орналастыру және өлшемдерін, жайын өзгерту сияқты іс-
әрекеттері орындалады. Пішін терезесінің артында код терезесі (Code
Editor) жасырылған. Код терезесінд жасап жатқан бағдарламаның тексті
жазылады. Қасиеттер терезесі (инспектор объектов), код терезесі, пішін
терезесі және компоненттер палитрасы бағдарлама жасау барысында бірге
өзара байланыста жұмыс істейді.
Жоғарыдағы сурет С++Builder6 жүйесінің терезесінің көрінісі
Borland C++ Builder 6 программалау тілін іске қосқаннан кейін
экранда оның негізгі терезесі ашылады. Borland C++ Builder 6 терезесі
негізгі мынадай стандартты жолдардан тұрады.
Тақырып жолы (строка заголовка)
Мәзір жолы (строка меню)
Аспаптар немесе құралдар панелі (панель инструментов)
Түстер компоненты (палитра компонентов)
Қасиеттер терезесі (объект инспекторы)
Пішін терезесі (окно формы)
Код терезесі (Окно кода)
Объект терезесі (окно объекта )
Тақырып жолы (строка заголовка)- Құжаттың аты және терезенің
өлшемдерін реттеуші үш батырма тұрады. Тақырып жолы астында мәзір жолы
орналасқан.
Мәзір жолы (строка меню) – С ++ жүйесінің негізгі командаларынан
тұрады. Тышқанның щертпесі осы менюге кіретін командалар тізімін ашып
береді. Мәзір жолының астында құралдар панелі қатарының батырмалары
орналасқан.
Құралдар панелі (панель инструментов) - Көптеген программаларда мұндай
құралдар панельнің бір түрі ғана көрсетілген болса С++ - да мұның
бірнеше жиына бар. Әрбір батырманың атын білу үшін тышқан көрсеткішін
батырманың үстіне алып баратын болсақ оның қалғып шығатын атын көруге
болады.
Түстер палитрасы (палитра компонентов) – С++ -дың құралдар панельнің
бірі болып есептеледі яғни басқалардан ерекшеленіп тұрады. Компонент
дегеніміз - бұл келешектегі басқару элементтерін дайындау .
Түстер компонентінде бірнеше қосымшалар орналасқан, әрбір
қосымшаның өзіне тиісті компоненттері жайғасқан.
Келешекте біз құратын программаларда осы қосымшаларда жайғасқан
компоненттердің бірнешеуін пайдаланамыз.
Қасиеттер терезесі (инспектор объектов) – Осы терезенің көмегімен
қолданылатын компоненттер жиыны ретке келтіріледі. Біз бұл қасиеттер
терезесін көп пайдаланатын боламыз.
Пішін терезесі(Окно кода) – бұл келешекте құратын программаларды
дайындайтын терезе. Әрбір программа бір пішін терезесінде орналасады.
Ашылған жаңа пішін Форма 1 деген атқа ие болып саналады, еген 2- ші жаңа
пішін ашатын болсақ ол Форма2 деген стандартты атқа йе болады.
Кодтар терезесі (Unit.cpp Окно кода) – бұл терезені программа кодтарын
енгізу үшін пайдаланамыз. Ал кодтар жоғарыда айтып кеткендей {}
жақшаның ішіне жазылады.
Окно терезесі (Окно объекта) – бұл терезеде ашылған пішімнің яғни
форманың және пішімге қойылған компоненттері каталогтар көрінісінде
көрсетіліп тұрады.
С++Builder жүйесінің басты мәзірі және құралдар панелі
Басты мәзір C++ Builder жүйесімен жұмыс жасауға қажетті барлық
пункттерді құрайды. C++ Builder жүйесі визуалдық маңызды дәрежелі
болғандықтан, басты мәзірін басқа бағдарлама жүйелерге қарағанда аз
мөлшерде істетуге болады. Ал, егер басты мәзірмен жұмыс жасауды
қаласаңыздар, онда сізге керекті нәрсенің барлығын құрайды.
Құралдар панелінің кескін үлесімі (конфигурация) төменде суретте
көрсетілеген:
1- жобаны ашу
2- барлығын сақтау
3- жобаға қосу
4- модульді таңдау
5- пішінді таңдау
6- іске қосу
7- тоқтату
8- файлды ашу
9- файлды сақтау
10- жобадан өшіру
11- модульді \ пішінді суреттеу
12- жаңа пішін
13- трассировка (жол тарту)
14- орындалу (пошаговое)
Құралдар тақтасымен компоненттер палитрасының ортасын бөліп тұратын
көлдеңнен түскен бөлгіш орналасқан. Егер тышқан көрсеткішін сол бөлгішке
алып баратын болсақ, тышқан көрсеткіші екі жақты бағыттауыш формасына
енеді. Сол кезде сіздер тышқан көрсеткішінің созу әдісімен солға немесе
оңға құралдар тақтасын немесе компоненттер палитрасының өлшемін, терезеде
үлкейіп немесе кішірейіп көрініп тұратындай етіп өзгерте аласыздар.
Құралдар панелін өте қарапайм түрде күйге келтіру мүмкін. C++ Builder
жүйесі батырмаларды яғни компоненттерді қосуды немесе алып тастауды өз
беттерімізше орналастыруға мүмкіндік береді. Тақталарды күйге келтіру
жанама мәзір арқылы іске асады, жанама мәзірді шығару үшін тақтаға тышқан
көрсеткішін алып барып оң жақ батырмасын щерту арқылы іске асады.
Жанама мәзірдің пункттері:
Tabs – Құралдар тақтасындағы қосымшаларды таңдау үшін пайдаланылады.
Show Hints (отображать подсказки) - Құралдар тақтасындағы орналасқан
батырмаларға (кнопка) тышқан көрсеткішін алып барғанда, әр батырманың
атын қалғып шығаратын жәрдемшіні шығаруға арналған
Hide (Скрыть) – Құралдар тақтасын алып тастау үшін пайдаланылады.
Help (Справка) - Аспаптар тақтасына арналған мәлімет бетін ашып береді.
Properties (Свойства) – Құралдар тақтасын күйге келтіру үшін (Palette
Properties) сухбаттық терезесін шақырады.
Егер құралдар тақтасын алып тастаған болсаңыз оны қою үшін мәзір
қатарындағы View -Toolbars командалары көмегімен қойылады. Құралдар
тақтасын күйге келтіру үшін Properties (Свойства) пунктісін таңдаңыздар. Ол
кезде “Palette Properties” сухбаттық терезесі ашылады. Осы ашылған
терезеде қалаған батырмамызды қоюымызға немесе алып тастауымызға болады.
Компоненттер палитрасын пайдалану
C++ Builder жүйесінің компоненттер палитрасы компоненттерді пішінге
орналастыру үшін пайдаланылады. Компоненттер палитрасы көп бетті терезені
ұсынады. Компоненттің көрінуі үшін, сол компонент жайғасқан қосымшада бір
рет щерту арқылы іске асырылады. Компонентті пішінге екі сатылы процесс
арқылы жасалады. Алдымен керекті компоненті таңдап аласыз, содан соң тышқан
көрсеткішін пішінде бір рет щертесіз. Таңдалған компонентіміздың жоғарғы
сол жақ бұрышы тышқан көрсеткішінің щертілген жерінде пайда болады. Егер
компоненттер палитрасының қосымшалар толық сыймай көрінбей тұратын болса оң
жақ шетінде айналма жолағы орналасқан. Айналма жолағы арқылы көрінбей
тұрған қосымшаларды көрсетуге болады.
Компоненттер палитрасының айналма жолағы:
Айналма-жолағы
Айналма жолағының оң жағындағы белгісінде щертетін болсақ компоненттер
палитрасының сол жақта симай тұрған қосымшалары оңға қарай жылжитын болады.
Ал, егер айналма жолағының сол жақ белгісінде щертетін болсақ, компоненттер
палитрасының оң жақта симай тұрған қосымшалары солға қарай жылжитын болады.
Жоба
Жоба - автономиялық файлдарды жаратқанда пайдаланылатын немесе
динамикалық кітапхана (DLL) арқылы құрастырылған файлдар жиыны.
C++Builder жүйесі жобаларды бірнеше қосымша файлдар арқылы басқарады.
Түсінікті болу мақсатында үлгі ретінде қарапайым қосымша жаратып,
бағдарлама жасау барысында қандай өзгерістер болатын байқаймыз. Мындай іс-
әрекеттерді орындаймыз:
1. Қатты иілгіш дискіде “Мысалы” атты жаңа папка ашамыз.
2. C++Builder жүйесін іске қосамыз.
3. Жобада автоматты түрде жаңа пішін ашылып тұрады егер жоқ болса мәзір
қатарына барып File-New Application командасын орындаймыз.
4. Жаңа пішін ашылғаннан кейін мәзір қатарына барып File-Safe Project
командасын орындаймыз.
5. Сіздерге негізгі файлды сақтайтын сухбаттық терезесі ұсынылады қатты
иілгіш дискіні көрсетіп “Мысалы” атты папкамызға файлдың атын “My
Unit” деп сақтаймыз.
6. Енді сіздерден жобаны сақтайтын сухбаттық терезесі ұсынылады,
“Мысалы” атты папкамызда жобамызды “Test” деп сақтаймыз.
7. Енді мәзір қатарынан Project-Build All Project командасын беріп
компиляцияға жібереміз.
8. Компиляция аяқталғаннан кейін ОК батырмасын щертіп, С++Builder жүйесін
File - Close All командасын беріп жауып тастаймыз.
Ал, енді “Мысалы” атты папкамызға барамыз, ол папкада бірнеше файлдарды
көреміз. Ол файлдардың барлығын біз құрған жоқпыз, біз бар болған екі файл
сақтадық. Байқайған болсаңыз бұл жерде С++Builder жүйесі жасаған бірнеше
файлды көруге болады.
Қосымша файлдар түрлері
Жаңа жоба үшін С++Builder жүйесі кем дегенде алты (GUI-қосымша типті) файл
жасайды. Олар:
Жобаның негізгі файлы (project source file ) - Win Main() функциясын
сонымен қатар С++Builder жүйесінің кодтарын құрайды. Сіздер бұл файлды
мәзір қатарындағы Project-View Source командасы арқылы көре аласыздар.
Басты пішіннің негізгі файлы және басты пішіннің тақырыптық файлы –
жариялаулар (объявления) және негізгі пішіннің класстарының анықтамаларын
құрайды. С++Builder жобадағы әрбір пішінге қосымша негізгі және тақырыптық
файлдар жаратып отырады.
Басты пішіннің қорлар файлы және қосымша қорлардың файлы - басты пішінді
және қосымшалардың белгісін суреттейді.
Жобаның ақпараттық файлы -- негізгі файлдар атын және пішінді, жобаға
енетін керекті кітапханалық фалдар атын мәтіндік файл түрінде бейнелейді.
Кітапханалық файлдар .lib кеңейтпесіне ие болады.
С++Builder системасында қолданылатын кеңейтпелер.
• .СРР - С++ - тің негізгі файлдары. Әдеттегідей әрбір модульғе
бір файл және басты жоба үшін бір файл.
• .DFM – Пішіннің файлы (from file). Пішін мен компоненттердің
бейнелеуін құрайды. Әрбір пішінге .DFM файлы сәйкес келеді.
• .DSK - Пішінде орналасқан барлық компоненттердің өлшемдерін,
жайларының сақталуын қадағалайды.
• .EXE – бағдарламаның орындаушы файлы.
• .H - C ++ - тің жариялаулар (объявления ) класын құрайтын
тақырыптық файл. Ол C ++ -тің файлы немесе сіздің өзіңіздің
жеке файылыңыз болуы мүмкін.
• .OBJ - компилятордың екілік объектілік файлы. Бұл файлдар
С++ - тің компиляция барысында жасалады.
• .MAK - жобаның ақпараттық файлы. Бұл С++ жүйесіне компиляция
жасау үшін пайдаланылатын мәтіндік файлдар тізімі.
• .RES – компилятор қорлары жарататын екілік қорлар файлы.
• .TDW – Жөңдеушінің (отладчик) символдық кестесі. Бұл файл
жөндеу сеанстарының уақытында жөңдеушімен қолданылады.
C++Builder жүйесі жасайтын файлдарды екі категорияға бөлуге болады:
жоба құрылып жатқандағы құрылатын негізгі жоба және компиляция барысындағы
құрастыру жобасы. Мысалы: егер сіз барлық негізгі файлдарыңызды басқа
компьютерге өткізетін болсаңыз, сізге C++Builder жүйесі қолданатын қосымша
файлдарды ғана көшіруіңіз керек. Әдеттегідей негізгі файлдар басқа жоба
файлдарымен салыстырғанда өлшемі кіші болады және көп жайды талап етпейді.
Кеңейтпелерден ең аз дегенде .CPP, .H, .DFM және .MAK типті файлдарды
құрайды. Ал, қалған файлдарды программа құру барысында C++Builder жүйесі
өзі жаратады.
For циклі
For циклінің синтаксисі:
for( инициализирующие выражение ; условное выражение ; молифицирующее
выражение) өрнек;
Программада for циклі кездессе алдымен инец.выр. орындалады.(Әдетте ол
есептегіш болып келеді). Бұдан соң шартты өрнек тексеріледі; оның мәні
ақиқат (true) болып тұрса цикл тоқтатылмайды.Цикл денесіндегі қатарлар
орындалып болған сайын мод. выр. орындалады, яғни есептегіштің мәні өзгеріп
отырады. Шартты өрнектің мәні false болған жағдайда цикл денесіндегі
қатарлар мод. выр. Де қолдырылып , басқару цикл денесінен кейінгі қатарға
бері леді. Егер цикл денесі бір емес бірнеше командадан тұрса онда
фигуралы жақшаны пайдалану керек. For(иниц. Выр; шартты
өрнек ; мод.выр.)
{
өрнек 1;
өрнек 2;
:
өрнек n;
}
Мысал
S=0; for
(val=1; val=5; val ++) S+=
val;
(S,Val айнымалылары бүтін сандар)
Алдымен S-ке 0-мәні меншіктеліп , сосын for циклі іске түсіріледі.
Val айнымалысына 1 меншіктеледі. Бадан соң ,val=5 шарты тексеріліп, true
мәніне ие болған соң, sum айнымалысына val –ң қазіргі мәні 1-меншіктеледі.
Бұдан соң val-ң мәні1-ге артады. Бұл процесс val 6-ға жеткенше
орындалады,6-ға тең болған уақытта тоқтайды.
С++ тілінде бұл фрагмент былай жазылады:
Sum=0;
for(int val =1; val =5; val ++)
Sum+= val;
С++ тілінде for циклінің инициализация қатарында айнымалыларды сипаттай
беруге болады. Жалпы С++ те айнымалыларды 1-ші рет қолданып отырған
қатардың алдына сипаттап жазып қоюға болады.
For циклының есептеуіші 1-ге ғана артып отыруы міндетті емес.
Мысал:
Sum =0;
For (val =16; val =9; val+=2) ;
sum +=val;
Циклдың есептеуіші val айнымалының мәні әрқадамда 2-ге артып
отырады.
Бадан бөлек, цикл есептеуіші кеміп отыруы да мүмкін.
Sum =0
for(vai=9; val =1; val--)
Sum+=val
Бір –бірінің ішіне ендірілген циклдарды жазғанда фигуралы жақшалардың
қойылуына мән беру керек.
Мысал
# include stadio.h
int main ( )
{
int I, j;
for (I=1; I=4; I++)
{
printf(‘’\ n%3d—‘’, i);
for (j=1; j=5; j++)
printf (‘’ % 3d ‘’, I*j);
}
return (0);
}
Программа нәтижесі мынадай белгілерді экранға шығарады:
1—1 2 3 4 5
2- - 2 4 6 8 10
3- -3 6 9 12 15
4- -4 8 12 16 20
Егер for циклінен кейінгі { }жақшалары қойылмаған болса экранға
берілгендер мүлде басқа түрде шығады:
-
-
-
- 5 10 15 20 25.
While операторы
СС++ тілдерінде while циклі қайталау саны алдын-ала белгісіз
жағдайларда қолданылады. Оны дейін циклі деп те атайды, яғни келесі
итерация басталмай жатып, бірінші шарт тексеріледі.
Сондықтан, шарт орындалмаса, цикл денесі бір де бір рет орындалмай
аяқталуы мүмкін.
While циклінің синтаксисі мынандай:
өрнек;
Егер цикл денесі бірнеше қатардан тұратын болса, онда фигуралық
жақшаларды қолдану керек:
While ( шарт)
{
өрнек 1
өрнек 2
... ... ... ..
өрнек n
}
Келесі программада бүтін санның екілік көрінісін экранға шығаратын
цикл құрылады.
Цикл val айнымалысының мәніне биттік жылжытуды қолдану арқылы әрбір
бит анықталғанша орындала береді.
# include studio. h
#define WORD 16
#define ONE_BYTE 8
int main( )
{
int val=256, bit_position=1
unsigned int umask=1;
printf`(“3%d\n санының”,val)
printf (“ екілік эквиваленті мынадай”).
while ( bit_pasition = word)
{
if (val (word-bit position)) & umask) *әрбір битті нольдік*
printf (“1”);
*позицияға жылжытып*
*сосын umask *
else
*константасымен*
printf (“0”);
*салыстырамыз*
if ( bit_ position=( ONE_BYTE)
printf(“ “)
bit_position++
}
return(0)
}
Бұл программа 2 тұрақтыны (константа) сипаттаудан басталады: WORD,
ONE_BYTE .
Біріншісі екілік көрінісін шығармақшы болған санымыздың биттік
ұзындығын көрсетеді. Ал екіншісі пробел қойылатын позицияны білдіреді. Бұл
- экранға разрядтарды пробел арқылы 2 топқа бөліп шығару үшін қолданылған.
While циклінде кезекпен (үлкенінен кішісіне қарай ) val айнымалысын
мәнін 1-ші позицияға биттік жылжытады, алынған санды umask айнымалысының
мәнімен салыстырады. Бұдан соң экранға салыстыру нәтижесіне байланысты 0 не
1- ді шығарады.
dowhile операторы
dowhile циклінде шарт (келесі) итерация орындалғаннан соң
тексеріледі. Басқаша айтқанда цикл денесі ең құрығанда бір рет орындалады
(шартқа дейін). for және while циклдерінде цикл денесі басында шарт
орындалмаса, бір рет те орындалмайды. Сондықтан dowhile циклін қандай
жағдайда да ең құрығанда бір мәрте орындалу керек болатын кездерде
қолданады.
Синтаксис:
do do
{
өрнек; немесе өрнек1;
while (шарт); өрнек2;
... ... ...
өрнек n;
}
While (шарт);
Мысал:
# include iostream.h
# define LENGTH 80
int main()
{
char cten[LENGTH];
int inumchar=0, inumword=1;
do
{
cout”Cөйлем ендіріңіз:”;
cin.getline(cten, LENGTH);
}
while (cten[0]==’\0’);
while(cten[inumchar]!=’\0’)
{
if (cten[inumchar]!=’ ‘ && cten[inumchar]!=’\t’&&
(cten[inumchar+1]==’ ‘ cten[inumchar+1]==’\t’
cten[inumchar+1]==’\0’))
inumword++;
inumchar++;
}
cout “Сіз”inumchar”символ ендірдіңіз”;
cout “Сіз”inumword”сөз ендірдіңіз”;
return(0);
}
С++ тіліндегі циклдық операторлар
Жоспары
1. For және While операторы.
2. For операторын пайдаланып мысал келтіру.
С тілінде цикл ұйымдастыру үшін For және while операторлары қызмет
етеді. Мысал ретінде о ден 10 ға дейінгі сандарды шығарып беретін
бағдарлама жасаймыз. Әдеттегідей консолдық қосымшаны қосамыз.
While операторының жазылу үлгісі төмендегідей:
While (циклдың аяқталу шарты)
{
денесі
}
For операторының жазылу үлгісі төмендегідей:
{
циклдың аяқталу шарты
}
Біз редактор кодында For операторын пайдаланып мынадай операторларды
енгіземіз:
# includeconio.h
# includestdio.h
#pragma hdrstop
--------------------------------- ----------------------------------- ------
-
#pragma argsused
int main(int argc, char* argv[])
{
int a;
for (a=0;a=10;a=a+1)
printf("%d\n");
getch();
Осындай котдар қатарын енгізіп болғаннан соң қосымшаны іске қосамыз яғни
компиляцияға жібереміз. Компиляция біз жазған С тіліндегі кодтарды
машиналық кодқа айналдырып программаны іске қосады.
Нәтижеде консольдық қосымшамыз мынадай көріністе пайда болады
Жоғарыдағы код терезесіндегі жұмыс барысы мынадай болады:
Бірінші int a – 0 ден 10-ға дейінгі а - айнымалының типі бүтін сан
екендігін анықтайды. Екінші for (a=0;a=10;a=a+1) бұл жерде циклда алғашқы
а айнымалысына 0 мәні меншіктеліп тұр яғни цикл о санынан басталады. a=10;
бұл жерде шарттің негізгі бөлігі көрсетілген яғни а айнымалысы 10-нан үлкен
болғанша цикл айнала береді, егер а айнымалысы 10-нан үлкен болған жағдайда
цикл аяқаталып келесі оператор орындалады. a=a+1 бұл жерде циклдың шетчигі
көрсетілген әрбір цикл айналған сайын а айнымалының саны 1-ге артып отырып,
шартқа барып тексеріледі. Нәтижеде а айнымалысы 11 мәнге ие болғаннан соң
ол шартқа барып шарт жалған мәнге ие болады да циклдан шығып кетеді.
printf("%d\n") қатарындағы printf-экранға шығару, %d-integer типі үшін
жазылатын символ, ал егер float типті болса, онда -%а болады, егер String
типті болса, онда - %s жазылатын болады. getch() операторы нәтижені экранда
ұстап тұру үшін қолданылады. Біз пернетақтадан қандайда бір клавишті
баспағанымызша осы getch() операторы орындалып тұра береді. Егер қандайда
бір клавишіт басатын болсақ онда қосымшамыз жабылады.
Символдық тұрақтылар
Бағдарлама денесінде нақтылы сандарды беру жақсы стиль емес, ондай іс
әрекеттер бағдарламаның одан арғы модификациясын және оның түсінуін
қиындатады. Сондықтан бағдарламаны жарату барысында нақтылы сандарды
бағдарламаның басында сипаттап өтуге болады. Ол үшін #define операторы
пайдаланылады. Осы оператор қолданған жағдайда бағдарламадағы нақты
сандардың орнына символдық тұрақтылар пайдаланылады. Жазылу үлгісі мынадай
болады:
#define “айнымалы аты” “мән”
Мысалы ретінде жоғарыдағы For операторын пайдаланып жазған бағдарламамызға
осы операторды қолданамыз.
# includeconio.h
# includestdio.h
#pragma hdrstop
#define k 0
#define b 10
#define c 1
--------------------------------- ----------------------------------- ------
-
#pragma argsused
int main(int argc, char* argv[])
{
int a;
for (a=k;a=b;a=a+c)
printf("%d\n");
getch();
}
--------------------------------- ----------------------------------- ------
int a;
for (a=0;a=10;a=a+1)
printf("%d\n");
Бұл жерде:
#define k 0 - а айнымалысы k 0 символдық тұрақтының мәнін пайдаланады.
#define b 10- а айнымалысы b 10 символдық тұрақтының мәнін пайдаланады.
#define c 1- а айнымалысы с 1 символдық тұрақтының мәнін пайдаланады.
Бағдарламаны іске қосқаннан кейін жоғарыдағыдай нәтижеге ие болады.
Функция дегеніміз не?
Функциялар есептеу жүйелерінде пакеттеуде қолайлы жол болғаны үшін
көп қолданылуы талап етеді. Функциялар анықтамалары екі бөлімнен тұрады:
интерфейс және денесі. Функция интерфейсі (функция прототипі) функцияның
қалай орындалуына арналған. Ол үш бөлімнен тұрады:
Функция аты: бұл жай бірлік идентификатор.
Функция параметрі: бұл функциядан және функцияға мәндердің өтуі үшін
қолданылатын идентификатор типі.
Функция қайту (ретурн) типі: бұл функция ретурн мәнін анықтайтын
тип.
Функция денесі функцияны қосатын есептеу басқыштарынан тұрады.
Функцияны қолдану оны “шақыруды” білдіреді. Функцияны шақыру оның
атын фигуралы жақша ішінде бос “( )” немесе үтірлер жәрдемінде ажратылған
аргументтер жазылатын амалдан пайдаланып жазуылуын құрайды. Аргументтер
саны функцияның параметрлерімен сәйкес келеді. әрбір аргумент типі
функция интерфейсі ішіндегі лайықты параметр типіне сәйкес келуі тиіс.
Функцияны шақыруы орындалғанда, бірінші аргумент орындалады, соң
оның жауаптағы мәні лайықты параметрмен көрсетіледі. Соң, функция денесі
орындалады. Ең соңында, егер болса, функция ретурн мәні шақырушыға өтеді.
2.Жай функциялар.
Төмендегі мысал жай функциядан пайдаланып, берілген бірінші бүтін
санды екінші оң бүтін санды дәрежесіне асыратын программа.
1 int Power (int base, unsigned int exponent)
2 {
3 int result = 1;
4 for (int i = 0; i exponent; ++i)
5 result *= base;
6 return result;
7 }
Түсінік:
1. Бұл қатар функция интерфейсін анықтайды. Бұл функцияның ретурн
типімен басталады (бұл жағдайда int). Соң функция аты, параметрлерінен
алдын жазылады. Power екі параметрден (base және exponent) тұрады,
олардың типтері сейкесінше int және unsigned int. Көргеніңіздей,
параметрлердің жазылу синтаксисі айнымалылардың жазылу синтаксисіне
ұқсас. Бірақ, бір типке ие параметрлерді үтір жәрдемінде жазу мүмкін
емес.
Функцияның анықталуы прототиптерінен құралғандықтан, ол сипаттама
сияқты қызмет етеді. Сондықтан, функция қолданылудан алдын функция
анықтамасы істетілсе, функцияның сипаттамасын қосу қажет емес. Функция
прототипін қолданылуы барлық жағдайларға негізделген. Бұл программистерге
функциялардың толық анықтамаларын оқымастан оңай функцияларға енуде
қолайлылық тудырады.
3. Функция прототипі
ANSI С стандартын қабылдаған соң, С тілінде функциялардың программалау
принциптері өзгертірілді. Функция прототиптерінің қолданылуы негізінде
қалдырылып, С++ тілінде оның мүмкіншіліктері кеңейтірілді. С++ программалау
тілі компиляторы С тілінде жазылған функцияларды да біргелікте орындай
алады.
ANSI С стандартына көре кез-келген функция прототиптерге ие болуы, еш
болмағанда сипатталған қайту мәні, типі және аргументтер типі, аты
көрсетілген функция болуы қажет. Функция прототипі компиляторды функцияға
қажетті аргументтер және қайту типі мәндері ақпараттарымен қамтамасыз
етеді. Бұл компиляторды типтерді тексеруге алып келеді.
4. Функциялардың берілу синтаксисі
Жаңа тәсіл бойынша функцияның сипатталу синтаксисі
Нәтиже_типі функция_аты(аргумент_типі міндеттіемесаргумент_аты[,...]);
Функция void, int, float типтердегі мәндерді қайтаруы мүмкін. Функция
атын қалауымызша қойыуымызға болады, бірақ мүмкіншілігінше атқаратын
қызметіне сәйкес қойылғаны дұрыс. Егер функция орындалуында аргумент
көрінісінде қажетті мәндер берілмесе, фигуралы жақша ішінде аргументтер
типін толықтыруға болады. Егер аргументтер бірнеше болса, олар үтірлер
жәрдемінде ажратылады. Прототипте тек аргументтер аты берілместен, типі
берілуі қате болмайды. Бұндай көріністе прототиптердің жазылуы кітапханалық
функцияларда болады.
Функцияның сипатталуы программалау ережесіне сәйкес, main () функциясы
денесінен алдын келеді.
Нәтиже_типі функция_аты( аргумент_типі аргумент_аты[, ...])
{
.
.
функция денесі
.
.
}
Ескерте кететін жайт, функция тақырыбы қатары оның прототипінен жеке және
нүктелі үтір жәрдемінде аяқталмайды.
Төмендегі мысал функциялардың сипатталуына көрсетілген.
Prototyp.cpp
#include iostream.h
int iadder (int ix, int iy); функция прототипі
int main()
{
int ia = 23;
int ib = 13;
int ic;
ic = iadder(ia, ib);
cout “Qosindi ten” ic “\n”;
return (0);
}
int iadder(int ix, int iy) функцияның сипатталуы
{
int iz;
iz=ix+iy;
return(iz); мәннің қайтуы
}
мұнда функция аты iadder() аталады. Ол екі бүтінсанды аргументтер
қабылдайды және бүтін санды мәнге қайтады.
Шартты оператор
Сс++ тілінде 4 базалық таңдау инструкциялары бар: if, ifelse,
swithcase және “?” операторы. Оларды жеке –жеке қарастырудан алдын,
шартты өрнектерді құрудың жалпы принциптерін айтып өтелік. Таңдау
иструкциясы программаның белгілі бір блоктарын таңдап орындауға
қолданылады.
Бұл блоктар бір не бірнеше қатардан тұруы мүмкін. Бірінші жағдайда
қатар фигуралық жақшаға алынбайды, ал екіншіде блок түгел алынады.
If инструкциясы команданы не командалар блогын шарттың ақиқат не
жалған болуына байланысты орындалады.
Қарапайым көрінісі (синтаксисі).
If (шарт) өрнек;
Егер шарт тексерудің нәтижесі ақиқат (true) болса, онда өрнек
орындалады, одан соң келесі қатарлар орындалып кете береді.
Ал, егер шарт нәтижесі false мәнін (жалған) берсе, өрнек орындалмай,
тастап кетіледі.
Ifelse инструкциясы шарттқа байланысты 2 өрнектің бірін таңдап
орындауға мүмкіндік береді.
Синтаксисі:
If (шарт)
өрнек1:
else
өрнек2:
Егер шарт тексеру мәні true болса, онда өрнек1 орындалады , кері
жағдайда өрнек2
Мысалы:
If (ckeupressed==up)
iu_pixel_coovd++
else iu_pixel_coovd—
Келтірілген программа бөлігінде ckeypressed айнымалысының мәніне қарай
тышқан көрсеткішінің горизонтал координатасы жоғарылайды (артады) не
кемиді( төмендейді. (ckeyressed айнымалысы басылған клавиштің кодын
меншіктейді)
Егер if және else-нің операторлық бөлімі бір емес бірнеше өрнектерден
тұрса, онда оларды фигуралық жақшаға алу керек.
? шартты операторы
? операторы қарапайым бір қатарлы шартты өрнектер құруға мүмкіндік береді.
Синтаксисі:
шарт ? өрнек бір : өрнек екі;
? операторы тернарлы деп аталады, өйткені ол тек 3 операнданы ғана керек
етеді.
Мысал:
if (fr=0.0)
fr=fr;
Мұны ? шартты операторының көмегімен бір қатарға жазуға болады:
fr=(fr=0.0) ? fr : -fr;
Құралдар панелі
Құралдар панелі (панель инструментов) - Көптеген программаларда мұндай
құралдар панельнің бір түрі ғана көрсетілген болса С++ - да мұның
бірнеше жиына бар. Әрбір батырманың атын білу үшін тышқан көрсеткішін
батырманың үстіне алып баратын болсақ оның қалғып шығатын атын көруге
болады.
Түстер палитрасы (палитра компонентов) – С++ -дың құралдар панельнің бірі
болып есептеледі яғни басқалардан ерекшеленіп тұрады. Компонент дегеніміз
- бұл келешектегі басқару элементтерін дайындау .
Түстер компонентінде бірнеше қосымшалар орналасқан, әрбір қосымшаның
өзіне тиісті компоненттері жайғасқан.
Келешекте біз құратын программаларда осы қосымшаларда жайғасқан
компоненттердің бірнешеуін пайдаланамыз.
Қасиеттер терезесі (инспектор объектов) – Осы терезенің көмегімен
қолданылатын компоненттер жиыны ретке келтіріледі. Біз бұл қасиеттер
терезесін көп пайдаланатын боламыз.
Пішін терезесі(Окно кода) – бұл келешекте құратын программаларды
дайындайтын терезе. Әрбір программа бір пішін терезесінде орналасады.
Ашылған жаңа пішін Форма 1 деген атқа ие болып саналады, еген 2- ші жаңа
пішін ашатын болсақ ол Форма2 деген стандартты атқа йе болады. т.с.с.
Кодтар терезесі (Unit.cpp Окно кода) – бұл терезені программа кодтарын
енгізу үшін пайдаланамыз. Ал кодтар жоғарыда айтып кеткендей {} жақшаның
ішіне жазылады.
Окно терезесі (Окно объекта) – бұл терезеде ашылған пішімнің яғни форманың
және пішімге қойылған компоненттері каталогтар көрінісінде көрсетіліп
тұрады.
Switchcase case конструкциясы.
Бір айнымалыны бірнеше мәндермен тең не тең еместігін
тексеруге тура келетін жағдайлар жиі кездеседі. Бұны ifelseif
конструкциясының көмегімен не осыған ұқсас конструкция switchcase
көмегімен орындай аламыз. Оның синтаксисі мынадай.
switch (бүтін санды өрнек)
case константа 1
өрнек 1
break;
case константа2
өрнек2
break;
.
.
.
case константаn
өрнекn
break;
detault
‡нсіз келісім бойынша әрекет break инструкцияның барлық
тармақтарда (default тан бөлек) қайталанатынын байқаймыз. Егер өрнек1 ден
кейінгі break-ты алып тастасақ, онда өрнек1 орындалғанан соң, switch
конструкциясы жұмысын аяқтаудың орнына, жалғасып өрнек2 де орындалады.
Демек break тармақтардың бірі орындалған соң басқаларын орындамай, тастап
кетуді атқарады.
Мысалы: Төмендегі фрагментті switchcаse конструкциясын пайдаланып
қайта жазамыз.
if (more= =smu)
f=5;
else if (more= = smd )
f=-5;
else if (more= = lmu)
f=10;
else f=-10;
switch (more )
{
case smu: f=5; break;
case smd: f=-5; break;
case lmu: f=10; break;
default: f=-10;
}
Бұл жерде more айнымалысының мәні біртіндеп case бұтақтарындағы smu,
smd, lmu константаларымен (тұрақтыларының) салыстырылып тура келсе, f-ке
сәйкес мәні меншіктеледі. Бадан соң break инструкциясы басқаруды } жабылған
жақшадан кейінгі қатарға береді. Егер ешқайсысынада сәйкес келмесе, онда
default инструкциясы орындалады. Default бұтағының болуы міндетті емес
екендігін ескерте кетелік. Default блоктың соңғы қатары болғандықтан, одан
кейін break инструкциясын жазудың қажеті жоқ.
Мысал:
іnt main()
{
char c= ‘a’;
int ivowel=0, iconst=0;
switch(c)
{
case ‘a’:
case ’A’:
case ‘e’:
case ’E’:
case ’i’;
case ‘I’:
case ’o’;
case ’O’:
case ’u’:
case ’U’: ivowel ++;break;
default: iconst++;
}
refurn(0);
}
Егер с айнымалысы aғылшын тілінің кез келген дауысты дыбысының ASCII кодына
тең болса, (‘a’-әрпінің ASCII коды) онда ivowel айнымалысының мәні бірге
артады, кері жағдайда iconst бірге артады.
ComboBox компоненті
ComboBox компоненті тізімдер құруға арналған компонент. Бұл компонент
Standart қосымшасында орналасқан. ComboBox компонентінің ең негізгі қасиеті
Style (Стиль) қасиеті болып табылады. Осы қасиеті арқылы өзімізге керек
нұсқаны таңдаймыз яғни ашылу тізім нусқасын таңдау үшін csDropDownList
(раскрывающийся список) мәнін таңдауымыз керек. Ал, тізім атауларын жазу
үшін ComboBox компонентінің Inspector Object терезесіндегі Items (пункты)
қасиетін таңдауымыз керек. Осы Items қасиеті таңдалғанан соң оң жағында үш
нүктелі батырма пайда болады, сол батырманы щерту арқылы -StringListEditor
(редактор списка строк) тізімдер қатарының редакторы терезесі ашылады. Бүл
редактор терезесі тізім қатарын ендіру үшін қолданғаны үшін әр жолға бір
сөз жазылады, келесі жолға өту үшін Ентер клавиші пайдаланылады. Тізімді
қүрып болғаннан соң StringListEditor редактор терезесінің ОК батырмасын
басу керек. Нәтижеде формада ашылатын тізім компонентін көруге болады.
atexit() функциясы
Програмамны нормал режимде не exit() функциясы арқылы аяқтаған уақытта
кейбір “соңғы” әрекеттерді орындауға қажет болады. Бұл үшін atexit()
функциясы қолданылады. Ол аргумент ретінде функция атынқабылдайды және бұл
функция соңғы орындалатын функция болады.
Мысал.
# include stdio.h
# includestdlib.h
void fn1 (void);
void fn2 (void);
void fn3 (void);
int main()
{
atexit(fn1);
atexit(fn2);
atexit(fn3);
printf (“atexit програмасы қосылды.\n”);
printf (“atexit програмасы аяқталды\n”);
printf (“\n\n”);
return(0);
}
void fn1 (void);
{
printf (“fn1 функциясы іске қосылды.\n”);
}
void fn2 (void);
{
printf (“fn2 функциясы іске қосылды.\n”);
}
void fn3 (void);
{
printf (“fn3 функциясы іске қосылды.\n”);
}
Програманы іске түсірген соң экранға мынадай информация шығарылады:
atexit програмасы қосылды
atexit програмасы аяқталды
fn3 функциясы іске қосылды.
fn2 функциясы іске қосылды.
fn1 функциясы іске қосылды.
atexit() функциясының жалғыз аргументі бұл – програма аяқталысымен
шақырылатын функция аты. Бұл функция программа exit() арқылы не нормал
режимде аяқталуына қатыссыз шақырыла береді:
Шындығында atexit() функциясы програмам аяқталған соң орындалатын
функцияларды регистрация (тіркеп) жасап отырады. Функциялардың орындалу
реті олардың тіркелу ретіне кері болады. Яғни бірінші тіркелген функция
соңынан, ал соңғысы бірінші орындалады.
“Соңғы” функциялар жадыдан динамикалық құрылған объекттерді жою үшін
қолданылады. Бір объект басқа бір объект негізінде құрылуы мүмкін
болғандықтан, оларды жадыдан жою кері ретпен жүргізіледі.
MainMenu
MainMenu (строка меню) - бүл компонент Standart
қосымшасында орналасқан. Оның көрінісі түрінде болады. MainMenu
компоненті - арнайы мәзір қүру үшін мүмкіндік беретін компонент яғни бүл
компонент мәзір қүру үшін қолданылады. MainMenu компонентін формаға
орнатқаннан соң оның өлшемін өзгерту мүмкін емес. MainMenu компонентімен
жүмыс істеу іс-әрекеттері төмендегідей:
1. Standart қосымшасынан MainMenu компонентін таңдап формаға
жайғастырамыз;
2. Формада жайғасқан MainMenu объектісінде 2 рет щерту арқылы
Form - MainMenu редактор терезесін ашып аламыз көрінісі
төмендегідей болады.
3.Object Inspector терезесіндегі Caption қасиетінде мәзірдің атауын
жазамыз. Жазып болып Ентер клавишін бассақ MainMenu
компонентінң Name қасиетінде C++ Builder системасы автоматты
түрде атауы Nl деген атауды жазады. Ал, біз жазған мәзір атауы
формада пайда болады.Бүл іс-әрекетті практикалық сабақта байқауға
болады. Егер мәзірдің келесесі элеменнтерін жазатын болсақ оларға
C++ Builder системасы Name қасиетінде автоматты түрде меню
атауы 1,2,3,4 т.сс. атауларды беретін болады. Ал, егер мәзірді оң
жақтан немесе төменнен ашу үшін алдынғы ашқан мәзірге атау беріп
содан соң CTRL + - клавиштерін пайдаланып ашуға болады.
4.Мәзірлерге код ендіру үшін мәзірде ек рет щерту арқылы ашуға
болады. Біз алдыңғы өткен лекцияларымызда код терезесін ашу үшін
компоненттің өзінде екі рет щерту арқылы ашқан болатынбыз. Ал,
компоненттің өзінде екі рет щерту арқылы ашқан болатынбыз. Ал, MainMenu
компонентінде олай емес код терезесін ашу үшін Form - MainMenu редактор
терезесіндегі корсетілген мәзір атауында екі рет щерту арқылы код терезесі
ашылады. Егер біз MainMenu компонентінде 2 рет щертетін болсақ Form -
MainMenu редактор терезесінің ашылатынын көреміз.
PopupMenu (контекстік меню) - бұл компонент жанама мәзір құру үшін
қолданылады. Бүл компонентің орындалуы яғни жүмыс істеу принципі MainMenu
компонентімен бірдей. Бүл компонент Standart қосымшасында орналасқан
көрінісі түрінде болады. Осы компоненті екі шерту арқылы Form -
PopupMenu редактор терезесі ашылады ...
2. MainMenu және PopupMenu компоненттерін пайдаланып мәзір жолын құру.
Суретті көретін қарапайым программа жасау.
1. ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz