Шаг 6: Изменение атрибутов пера



Билет № _1__

 

1 C++ Builder өңдеу ортасы. а) Ортаның негізгі терезелерін атаңыз және оларға сипаттама беріңіз б) Компоненттер палитрасы терезесін сипаттаңыз в) Форма және код редакторы терезесін сипаттаңыз

C++Builder- C++ тілінде программалық құралдарды өңдеу үшін программистер пайдаланатын программалық өнім, қолданбаларды жылдам өңдеу аспабы , программалаудың біріктірілген ортасы,жүйе.

Бастапқыда Borland Software компаниясы өңдеген, ол компанияның бөлуінуі себебінен қазіргі кезде Embarcadero Technologies компаниясына тиесілі

C++Builder құрамында объектілер кітапханасының жиыны (STL, VCL, CLX, MFC және т.б.), компилятор, баптаушы, код редакторы және басқа да компоненттер қосылған. Өңдеу Delphi ортасына ұқсас. Delphi өңделген көптеген компоненттерді C++Builder –де пайдалануға болады.

C++Builder объектіге бағытталған программалаудың – инкапсуляция, полиморфизм және жинақтық туындауды және тіл стандартындағы кілттік сөздер мен жаңадан ендірілген спецификаны қолдайды.

C++ Builder-де әрбір компонент үш түрлі сипаттамаға ие: қасиеттер, оқиғалар және әдістер.  

Егер палитрадан компонентті формаға қосатын болсақ. Объектілер инспекторы терезесі автоматты осы компонентке пайдалауға болатын қасиеттер мен әдістерді көрсетеді.

Форма маңызды визуалды компонент болып табылады және кез келген қосымшаның орталық бөлігі. Жобаға жаңа форма қосу File/New Form командасымен орындалады. Әрбір автоматты түрде құрылатын форма үшін C++ программа файлына оны құрудың сәйкес операторын СreateForm әдісі арқылы қосады.

Форманы құру және оны пайдалану кезiнде:

- OnCreate -құру;

- OnShow – бейнелеу;

- OnReSize – өлшемінанықтау ;

- OnActivate –белсенділігі;

- OnPaint –сурет; оқиғаларытізбектей пайда болады. Оларпайда болу ретiменкөрсетілген.

Форманың көрiнетiндiгiн басқаруды басқа тәсiлмен Show және Hide әдiстерiн пайдалана отырып, орындауға болады. Showпроцедурасымодалдыемесрежимдеформаныбейнелейдi, ал Hideпроцедурасыформаныбұғады.

 

2 C++ тілдің жалпы сипаттамасы. Негізгі ұғымдар а) Тілдің құрамы. б) Алфавиті в) Идентификаторлар.

Кез келген табиғи тіл негізгі төрт элементтен тұрады. Олар символдар, сөздер, сөз тіркестері және сөйлемдер. Бұндай элементтер алгоритмдік тілде де бар, бірақ мұнда сөздер – лексемалар (элементарлы конструкциялар), сөз тіркестері- өрнектер, ал сөйлемдер – операторлар деп аталады.Лексемалар- символдардан, өрнектер- лексемалардан және символдардан, ал операторлар- симвлодардан, өрнектерден және лексемалардан құралады.

Тілдің алфавиті немесе оның символдары негізгі бөлінбейтін белгілер. Олардың көмегімен тілдегі барлық текстер жазылады.

Лексема немесе элементарлы конструкция-өзіндік аты бар тілдің минималды бірлігі.

Өрнек-қандайда бір мәнді есептеу ережесін береді.

Оператор-қандайда бір әрекеттің аяқталған сипаттамасын береді. Күрделі әрекетті сипаттау үшін операторлардың тізбегі қажет етіледі. Операторлар құрама операторларға немесе болкқа біріктірілуі мүмкін. Бұл жағдайда олар бір оператор ретінде қарастырылады. С++ тілінде болк болып фигуралы жақшаның ( { }) ішіне жазылған операторлар тізбегі алынады.

Препроцессор -программалардың алғашқы текстімен программа трансляторға түспей тұрып кейбір өзгерістерді жүргізуге арналған программа.

Препроцессордың операторы (формат)# символынан басталатын және одан кейін оператор немесе операндалар аты жазылатын бастапқы текстің бір жолы. Препроцессордың операторы программаның кез келген жерінде пайда болу мүмкін және олардың әрекеті бастапқы файлға түгел таралады.

Препроцессордың мына операторлары жиі пайдаланылады:

# іnclude, # defіneБұдан басқа да # prаgma, # іf, # errorт.б. директивалары бар.

Препроцессордың маңызды қызметі бастапқы текстке басқа файлдардың мазмұнын қосу болып табылады. Бұл мүмкіндік негізінен программаларды қандайда бір бәріне ортақ мәліметтермен, анықтамалармен қамтамасыз етуде пайдаланылады.

С++ тілінің алфавитіне кіретін символдар:

· Латынның үлкен, кіші әріптері және төменгі сызықша;

· Араб цифрлары;

· Арнайы символдар:” {} [] | , () + - / % * . \ /: ?  ‘ <= >= ! & # ~ ;^

· Бос орындық символдар: бос орын, табуляция және келесі жолға өту символдары жатады.

Алфавиттің символдарынан тілдің лексемалары қалыптасады. Олар: идентификаторлар, кіліттік сөздер(қызметші сөздер), амалдар белгілері, тұрақтылар және ажыратқыштар (жақшалар, нүкте, үтір, бос орындық символдар жатады).

Идентификатор – программалық объектінің аты. Идентификаторда латын әріптері, цифрлар және төменгі сызықша пайдаланылады. Үлкен және кіші әріптердің айырмашылығы болады. Мысалы esep деген идентификатор алайық, оны esep, ESEP, EsEp деп жазсақ , онда ол әртүрлі идентификатор болып табылады. Идентификатордың алғашқы символы әріп немесе төменгі сызықша болуы керек. Бос орындарды идентификатор алдында қолдануға болмайды. Идентификатор айнымалыны, функцияны, типтерді тағы басқаларды сипаттау кезінде құрылады. Стандарт бойынша идентификатордың ұзындығы шектелмеген, бірақ кейбір компоновшиктер оның шектеуін қажет етеді. Идентификатор қызметші сөздерге сәйкес келмеуі қажет. Сонымен қатар идентификаторды төменгі сызықшадан бастамау ұсынылады.

 

 

Билет № _2__

 

1 C++ Builder-де қолданбаны ұйымдастыру. а) Жобаның негізгі файлдарын атаңыз? б) Жаңа жобаны құру және оны сақтау жолдарын көрсетіңіз. в) Жоба менеджері қандай қызмет атқарады?

C++ Builder-де форма қолданбаның негізі болып табылады. Қолданушы интерфейсін құру форма терезесіне компоненттер деп аталатын C++ Builder объектілер элементтерін қосумен қорытындылады Компоненты C++ Builder компоненттері компоненттер палитрасында орналасады. C++ Builder жеке компоненттер құру және компоненттер палитрасын баптау мүмкіндігіне ие.

C++ Builder-де компоненттер көрінетін (визуалды) және көрінбейтін (визуалды емес) болып бөлінеді. Визуалды компоненттер қолданбаны орындау кезінде жобалау кезіндегіндей пайда болады. Визуалды компоненттер мысалдары батырмалар және редакцияланатын өрістер. Ал визуалды емес компоненттер жобалау кезінде формадағы пиктограммалар түрінде пайда болады. Олар қолданбаны орындау кезінде көрінбейді. 

Жаңа жоба құру үшін File/New Application меню пунктін орындау керек. C++ Builder келісім бойынша Project1.cpp атаудағы жоба файлын және келісім бойынша Project1.mak make-файлын құрады. Жобаға өзгеріс енгізген кезде C++ Builder жоба файлын жаңартып отырады.

Әдетте қолданба бірнеше формаға ие. Жобаға формалар қосу келесі қосымша файлдарды құрады: 

· .DFM кеңейтпедегі формалар файлдары

· C++ -те кодты қамтитын .CPP кеңейтпедегімодулдар файлды

· Формалар класының сипаттамасын қамтитын .H  кеңейтпедегі тақырыптық файл.

 Егер жобаға бір немесе одан да көп формалар қосу үшін File/New Form меню пунктін таңдаймыз. Сонда жобаға қосылатын жаңа форма шығады. Немесе File/New меню пунктін таңдап, объектілер қоймасының ішінен қажетті парақты таңдап, онда дайын шаблондарды қосу мүмкіндігі бар.

Жоба администраторы кеңейтілуі .срр болатын ағымдағы жоба файлын манипуляциялау үшін қажет. Жоба администраторы терезесін ашу үшін View [ Project Managerкомандасын орындаймыз. Терезе ағымдағы жобамен ассоциацияланған барлық құрайтын файлдардың тізімін құрайды. Тез шақыру панелі батырмаларының немесе контекстік мәзір опцияларының көмегімен ағымдағы жоба файлын қосуға, өшіруге, сақтауға және көшіруге болады.

Жобаадминистраторыныңконтекстікмәзірі

Жобаадминистраторыныңконтекстікмәзірін администратор терезесініңкез-келгенжерінетышқанныңоңжақпернесін басу арқылынемесе Alt+FlOпернесін басу арқылыашамыз. Контекстікмәзірмынаопциялардықұрайды:

• SaveProject жобафайлыныңөзгерістерінсақтайды. Сондайәрекетті File | SaveProject Asкомандасыорындайды.

AddToRepositoryжобашаблонынобъектілерқоймасынақосуғаарналған SaveProjectTemplate диалогынашады.

• NewUnit код редакторы терезесіндежаңа модуль құрадыжәне оны жобафайлынақосады. ЖаңамодульгеUniti, Unit2, ... атауларыберіледі. Сондайәрекетті File | NewUnitкомандасышақырады.

• NewForm бос форманыжәне код редакторы терезесіндежаңа модуль құрадыжәнеолардыжобафайлынақосады. Жаңаформаларға Form1, Form2 атауларыберіледі. Осындайәрекетті File | NewFormкомандасышақырады.

AddFile жобафайлынаағымдағымодульдіжәнеоныменбайланыстыформанықосуғаарналғанAddToProject диалогынашады.

RemoveFile ағымдағыжобаныңассоциацияланғанфайлдартізіміненмодульдіалыптастайды. Осындайәрекетті Project | RemovefromProjectкомандасышақырады.

Ескерту: модульдерфайлынтікелейнемесебасқабағдарламаларарқылыөшіріптастамаңыз.

ViewUnit таңдалғанмодульді код редакторы терезесіндебелсендіреді. Осындайәрекетті View | Units командасышақырады.

ViewForm форма редакторы терезесіндетаңдалғанмодульменбайланыстыформаныбелсендіреді. Осындайәрекетті View | Formsкомандасышақырады.

ViewProjectSource код редакторы терезесіндеағымдағыжобафайлыныңмәтінінбелсендіреді.

Options жобаопцияларынорнатуғаарналғанOptions | Project диалогынашады. Осындайәрекетті Options | Projectкомандасышақырады.

Update жобафайлынажобамәтінініңөзгерісінжазады. Ескерту: Жобанықолменредактрлемеңіз – C++Builderавтоматтытүрдеөзіорындайды!

 

2 Амалдар және тұрақтылар а) Амалдар белгілері қандай? б) Тұрақтылар түрлері в) Түсініктемелер.

Амалдар белгісі-операндаларға қолданылатын әрекеттерді анықтайтын бір немесе бірнеше символдар. Амалдар белгілері арасында бос орын қойылмайды. Амалдар ондағы операндалар санына қарай унарлы (бір операнда), бинарлы (екі операнда) және тернарлы (үш операнда) болып бөлінеді.

Унарлы амалдар

++

--

sizeof

~ (тильда)

!

-

+

&

*

 

1-ге арттыру 1-ге кеміту өлшем разряд бойынша терістеу логикалық терістеу арифметикалық терістеу(унарлы минус) унарлы плюс адресті алу адресті алып тастау  

 Бинарлы және тернарлы амалдар

* / % + - << >> < <= = = != && || ,

көбейту

бөлу

бөлуден қалған қалдық

қосу

алу

солға жылжыту

оңға жылжыту

кіші

кіші не тең

тең

тең емес

логикалық ЖӘНЕ

логикалық НЕМЕСЕ

     

Тұрақтылардеп өзгермейтін шамаларды айтады.Тұрақтылар бүтін, нақты, символдық және жолдық болады.

Бүтін Ондық: ондық цифрлар тізбегі. Бұл тізбек 0 цифрынан тек қана санымыз нолге тең болған кезде ғана басталады.(0..9) Сегіздік:нолден кейін сегіздік цифрлар орналасады(0..7) Оналтылық: Ох немесе ОХ кейін оналтылық цифрлар(0..9,A,B,C,D,E.F) 5,4,3,0,1985 012,05,071,т.б. OxA, Ox1B8, OXOOFF
Нақты ондық: [цифр].[цифр] экспоненциалды:[цифр][.][цифрлар]{Е:е}[+:][цифрлар] 1,3000000000Е-02 102=0,013
Символдық Апострфқа (‘)  алынған бір немесе екі символдар ‘A’,’LO’,’*’,’Lb’, ’\0’,’\n’,’1012’т.б
Жолдық Тырнақшаға алынған символдар тізбегі “Бұл 35-ші руппа”, “Мен студентпін”

 

Түсініктеме (комментарий)

Коментарий //- символынан басталып жазылады немесе /* және */ символдарының арасына жазылады. Түсініктеме үшін //- символын, ал

/* ...*/ символын программаны жөндеу барысында блоктарды уақытша ала тұруда пайдалануды ұсынады.

 

Билет

1.C++ Builder компоненттері. Көрінетін және көрінбейтін компоненттер.

а) Компоненттердің қасиеттері нені анықтайды?

б) Оқиғалар түрлері қандай?

в) Әдістер дегеніміз не?

 

Қолданушы интерфейсін құру форма терезесіне компоненттер деп аталатын C++ Builder объектілер элементтерін қосумен қорытындылады Компоненты C++ Builder компоненттері компоненттер палитрасында орналасады. C++ Builder жеке компоненттер құру және компоненттер палитрасын баптау мүмкіндігіне ие.

C++ Builder-де компоненттер көрінетін (визуалды) және көрінбейтін (визуалды емес) болып бөлінеді. Визуалды компоненттер қолданбаны орындау кезінде жобалау кезіндегіндей пайда болады. Визуалды компоненттер мысалдары батырмалар және редакцияланатын өрістер. Ал визуалды емес компоненттер жобалау кезінде формадағы пиктограммалар түрінде пайда болады. Олар қолданбаны орындау кезінде көрінбейді.

C++ Builder-де әрбір компонент үш түрлі сипаттамаға ие: қасиеттер, оқиғалар және әдістер. Егер палитрадан компонентті формаға қосатын болсақ, объектілер инспекторы терезесі автоматты осы компонентке пайдалауға болатын қасиеттер мен әдістерді көрсетеді.

++Builder арнайы класс-  компонент (components) ұғымын енгізеді. Компоненттің қасиеттері объектілер атрубуттарын білдіреді, ал олардың әдістері компонентті кластардың сәйкес даналарына амалдарды орындауды іске асырады. C++Builder-де қасиетті жариялау үшін_property кілттік сөзі пайдаланылады. Компоненттің әдістерінің көмегімен қолданушыға оған қандай да бір алдын ала анықталған әрекет жасалғаны туралы хабарлайдыҚарапайым оқиғалар – батырманы не пернетақтаны басу оқиғалары. Компоненттер өз қасиеттерін, әдістерін және оқиғаларын инкапсуляциялайды. Әдістер деп өрістерді өңдеуге арналған процедуралар мен функцияларды айтамыз. Ал қасиеттер өрістер мен әдістер ішінен аралық орынды таңдайды.

 

2. С++-те программаны құру технологиясы

а) Программаның жалпы жазылу құрылымын жазып көрсетіңіз

б)С++ тіліндегі енгізу- шығарудың негізгі функцияларын атаңыз

в) Стандартты математикалық функциялар.

 

С++ тіліндегі программа функциялардан, сипаттамалардан және препроцессордың директиваларынан тұрады. Функциялардың біреуінің аты main болуы керек. Программаның орындалуы осы функцияның бірінші операторымен басталады. Функция қандай да бір мәнді есептеу үшін пайдаланылады, сондықтан функция атының алдынан оның типі көрсетіледі. Мысалы, квадрат түбірді табатын функция былай жазылады:

double sqrt(double x);

Функцияға қажетті мағлұматтардың негізгілері:

1. егер функция мәнді қайтармау керек болса, онда voidтипі көрсетіледі.

2. функция денесі блок болып табылады және фигуралы жақшаға алынып жазылады.

3. әрбір оператор нүктелі үтірмен (;)аяқталады (құрама оператордан басқасы).

Программаның жалпы жазылу құрылымы:

Препроцессордың дерективалары

                                       int main( ) {

                                    айнымалыларды сипаттау;

                                    [Операторлар тізбегі];

                                    return 0;

                                            }

Программа бірнеше модульден тұруы мүмкін. Си тіліндегі енгізу- шығарудың негізгі функциялары:

-scanf(const char*fmt[,par1,par2,…,parn])- параметрлер жолын белгілі бір форматта енгізу.

-printf(const char*fmt…)-параметрлер жолын белгілі бір форматта шығару.

Си тілінде енгізу- шығару функциялардың пайдалану мысалы:

#include<stdio.h>

int main ( ) {

inti;

printf(“Бүтін сан енгіз\n”);

scanf (“%d”,&i);

printf(“сіз” %d санын енгіздіңіз”);

return 0;

}

 

Бұл программаның бірінші жолы препроцессордың директивасы. Оның көмегімен программаның текстіне еңгізу- шығару функциясының сипаттамасынан тұратын <stdio.h> тақырыптық файлы қойылады.Үшінші жолда бүтін типті і айнымалысы сипатталған. printf функциясы экранға «бүтін сан енгіз» сөздерін шығарады. Ал \n курсорды келесі жолға түсіреді. scanf функциясы клавиатурадан енгізілген бүтін санды і айнымалысына меншіктейді, & белгісі адресті алу операциясын білдіреді.

Стандартты математикалық функциялар

Math.h тақырып файлында стандартты математикалық функциялардың анықтаулары берілген, оларды программа құру кезінде дұрыс жаза білу керек (2.1-кесте).

Кесте

Функция прототипі Қайтаратын мәні
double acos (double x) arccos x
double asin (double x) arcsin x
double atan (double x) arctg x
double atan2 (double x, double y) arctg (y/x)
double ceil (double x) «жоғары» қарай дөңгелектеу
double cos (double x) cos x
double cosh (double x) ch x
double exp (double x) ex
double fabs (double x) |x|
double floor (double x) «төмен» қарай дөңгелектеу
double log (double x) ln x
double log10 (double x) lg x
max (a,b) максимум (a,b) типі үлкен аргумент типімен бірдей болады
min (a,b) минимум (a,b) типі кіші аргумент типімен бірдей болады
double pow (double x, double y) xy
double pow10 (int p) 10p
double sin (double x) sin x
double sinh (double x) sh x
double sqrt (double x) x-тің квадрат түбірі
double tan (double x) tg x
double tanh (double x) th x
double hypot (double x, double y) x22 квадрат түбірі
double poly (double x, int n, double *a) полином мәні
double l dexp (double x, int n) x*2n

 

Бұл кестедегі max және min функцияларының прототиптері, негізінде, функция емес, өздеріне сәйкес макроанықтаулар түрінде stdlib.hтақырып файлында берілген.

Аргуменнтері типі де, өз типі де double болып келген функциялардың long double типіндегі аналогтары бар. Олардың аттары жоғарғы кестеде көрсетілген функция аттарынан l әрпін қосу арқылы алынады, мысалы, (fabs, fabsl), (acos, acosl), т.с.с.

Ceil (x) және floor (x) функцияларының айырмашылығы – алғашқы берілген нақты санды жоғарғы жақтағы бүтін санға, ал екіншісі – төменгі жақтағы бүтін санға қарай дөңгелектейді. Екі функция да double форматындағы бүтін санды қайтаратынын есте сақтаған жөн

 

Билет

1. C++ объектіге-бағытталған жобалау тілі.

а) C ++-те программалар туралы жалпы мағлұматтар

б) Жобаның бас файлының құрылымы қандай?

в) Формалар модулдері файлының құрылымы қандай?

C++Builder (си-плас-плас-Билдер, си-Билдер) - C++ тілінде программалық құралдарды өңдеу үшін программистер пайдаланатын программалық өнім, қолданбаларды жылдам өңдеу аспабы(RAD), , программалаудың біріктірілген ортасы,(IDE) жүйе.

Бастапқыда Borland Software компаниясы өңдеген, ол компанияның бөлуінуі себебінен қазіргі кезде Embarcadero Technologies компаниясына тиесілі

C++Builder құрамында объектілер кітапханасының жиыны (STL, VCL, CLX, MFC және т.б.), компилятор, баптаушы, код редакторы және басқа да компоненттер қосылған. Өңдеу Delphi ортасына ұқсас. Delphi өңделген көптеген компоненттерді C++Builder –де пайдалануға болады.

C++Builder объектіге бағытталған программалаудың – инкапсуляция, полиморфизм және жинақтық туындауды және тіл стандартындағы кілттік сөздер мен жаңадан ендірілген спецификаны қолдайды.

C++ Builder өз алдына SDI –қолданбаны білдіреді. Оның бас терезесі баптауға болатын аспапты панель және компоненттер палитрасын қамтиды. Сонымен қатар C++ Builder жүктегенде объектілер инспекторы терезесі және жаңа қолданба формасы пайда болады.

Жаңа жоба құру үшін File/New Application меню пунктін орындау керек. C++ Builder келісім бойынша Project1.cpp атаудағы жоба файлын және келісім бойынша Project1.makmake-файлын құрады. Жобаға өзгеріс енгізген кезде C++ Builder жоба файлын жаңартып отырады.

Әдетте қолданба бірнеше формаға ие. Жобаға формалар қосу келесі қосымша файлдарды құрады:

  • .DFM кеңейтпедегі формалар файлдары
  • C++ -те кодты қамтитын .CPPкеңейтпедегімодулдар файлды
  • Формалар класының сипаттамасын қамтитын .H кеңейтпедегі тақырыптық файл.

Егер жобаға бір немесе одан да көп формалар қосу үшін File/New Form меню пунктін таңдаймыз. Сонда жобаға қосылатын жаңа форма шығады. НемесеFile/New меню пунктін таңдап, объектілер қоймасының ішінен қажетті парақты таңдап, онда дайын шаблондарды қосу мүмкіндігі бар. 

Кезекті жоданы комиляциялау үшін Compile менюінен Compile пунктін, ал орындалатын файл құру үшінRun /Run командасын орындау керек.

2. С++ мәліметтердің типтері

а) Негізгі мәліметтер типтерін атаңыз

б) Қолданушымен анықталатын типтер қандай?

 

Тілдің алфавиті.С++ тілінің алфавитіне кіретін символдар:

· Латынның үлкен, кіші әріптері және төменгі сызықша;

· Араб цифрлары;

· Арнайы символдар:” {} [] | , () + - / % * . \ /: ?  ‘ <= >= ! & # ~ ;^

· Бос орындық символдар: бос орын, табуляция және келесі жолға өту символдары жатады.

 

Мәліметтер типі айнымалылардыжариялау кезінде меншіктеледі. Төменде негізгі мәліметтер типі көрсетілген:

· int — бүтін типті.

· float — тип данных с плавающей запятой.

· double — тип данных с плавающей запятой двойной точности.

· char — симводық тип

· bool — логикалық тип.

Айнымалыларды жариялау мысалы:

int a; // объявление переменной a целого типа.

float b; // объявление переменной b типа данных с плавающей запятой.

double c = 14.2; // инициализация переменной типа double.

char d = 's'; // инициализация переменной типа char.

bool k = true; // инициализация логической переменной k.

 

Түсініктеме (комментарий)

Коментарий //- символынан басталып жазылады немесе /* және */ символдарының арасына жазылады. Түсініктеме үшін //- символын, ал

/* ...*/ символын программаны жөндеу барысында блоктарды уақытша ала тұруда пайдалануды ұсынады.

 

Билет № __5_

1.1. Жобаға жаңа форма қосу жолдары қандай?

Кез келген қолданбаның негізгі элеменнті форма – басқа визуалды және визуалды емес компоненттер орналасатын контейнер болып табылады. Форма маңызды визуалды компонент болып табылады және кез келген қосымшаның орталық бөлігі.

Жобаға жаңа форма қосу File/New Form командасымен орындалады. Әрбір автоматты түрде құрылатын форма үшін C++ программа файлына оны құрудың сәйкес операторын СreateForm әдісі арқылы қосады.

Форманы құру және оны пайдалану кезiнде: 

- OnCreate - құру;

- OnShow – бейнелеу;

- OnReSize – өлшемін анықтау ;

- OnActivate –белсенділігі;

- OnPaint –сурет; оқиғаларытізбектей пайда болады. Олар пайда болу ретiмен көрсетілген.

Форманың көрiнетiндiгiн басқаруды басқа тәсiлмен Show және Hide әдiстерiн пайдалана отырып, орындауға болады. Show процедурасы модалды емес режимде форманы бейнелейдi, ал Hide процедурасы форманы бұғады.

1.2. Формаға компоненттерді орналастыру жолдарын атаңыз?

C++Builder арнайы класс-  компонент (components) ұғымын енгізеді. Компоненттің қасиеттері объектілер атрубуттарын білдіреді, ал олардың әдістері компонентті кластардың сәйкес даналарына амалдарды орындауды іске асырады. 

C++ Builder-де форма қолданбаның негізі болып табылады. Қолданушы интерфейсін құру форма терезесіне компоненттер деп аталатын C++ Builder объектілер элементтерін қосумен қорытындылады Компоненты C++ Builder компоненттері компоненттер палитрасында орналасады. C++ Builder жеке компоненттер құру және компоненттер палитрасын баптау мүмкіндігіне ие.

C++ Builder-де компоненттер көрінетін (визуалды) және көрінбейтін (визуалды емес) болып бөлінеді. Визуалды компоненттер қолданбаны орындау кезінде жобалау кезіндегіндей пайда болады. Визуалды компоненттер мысалдары батырмалар және редакцияланатын өрістер. Ал визуалды емес компоненттер жобалау кезінде формадағы пиктограммалар түрінде пайда болады. Олар қолданбаны орындау кезінде көрінбейді. 

Компоненттерді орналастыру үшін

- standard, additional, win32 және т.б. терезелерден қажетті компонетті таңдап форма бетін тышқанның сол жақ батырмасын бір рет шертесің;

- қажетті компонентті тышқанның сол жақ батырмасымен екі рет шертесің

1.3. Компоненттердің өлшемдерін орнату және ығыстыру тәсілдері қандай

Кез келген компонетке әр түрлі өзгерістер енгізсе болады, соның ішінде оның өлшемін өзгерту де жатады. Компоненттің өлшемін өзерту үшін оның қасиеттер панеліндегі Height(биіктігі) және Width (ені) қасиеттеріне қажет параметрлерін енгіземіз.

Компонеттердің өлшемін өзгертумен қатар, оны әр түрлі жаққа ығыстырса болады,Alignment қасиетінде:

tpTop – жоғарғы бөлікте;

tpBottom – төменде;

tpLeft – сол жақта;

tpRight – оң жақта

Айнымалы деген не

Айнымалылар латын әріптері мен цифрларының кез – келген тіркесі түрінде беріледі. Айнымалы деп программаның орындалу барысында әртүрлі мәндерді қабылдайтын шамалар.

Айнымалылардың негізгі типтері:
int — бүтін сандар типі.(int x; int y=37;)
double, float — үтірі бас сандар типі.(float a; double b; float pi=3.14;)
Char — символдық тип (Char q; q='w'; Char t;)
String — сөздер, жолдар типі. (String str; String tost=«Ал, не дейміз енді))»;)
Boolean — логикалық тип.(Бұл типпен кейінірек «очно» танысамыз)

Машиналар сондай ақылсыз, оларда жолай түсініп кету деген жоқ. Айнымалымен жұмыс істеу үшін міндетті түрде алдымен бір рет ЖАРИЯЛАУ керек. Ол үшін оның типін және атын көрсетеміз. Мысалға, int x; (бұдан түсінетінімз x бүтін санды айнымалы, 5 болуы мүмкін, 777 болуы мүмкін, әйтеуір бір бүтін сан).

2.2. Жергілікті және ауқымды айнымалылар

Айнымалылардың әрекет ету аймағы – программаның ағымдағы әрекеттеріне қандай мәліметтердің қатынасуға болатынын анықтайтын қағида. Айнымалылардың үш типі болады: ауқымды, локальді (жергі­лікті) және формальды.

Жергілікті айнымалылардың әрекет ету айма­ғы – олар сипатталған программа бөлігі, яғни олар сол функция тұлға­сында ғана белгілі болып табылады. Программаның осы бөлігінен шыққан соң, жергілікті айнымалылар мен олардың мәндері жоғалады.

Формальды айнымалылар – тұтынушы функциясының тақыры­бын­да көрсетілген параметрлер. Формальды параметрлер функция тұлғасында жергілікті айнымалылар сияқты қолданылады. Формальды параметрлердің әрекет ету аймағы – функция тұлғасы болып табы­латын блок.

Ауқымды айнымалылар программадағы функциядан тыс сипат­та­лады. Олар программаның кез келген жерінде қолданылуы мүмкін, сондықтан ауқымды айнымалыларды алдын ала сипаттау және бас­тап­қы мәндерді меншіктеу керек. Ауқымды айнымалылардың әрекет ету аймағы – олар сипатталғаннан бастап, программа соңына дейін болып саналады.

2.3. Өрнектердегі типтерді түрлендіру. Типтерді келтіру

C++ Builderбағдарламасында есептер орындау барысында компонеттерден мәліметтер алғанда немесе компонентке мәлімет шығару қажет болған типтерді түрлендіру функциясын орындау қажет:

StrToFloat – жолдық типті нақтыға түрлендіру

FloatToStr - нақты типті жолдыққа түрлендіру

IntToStr – бүтін типті сандарды жолға түрлендіру

StrToInt – жолдық типті бүтін типке түрлендіру

 

Билет № __6_

Формалар.

а) Формаларды басқару. Әдістер. Оқиғалар. Қасиеттер

б) Модальды формалар ерекшеліктері.

Кез келген қолданбаның негізгі элеменнті форма – басқа визуалды және визуалды емес компоненттер орналасатын контейнер болып табылады. Форма маңызды визуалды компонент болып табылады және кез келген қосымшаның орталық бөлігі. Жобаға жаңа форма қосу File/New Form командасымен орындалады. Әрбір автоматты түрде құрылатын форма үшін C++ программа файлына оны құрудың сәйкес операторын СreateForm әдісі арқылы қосады.

Application->Initialize();

Application->CreateForm( _classid(TForm1, &Form1);

Application->CreateForm(_classid (TForm2, &Form2);

Application->Run();

 

Форманы құру және оны пайдалану кезiнде:

- OnCreate - құру;

- OnShow – бейнелеу;

- OnReSize – өлшемін анықтау ;

- OnActivate –белсенділігі;

- OnPaint –сурет;оқиғаларытізбектей пайда болады. Олар пайда болу ретiмен көрсетілген.

Форманың көрiнетiндiгiн басқаруды басқа тәсiлмен ShowжәнеHide әдiстерiн пайдалана отырып, орындауға болады. Show процедурасы модалды емес режимде форманы бейнелейдi, ал Hide процедурасы форманы бұғады.

Модалды форма деп берілген қолданбаның кез келген басқа формасына өту кезiнде жабылуы керек болатын форманы айтамыз. Егер де пайдаланушы кезектегi модалды форманы жаппай бiрден басқа формаға өтуге қадам жасаса, Windows жүйесi бұл әрекеттi болдырмайды және ескерту сигналын шығарады.

Модалды режимде форманы бейнелеу үшiн ShowModal әдiсi қолданылады.

Форманың негізгі қасиеттерінің бірі - FormStyle қасиетi, ол келесi мәндердiң бiрiн қабылдайды:

–fsNormal – стандартты стиль, көптеген терезелер, соның iшiнде сұхбат терезелер үшiн пайдаланады;

–fsMDIChild – көп құжатты қосымшадағы iшкi форма;

–fsMDIForm – көп құжатты қосымшадағы аталық форма;

–fsStayOnTop – жүктелгеннен кейiн басқа формалардыңүстінде орналасатын форма - әдетте, жүйелiк ақпаратты немесе бет басын шығаруүшiн пайдаланады.

 

Форманы бейнелеу кезiнде Visible қасиетiнiң мәнi true болады және оның Show оқиғасы пайда болады. Ал бұғу кезiнде Visible қасиетiнiң мәнi false болады және OnHide оқиғасы пайда болады.

Әрбір форма өзін шектейтін жиекке ие. Жиектердiңтүрiнжәнекүйін BorderStyle қасиетi анықтайды. Ол:– bsDialog (сұхбатформа);

– bsSingle (өзгермейтiнөлшемдегi форма);

–bsNone (формадакөрiнетiнжиекболмайдыжәнеөзiнiңөлшемдерiнөзгертеалмайды);

–bsSizeAble (өлшемдерiнөзгертетiнқарапайымформа, келісімбойыншатақырыпжолынаиежәнебатырмалардыңкезкелгенжиынынқамтуымүмкiн) ;

–bsToolWindows (құрал-саймандар формасы);

–bsSizeToolWin(өлшемдерiнөзгертетiнқұралсаймандарформасы) сияқты мәндердiңбiрiнқабылдауымүмкiн.

Форманың тақырыпоблысындабатырмалардың 4 түрi бейнеленуі мүмкін. Мүмкiнболатынбатырмалардыңжиынтығын TВorderIconsтиптіBorderIcons қасиетi анықтайды. Ол:

– biSystemMenu(терезежүйелікменюдентұрадыжәнежүйелікменюбатырмаларынқамтуымүмкін);

– biMinimize(терезежинақталубатырмаларынантұрады);

– biMaximize (терезеашылубатырмаларынантұрады);

– biHelp (терезесұрақбелгiсiнбейнелейтiнжәнеанықтамашақыратынанықтамабатырмасынантұрады) сияқты мәндержиынынқабылдауымүмкiн.

2. Тармақталу операторлары

а) Шартты оператордың жазылу форматын көрсетіңіз

б) switch таңдау операторларының жұмыс принципі қандай?

Шартты амал «?:»
Бұл амал программа кодының көлемін қысқарту үшін пайдаланылады. Оның көмегімен if-else операторының қарапайым және күрделі түрлерін алмастыруға болады. Шартты амалдың жазылу форматы:

логикалық өрнек ? өрнек1 : өрнек2

Алдымен логикалық өрнек есептеледі, егер ол ақиқат болса , онда өрнек1, кері жағдайда өрнек2 есептеледі.
«if-else» операторы

Жалпы жазылу түрі:

if (өрнек) a;

                немесе

  if (өрнек) a; else b;

«if-else» операторын программада пайдалану мысалы: Енгізілген санды жұп не тақ екенін анықтау

 

Switch таңдау операторы

Switch таңдау операторы if операторын бірнеше рет қолдунадың өте ыңғайлы алмастырушысы болып табылады. Switch таңдау операторы айнымалының мәнін брнеше тұрақтылармен салыстырады. Switch шартындағы көрсетілген айнымалының мәні case кілттік сөзінен кейін тұрған мәндермен салыстырылады. Case операторының мәнімен айнымалы мәні сәйкес болғанда, компьютер программаны сол жерінен жалғастырады.

switch( /*variable*/) { caseconst1: variable айнымалысы const1ге тең болғанда орындалатын код break; caseconst2: бұл код variable мәні const2* мәніне тең болғанда орындалады break; /*...*/ default: ешбір констант мәні variable* айнымалы мәніне сәйкес келмегенде орындалатын код break; }

7-билет

1.Мәтіндік ақпаратты бейнелеу компоненттері.

а) Жазбалардағы мәтінді бейнелеу компоненттері қандай?

б) Компоненттердің негізгі қасиеттерін атаңыз.

в) Әдістер мен оқиғалар

Формада әртүрлі жазбаларды бейнелеу үшін негізінен Panel, Label, StaticText компоненттері пайдаланылады.

Панельдер, топтаудың виэуалды құралы ретінде, сондай-ақ саймандар тақтасы мен қалыпкүй жолдарын жасауға қолданылады.

Панельдің қыры екі жүзді: ішкі және сыртқы. Ішкі жүз панельді көмкереді (обрамляется), ал сыртқы- ішкінің айналасында көрінеді.

Әр жүздің ені TBewlWidth типті BewlWidth қасиетінде пиксельдермен беріледі. TbewlWidth типінің мәні бүтін сан болып табылады(Tbewl. MaxInt). Үнсіз келісім бойынша жүздің ені 1-ге тең. TpanelBevel типі BevelInner және BeverOuter қасиеттері ішкі және сыртқы жүздердің түрлерін сәйкесінше анықтайды. Қасиеттердің әрқайсысы келесі мағыналарды қабылдай алады:

· bvNone (жүзі жоқ)

· bvLowered (жүзі батырыңқы)

· bvRaised (жүзі көтеріңкі)

· bvSpace (іс әрекет белгісіз)

 Үнсіз келісім бойынша BevelInner қасиеті bvNone мағынасына ие, ал BevelOuter қасиеті bvRaised мағынасына ие.

Жүздер арасында неі TBorderWidth типі BorderWidth қасиетінде пиксельмен анықталатын арақашықтық болуы мүмкін. Үнсіз келісім бойынша арақашықтық 0-ге тең (арақашықтық жоқ).

 

TLabel компоненті

  • Caption – объектіге шығатын жазба
  • Align – жазбаны түзеу
  • AutoSize – енгізілген мәтін ұзындығына сәйкес жазбаны автоматты масштабтау
  • Enabled - Разрешена ли метка
  • Colorжазба түсі
  • Font – Tfont типті стандартты қасиет. Жазба қаріпінің атрибуттарын анықтайды
  • ParentFont – келісім бойынша негізгі қаріпті пайдалану қажеттігін анықтайды.
  • Transparent – жазба фонының ашықтығын анықтайды
  • ShowAccelChar - Можно ли использовать "жылдампернетақтаны "пайдалануға болатындығын анықтайды
  • WordWrap – егер жазба жолға симайтын болса, сөздерді автоматты тасымалдау

 

2. Қайталану операторлары

а) for операторының қызметі қандай? Жазылу форматын көрсетіңіз?

б) while операторы қандай жағдайда қолданылады?

в) do while операторы

 

for операторы.Цикл параметрлерінен келесі форматты иеленеді:

for(инициализация; өрнек; модификация) операторлар;

Циклда пайдаланылатын шамамен бастапқы шамалар және хабарлама үшін инициализация пайдаланылады. Бұл бөлімде үтірмен бөлінген бірнеше операторлар жазуға болады. Мысалы, бүтін оң сандардың барлық бөлінгіштерін табу.

 

 

#include <iostream.h>

int main (){

intnum,half, div;

cout<<”\nСан енгізіңіз:”cin>>num;

for (half=num/2,div=2;div<=half;div++)

{

if (!(num%div ))

cout<<div<<”\n”;

}

return 0;

          }

Кез келген while циклы for циклының эквивалентіне алып келуі мүмкін.

for(b1;b2;b3) операторb1;

немесе

while (b2){

оператор;

                                        b3;

             }

 

 

while операторы.Әзір циклдық операторында шарт цикл денесінен бұрын тексеріледі, оның жазылу түрі:     

while (өрнек) оператор

 

Цикл денесінің қайталану шартында көрсетілген жай және құрылымды операторларды өрнек анықтайды. Операторды орындау өрнекті есептеу кезінде басталады. Егер ол ақиқат (true) болса, онда циклдың операторы орындалады. Егер бірінші тексеруде өрнек false болса, онда цикл бір рет те орындалмайды. Өрнектің типі арифметикалық немесе оған алып келетіндей болуы керек. Өрнек циклдың итерациясының әрқайсысының алдында есептелінеді. Мысалы, барлық бүтін оң сандардың бөлінгіштерін табу керек. 

          #include <iostream.h>

int main (){

intnum;

cout<<”\nСан енгізіңіз:”cin>>num;

int half=num/2;                                        //санның жартысы

int div=2;                                                 //кандидат бөлгіште

while (div<=half){

if (!(num%div )) cout<<div<<”\n”;

div++;

}

return 0;

          }

Программалаудың кеңейтілген тәсілі- шексіз циклдың ұйымдастыруы while(true) немесе while(l) басымен және қандай да бір шарттың орындалуы цикл денесінен зорлықпен шығуы.

while кілттік сөзінен кейін жай жақшаның ішіне ауыспалының бейнелеуін енгізуге болады. Оның әрекет ету облысы цикл болады.

while(int х=0) {.../* әрекет ету облысы*/}

do while операторы.Цикл шартпен құрамдық схеманы жүзеге асырады және оның жазылу түрі:

doоператорwhileөрнек;

Алдымен циклдың денесін құрайтын жай және құрама операторлар орындалады, ал одан кейін өрнек есептелінеді. Егер ол ақиқат (true) болса, онда цикл денесі тағы да бір рет орындалады. Өрнек false болған кезде немесе цикл денесінде қандай да бір тасымалдау операторы орындалынса, онда цикл аяқталады. Өрнектің типі арифметикалық немесе оған алып келетін болу керек. Мысалы, х аргументінің квадрат түбірі берілген Eps дәлдікте итерациялық формуламен құру.

Мұндағы, yn-1-алдыңғы түбірге жақындау (басында есептеулер озбырлықпен таңдалады). yn- кейінгі жақындау. Жақындаулар абсолюттік шамаға қарағанда, шамаға берілген дәлдіктері бір бірінен ерекшелене бастаған кезде есептеулер процесі тоқталады. Абсолюттік шамаларды есептеу үшін fabs( ) стандартты функциясы пайдаланылады.

 

Билет

1. Мәтіндік ақпаратты енгізу компоненттері.

а) Редакторлеу компоненттерін атаңыз.

б) Көпжолды редакторлеу терезелері қандай?

в)Компоненттердің негізгі қасиеттері мен әдістерін атаңыз.

Memo және RichEdit- компоненттері көпжолдық редакторлар болып табылады. Бұл компоненттер көмегімен бірнеше жолдан тұратын мәліметтер өңделеді.

Көп жолды редактор бір жолды редактор орындайтын әрекеттерді орындай алады. Көп жолды редактор бір жолды редактордан айырмашылығы ол бірнеше жолдарды қамтиды. Көп жолды редактордың барлық мазмұнына қатынасу үшін.

String типті Textқасиетін пайдаланамыз.

Бұл жағдайда MEMO – компонентінің барлық мазмұны бір жол түрінде көрсетеді.

MEMO –компонентінің жеке жолдарымен жұмыс жасау үшін Tsring типті Lines қасиетін пайдаланамыз. Жолдық массивтің реті 0-ден басталады

Memo компонентінің қасиеттері

Name Компонент атауы. Программада компоненттің кейбір қасиеттеріне рұқсат ретінде пайдаланылады.
Text Memo өрісінде орналасқан мәтін. Бүтін ретінде қарастырылады.
Lines Memo өрісінде орналасқан мәтін. Жолдар жиынтығы ретінде қарастырылады. Жолға өту жолдың номері арқылы жүзеге асады.
Lines.Count Memo өрісіндегі жолдар саны
Left Өрістің сол жақ шетінен форманың сол жақ шетіне дейінгі ара қашықтығы
Top Өрістің жоғарғы жақ шетінен форманың жоғарғы жақ шетіне дейінгі ара қашықтығы
Height Өрістің биіктігі
Width Өрістің ені
Font Енгізілген мәтін мазмұнын көрсету қарібі
ParentFont Форма қарібінің мінездемесін мұрат ету белгісі

 

ComboBox компонентінің ListBox компонентінен ерекшелігі горизонталды айналу жолағы болмайды және тізімнен бір ғана мәнді таңдауға болады.

Қасиеттері: Items, ItemIndex.

TComboBoxStyle типті Style қасиеті ComboBox компонентінің сыртқы түрін және тәртібін анықтаиды. Style қасиеті келесі мәнді қабылдаиды.

- CsDropDown-редактрлеу жолы бар ашылатын тізім. Қолданушы тізімнен керекті элементі тандауына немесе енгізуіне болады.(үн. жағ)

- CsSimpe – үнемі тізімі ашылып тұратын редактрлеу өрісі. Тізім толық көріну үшін компютердің Height қасиетімен биіктігін үлкеитеміз.

- CsDropDownList- тізімнен элементтерді таңдауды ұйымдастыратын ашылатын тізім.

- CsOwnerDrawFixed - ItemHeight қасиетімен берілетін бекітілген биіктіктегі тізім.

- CsOwnerDrawVariable - әртүрлі биіктікті қабылдайтын элементтер тізімі.

Егер тізім стилі соңғы екі мәнді қабылдаса, онда тізімдердің шығуын программалаушы программа жазу барысында өзі орындайд

- Integer типті DropDownCount қасиетін ашылатын тізімде бір уақытта көрсетілетін жолдар санын анықтаиды. Қасиет үнсіз жағдайда 8 мәнін қабылдайды.

- Boolean типті DroppedDown қасиеті тізімнің ашылған немесе жабық күйде тұрғанын анықтауға мүмкіндік береді. Егер қасиет True мәнін қабылдаса, ол арқылы тізім ашылған түрде көрінеді. DroppedDown қасиеті егер Style қасиеті CsSimple ға тең мән қабылдаса ғана қолданады.

Аралас тізіммен жұмыс жасағанда келесі оқиғаларды қолдануға болады.

- onDropDown (тізімді ашу)

- on CloseUp (тізімді жабу)

- on Select (элементті тандау)

- on Change (редактрлеу өрісіндегі мәтінді өзгерту)

 

2. Басқаруды беру операторлары

а) goto операторы

б) break операторының қызметі қандай?

в) continue, return операторларының қызметі қандай?

С++ -те есептеудің орындалу ретін өзгертетін төрт оператор бар, олар:

- goto,шартсыз көшу операторы;

- break, циклдан шығу операторы;

- continue,циклдың келесі итерациясына өту операторы;

- return, функциядан қайту операторы.

goto операторы.

goto операторының жазылу форматы келесі түрде болады:

                    goto белгі;

Сол функцияның денесінде белгі: оператор; конструкциясы болуы керек.

goto операторы басқаруды белгіленген операторға жібереді.Белгі – бұл әдеттегі идентификатор. Оның көріну облысы (аймағы) денесінде берілген функция болып табылады.

Шартсыз көшу операторын пайдалану келесі екі жағдайда ақталған:

1. бірнеше қабаттасқан циклдан немесе ауыстырып- қосқыштан тұратын программаның мәтіні бойынша төмен қарай шығу (мәжбүрмен);

2. функцияның бірнеше орнынан бір жерге (орынға) шығу;

Басқа жағдайларда goto операторын пайдалану тек қана программа құрылымын күрделендіруге және жөндеуді қиындатуға әкеліп соғады, сондықтан кез келген алгоритмді жазу үшін әлдеқайда сәйкес келетін құралдар бар. goto операторын қолдану құрылымдық және модулдік программалау принципін бұзады. Бұндай программалауда программалардың барлық блоктары тек қана бір кірістен (кіру) және бір шығыстан (шығудан) тұруы керек.

Кез келген жағдайда басқаруды if, switch және цикл операторларының ішінде беруге болмайды.Айнымалыларды инициализациялаудан тұратын блоктың ішінде, одан кейін орналасқан операторларға өтуге болмайды, өйткені бұл жағдайда инициализация орындалмайды.

int k;…

goto E1;…

{int a=5,b=10;

   k=a+b;

  E1:int s=k+1;

Программаның бұл фрагменті (үзіндісі) орындалғаннан кейін Е1 айнымалысының мәні анықталмаған болады.

break операторы

break операторы цикл операторының , if операторының ішінде немесе switch операторында құрамында break операторы бар оператордан кейін орналасқан программаның нүктесіне өтуді қамтамасыз етеді.

continue операторы

Циклдың келесі итерациясына өтетін continue операторы цикл денесінің соңына дейін қалған барлық операторларды өткізіп жібереді де, басқаруды келесі итерацияның басына жібереді.

return операторы

return функциядағы қайтару операторы функцияның орындалуын аяқтайды және басқаруды оның шақырылған нүктесіне береді. Оператордың жазылу түрі:

return [өрнек];

№9 БИЛЕТ

1) Мәтіндік ақпаратты енгізу және бейнелеу компоненттері

Формада әртүрлі жазбаларды бейнелеу үшін негізінен Panel, Label, StaticText компоненттері пайдаланылады.

Панельдер, топтаудың виэуалды құралы ретінде, сондай-ақ саймандар тақтасы мен қалыпкүй жолдарын жасауға қолданылады.

Панельдің қыры екі жүзді: ішкі және сыртқы. Ішкі жүз панельді көмкереді (обрамляется), ал сыртқы- ішкінің айналасында көрінеді.

Әр жүздің ені TBewlWidth типті BewlWidth қасиетінде пиксельдермен беріледі. TbewlWidth типінің мәні бүтін сан болып табылады(Tbewl. MaxInt). Үнсіз

келісім бойынша жүздің ені 1-ге тең. TpanelBevel типі BevelInner және BeverOuter қасиеттері ішкі және сыртқы жүздердің түрлерін сәйкесінше анықтайды. Қасиеттердің әрқайсысы келесі мағыналарды қабылдай алады:

* bvNone (жүзі жоқ)

* bvLowered (жүзі батырыңқы)

* bvRaised (жүзі көтеріңкі)

* bvSpace (іс әрекет белгісіз)

Үнсіз келісім бойынша BevelInner қасиеті bvNone мағынасына ие, ал BevelOuter қасиеті bvRaised мағынасына ие.

Жүздер арасында неі TBorderWidth типі BorderWidth қасиетінде пиксельмен анықталатын арақашықтық болуы мүмкін. Үнсіз келісім бойынша арақашықтық 0-ге тең (арақашықтық жоқ).

TLabel компоненті

* Caption – объектіге шығатын жазба

* Align – жазбаны түзеу

* AutoSize – енгізілген мәтін ұзындығына сәйкес жазбаны автоматты масштабтау

* Enabled - Разрешена ли метка

* Color жазба түсі

* Font – Tfont типті стандартты қасиет. Жазба қаріпінің атрибуттарын анықтайды

* ParentFont – келісім бойынша негізгі қаріпті пайдалану қажеттігін анықтайды.

* Transparent – жазба фонының ашықтығын анықтайды

* ShowAccelChar - "Жылдам пернетақтаны " пайдалануға болатындығын анықтайды

* WordWrap – егер жазба жолға симайтын болса, сөздерді автоматты тасымалдау

Edit, MaskEdit компоненттерінде енгізілетін және шығарылатын мәтін AnsiString типті Text қасиетімен анықталады.

TEdit компоненті

* Anchors – Жиын типті қасиет. Форма өлшемі өзгергенде компонент ұзындығы қалай өзгеретіндігін анықтайды

* BorderStyle – енгізу облысының жиегі

* Color – фон түсі.

* ReadOnly – енгізілген мәтінді жөндестіруге тыйым салады.

* PasswordChar – Енгізілетін мәтін орнына бір түрдегі символдарды бейнелеу

* Text - AnsiString типті енгізілген жолды қамтиды

Memo және RichEdit- компоненттері көпжолдық редакторлар болып табылады. Бұл компоненттер көмегімен бірнеше жолдан тұратын мәліметтер өңделеді.

Көп жолды редактор бір жолды редактор орындайтын әрекеттерді орындай алады. Көп жолды редактор бір жолды редактордан айырмашылығы ол бірнеше жолдарды қамтиды. Көп жолды редактордың барлық мазмұнына қатынасу үшін.

String типті Text қасиетін пайдаланамыз.

Бұл жағдайда MEMO – компонентінің барлық мазмұны бір жол түрінде көрсетеді.

MEMO – компонентінің жеке жолдарымен жұмыс жасау үшін Tsring типті Lines қасиетін пайдаланамыз. Жолдық массивтің реті 0-ден басталады.

String Grid компоненті құрамында жолдары бар кестені білдіреді.Кестені мәліметтері тек оқуға не редактрлеуге ғана арналған.Бұл компонент ең алдымен мәтіндік ақпараттарды, графикалық ақпараттарды кестеде бейнеленуін көрсету үшін қажет.Бұл компонент кесте түрінде бейнелеу үшін пайдаланылады.Кесте белгіленген жұмыс аймағынан тұрады.белгіленген аймақ жұмыс аймағының жол және баған атауларын шығару және тышқанның көмегімен олардың өлшемін басқару қызметін атқарады.

2) Функциялармен жұмыс. Функция аргументтері

С ++ тілінде модульдар функциялар деп аталады. Функцияны анықтауда анықталған барлық айнымалылар локальді айнымалылар болып табылады да, олар өздері анықтаған функцияларда ғана қызмет ете алады. Көптеген функциялар параметрлер тізімінен тұрады. Параметрлар функцияларға мәлімет алмасуға мүмкіндік береді. Функция параметрлары да локальді айнымалылар

int main () k=sqrt

Көптеген функциялардан тұратын программаларда main функциясы жұмыстың негізгі бөлігін орындайтын функцияларға қатынау тобы ұйымдастырылуы керек. Программаны бірненше функцияларға бөлу- біріншіден оны бақылауға ыңғайлы; екіншіден- программада қайтатын код болмайды; үшіншіден – программа кодын функция түрінде өрнектеу оны шақыру арқылы программаның кез-келген бөлігінен орындауға мүмкіндік береді. Әрбір функция программа мақсатын қамту керек.

Функцияны сипаттау

Тип функциясы (Тип1 Параметр1, Тип2 Параметр2, Тип n Параметр n )

{Айнымалыны сипаттау ;

Функция нұсқаулары;

return (мән) }

Программадағы әрбір нақты параметрлардың типі функцияны жариялауда көрсетілген сәйкес параметрлердің типіне және санына сәйкес келуі тиіс. С-дің маңызды ерекшеліктерінің бірі- функция прототипі б.т. Прототип функцияны оны алғаш қолданғанға дейін жариялайды. Прототип компиляторға функциямен қайтарылатын мәліметтер типін функция қабылдайтын параметрлер саны, параметрлердің типі мен ретін хабарлайды. Прототиптің соңында міндетті түрде үтір нүкте (;) қойылады:

int maximum (int x, int y, int z);

Егер функция мән қайтармайтын болса , оның типі void болуы керек.

 

№10 БИЛЕТ

1) Батырмалар, басқарушы элементтер

Батырмалар басқару элементтері болып табылады және қандай да бір функционалдық іс-әрекетті орындауға команда беру үшін қызмет етеді, сондықтан оларды көп жағжайда командалық батырмалар деп атайды. Батырма үстінде мәтін және/немесе графикалық бейне болуы мүмкін. Button – стандартты батырма, BіtBtn-суретті батырма, SpeedButton-жылдам рұқсат алу батырмасы.

Стандартты батырманың үстінде тек жазба ғана болады. Батырманың негізгі оқиғасы – OnClick оқиғасы.

BіtBtn батырмасы - суреті бар және анықталған типті әрекет жасайтын батырма. Бұл объектіге мынандай жаңа қасиеттер тән: Glyph– файлдан алынған батырмадағы сурет; Kіnd– стандарты әрекет типі.

SpeedButton батырмасын саймандар тақтасында батырма құру үшін қолданады. Объектінің келесідей қасиеттерін қарастырайық: Margin – сурет пен оған жақын тұрған батырманың арасындағы пиксельмен берілген арақашықтық; Layout – батырмадағы сурет пен мәтіннің орналасуы; Spacing – мәтін мен сурет арасындағы пиксельмен берілген арақашықтық.

TButton компоненті

* OnClick – тышқан батырмасын шерткен кезде пайда болатын оқиға

* Default – батырма келісім бойынша таңдалады және жиекпен қоршалады

* Caption – батырмадағы жазба

 

2) Көрсеткіштер және массивтер

Көрсеткіштер. Компилятор айнымалыны анықтау операторын өңдеген кезде мысалы int i=5; int типке сәйкес жады бөлінеді және көрсетілген мәнге меншіктейді. Программадағы айнымалыны оның аты ( i ) арқылы шақыру компилятор мен айнымалының мәні сақталатын жады аймағының адресіне ауыстырылады. Программалаушы жады аймағының адресін сақтау үшін жеке меншік айнымалыларды анықтауына болады. Бұндай айнымалылар көрсеткіштер деп аталады. Сонымен көрсеткіштер жады аймағының адресін сақтауға арналған. С++ -те көрсеткіштердің үш түрі бар. Олар:

1. объектілерге арналған көрсеткіштер.

2. функцияларға арналған көрсеткіштер.

3. қасиеттерімен және амалдар жиынтығымен ерекшеленетін void-қа арналған көрсеткіштер .

Көрсеткіштер өз алдында жеке дара тип болып табылмайды. Олар әрқашанда қандай да бір нақты типпен байланысты болады. Функцияның атқарылатын коды орналасқан код сегментінде функцияға арналған көрсеткіштің адресі болады, яғни ол функцияны шақырғанда басқару берілетін адрес.

Функцияларға арналған көрсеткіштер функцияларды қосымша түрде (оның аты арқылы емес адресін сақтап тұрған айнымалыны шақыру аты) шақыру үшін және функцияның атын басқа функцияға параметр ретінде беру үшін пайдаланылады

Массив дегеніміз- бір ғана атпен берілген бір типті айнымалылардың жиынтығы.

Массивтің элементтері тік жақшаға ([ ]) алынып жазылады, ал элементтері индекстермен беріледі. Ең соңғы элементтің индексі массивтің ұзындығын көрсетеді. С++ -те массивтің индексі 0-ден басталатындықтан оның ұзындығы көрсетілген мәннен 1-ге артық болады. Массив үшін инициализациялайтын мәндер фигуралық жақшаларда жазылады. Мәндер элементтерге рет-ретімен меншіктеледі. Егер массивтағы элементтер инициализаторлардан көп болса, онда мәндері көрсетілмеген элементтер ноль болады. Массив өлшемділігі оның элементтерінің типімен компиляция этапында орындалатын массивті орналастыру үшін қажетті жадтың көлемін анықтайды. Сондықтан өлшем бүтін оң таңбалы тұрақтымен немесе тұрақты өрнекпен берілуі мүмкін. Егер массивті сипаттау кезінде өлшем көрсетілмесе инициализатор болуы керек. Бұл жағдайда компилятор

инициализацияланған мәндер саны бойынша жадты анықтайды. Массив өлшемін атаулы тұрақтылар көмегімен берген қолайлы. Мұндай өзгерту үшін программаның бір жерінде тұрақты мәнін көрсетіп қойған жеткілікті. Массивтің соңғы элементі оның өлшемін сипаттауда берілген бірге аз номерден тұратынына назар аударыңыз.

 

Билет № __11_

Меню компоненттері .

а) Бас меню компонентінің қызметі қандай?

Б) Жанама меню .

в) Компоненттердің негізгі қаситтері мен оқиғаларын атаңыз

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

Бас меню (Главное меню; main menu) — әдетте, қолданбалы программалардың жоғарғы жағында тақырыбынан соң орналасады. Бас меню қолданбалы бағдарламаның жалпы командаларын қамти отырып, оның жұмыстарын басқару үшін қолданылады.

Жанама (контекстік) меню (Контекстное меню; context-sensitive menu) белгілі бір объектіге қатысты орындалатын командалар тізімі бар меню. Жұмыс істеушінің алдыңғы әрекеттеріне байланысты жылдам өзгеріп отырады. Бұл менюді емлелік қателерді тексеріп, суреттер мен ерекшеленген мәтіндерді, кестелерді өзгерту, толықтыру үшін ашуға болады. Жанама менюді ашу үшін керекті объектіні таңдап алып, тышқанның оң жақ батырмасын шерту қажет немесе SHIFT+F10 пернелерін басу керек.

Name Компоненттің атауы. Бұл атау бағдарламадағы компонентке және оның қасиетіне қол жеткізу үшін қолданылады.
Caption Мәзір элементінің атауы
enabled Мәзір элементіне қол жеткізу белгісі. Егер қасиет мәні жалған болса, онда пункт атуыинверсті түспен беріледі және оны басқанда Click оқиғасы орындалмайды
Bitmap Қасиет мәзір пунктінің сол жағында орналасқан суретке ВМР форматын береді
ShortCut Қасиет батырмалар бірігуін көрсетеді, оларды басқанда мәзірдің сәйкес пункті таңдалады.
Visible Мәзір қатарын көрсету немесе жасыру белгісі
Image Index ТImage Index компоненттер коллекциясындағы сурет нөмірі

Query компоненті алыстатылған SQL – серверлерге болмаса жергілікті мәліметтер қорына SQL-сұранысын құру және орындау үшін пайдаланылады.

DBGrid компоненті мәліметтерді жол немесе баған ретінде көрсететін, белгіленген мәліметтерге кестесін туғызу үшін пайдаланылады. Компонент визуальды.

DataSource компоненті — бұл компонент Table немесе Query компоненттері секілді мәліметтер қорымен байланыстыру үшін пайдаланылады.

MainMenu компоненті — бұл компонент формаға негізгі меню құру үшін қолданылады. Басты қасиеті Items арқылы менюге керекті сөздер жазылады. Я болмаса MainMenu компоненттінің үстінен 2 рет шерту арқылы жазуға болады. ShortCut қасиеті клавиатурадан басқаруға мүмкіндік береді.

Panel компоненті — бұл компонент кең ауқымда қолданылады. Бұл компонент бір-бірімен байланысты бірнеше компоненттерді біріктіріп, бір жерде орналастыруға ыңғайлы. Panel компонентіндегі жазуды Caption қасиеті арқылы өзгертуге болады. Bevellnner, BevelOuter, bevelWidth, BorderStyle,BorderWidth қасиеттері арқылы компоненттің жиектерін көркемдеуге болады.

Button компоненті — бұл компонент ең көп қолданылатын компоненттер қатарына жатады. Caption басты қасиеті болып табылады. Басты оқиғасы болып OnClick болып табылады. Осы оқиғаға батырманы басқан кездегі орындалатын операторлар жазылады.

ComboBox компоненті-ListBox және Edit компоненттерінің функциясын біріктіреді. Пайдаланушы текстті енгізуге және тізімнен таңдап алуына болады.

Edit компоненті бір жолды текст енгізу үшін немесе көрсету үшін қолданылады. Тексті енгізіп шығаратын қасиеті Text. BorderStyle қасиеті арқылы компоненттің түрін көркейтуге болады.AutoSelect қасиеті барлық текст автоматты түрде боялатынын анықтайды. SelLength, SelStart және SelText қасиеттері боялған тексттің өзін анықтайды. MaxLength қасиеті енгізілетін тексттің максимальды ұзындығын анықтайды.

Label компоненті формада әртүрлі жазуларды немесе белгілерді көру үшін компоненті қолданылады. Бұл компоненттегі тізімнен пайдаланушы тек бір ғана жолды таңдай алады. Басты қасиеті Items.

ExcelApplication компоненті — бұл компонент Microsoft Excel программасын шақыру үшін қолданылады.

WebBrowser компоненті -бұл компонент htm кеңеймесінде сақталған құжаттарды көрсету үшін арналған.

2. Жолдармен жұмыс

А) Жол дегеніміз не?

б) Жолдармен жұмысқа арналған функциялар қандай, жазылу форматы?

Жол дегеніміз символдардың тізбегі. Си және С++ тілінде жол 0 символымен аяқталады. С++ кітапханасында жолдарды немесе жеке символдарды енгізуге және шығаруға арналған <stdio.h> тақырыптық файлының gets (s) енгізу , puts(s) шығару функциялары бар.

С, С++ кітапханасында <string.h> тақырыптық файлының жолдық қатарды өңдейтін келесі функциялары бар:

1. strlen (s) – берілген s жолының ұзындығын анықтайды. Мысалы: n=strlen (s)

2. strcpy (s1,s2) – 2-ші жолды 1-ші жолға көшіру

3. strcat (s1, s2) – 1-ші жолды 2-ші жолға біріктіріп нәтижені 1-ші жолға шығарады

4. strcmp(s1, s2) – 2-ші жолмен 1-ші жолды салыстырады. Егер жолдар тең болса, функция 0 мәнін қайтарады. 1-ші және 2-ші жолдан кіші болсо, онда 0-ден кіші мәнін береді, ал 1-ші жол 2-ші жолдан үлкен болса, онда 0-ден үлкен мәнді қайтарады

5. strset (s,’t’) – жолды берілген символмен толтырады

6. strlwr (s) – жолдың үлкен әріптерін кіші әріптерге ауыстырады

7. strups(s) – жолдың кіші әріптерін үлкен әріптерге ауыстырады

 

<stdlib.h>

1. atof (s) – жолды нақты санға түрлендіреді

2. atoi (s) – жолды бүтін санға айналдырады

3. atoll (s) – жолды ұзын бүтін санға түрлендіреді

4. sprintf (s) – санды жолға айналдырады

Билет № __12_

Панельдер.

А) Жалпы сипаттамасы?

б) Panel компонентінің қызметі. Негізгі қасиеттері? .

Панельдер, топтаудың виэуалды құралы ретінде, сондай-ақ саймандар тақтасы мен қалыпкүй жолдарын жасауға қолданылады.

Панельдің қыры екі жүзді: ішкі және сыртқы. Ішкі жүз панельді көмкереді (обрамляется), ал сыртқы- ішкінің айналасында көрінеді.

Әр жүздің ені TBewlWidth типті BewlWidth қасиетінде пиксельдермен беріледі. TbewlWidth типінің мәні бүтін сан болып табылады(Tbewl. MaxInt). Үнсіз келісім бойынша жүздің ені 1-ге тең. TpanelBevel типі BevelInner және BeverOuter қасиеттері ішкі және сыртқы жүздердің түрлерін сәйкесінше анықтайды. Қасиеттердің әрқайсысы келесі мағыналарды қабылдай алады:

· bvNone (жүзі жоқ)

· bvLowered (жүзі батырыңқы)

· bvRaised (жүзі көтеріңкі)

· bvSpace (іс әрекет белгісіз)

 Үнсіз келісім бойынша BevelInner қасиеті bvNone мағынасына ие, ал BevelOuter қасиеті bvRaised мағынасына ие.

Жүздер арасында неі TBorderWidth типі BorderWidth қасиетінде пиксельмен анықталатын арақашықтық болуы мүмкін. Үнсіз келісім бойынша арақашықтық 0-ге тең (арақашықтық жоқ).

TLabel компоненті

  • Caption – объектіге шығатын жазба
  • Align – жазбаны түзеу
  • AutoSize – енгізілген мәтін ұзындығына сәйкес жазбаны автоматты масштабтау
  • Enabled - Разрешена ли метка
  • Color жазба түсі
  • Font – Tfont типті стандартты қасиет. Жазба қаріпінің атрибуттарын анықтайды
  • ParentFont – келісім бойынша негізгі қаріпті пайдалану қажеттігін анықтайды.
  • Transparent – жазба фонының ашықтығын анықтайды
  • ShowAccelChar - Можно ли использовать "жылдам пернетақтаны " пайдалануға болатындығын анықтайды
  • WordWrap – егер жазба жолға симайтын болса, сөздерді автоматты тасымалдау

Edit, MaskEdit компоненттерінде енгізілетін және шығарылатын мәтін AnsiString типті Text қасиетімен анықталады.

TEdit компоненті

  • Anchors – Жиын типті қасиет. Форма өлшемі өзгергенде компонент ұзындығы қалай өзгеретіндігін анықтайды
  • BorderStyle – енгізу облысының жиегі
  • Color – фон түсі.
  • ReadOnly – енгізілген мәтінді жөндестіруге тыйым салады.
  • PasswordChar – Енгізілетін мәтін орнына бір түрдегі символдарды бейнелеу
  • Text - AnsiStringтипті енгізілген жолды қамтиды

 

2. Құрылымдар мен біріктірулер

а) Құрылым дегеніміз не?

б) Құрылымды сипаттау форматын көрсетіңіз

В) Біріктірулер

Құрылымның массивтен айырмашылығы: құрылымның элементтері әр типті бола береді. C++ құрылымдық класс түрі болып табылады және оның барлық қасиеттеріне ие.

Құрылымды сипаттау үшін struct қызметші сөзі қолданылады.

Сипатталынуы:

            struct [тип аты] {

тип1элемент1;

тип2элемент2;

............................

тип n элементn ; }

 [сипаттау тізімі];

Құрылым элементтері құрылым өрістері деп аталады және осы құрылымның типінен басқа кез келген типті қабылдай береді. Бірақ оған көрсеткіш бола алады. Егер типтің аты болмаса, онда айнымалылардың, көрсеткіштердің немесе массивтердің сипаттау тізімі көрсетілу керек. Бқл жағдайда құрылымды сипаттау осы тізімнің элементтерін анықтау үшін пайдаланылады.

Егер тізім жоқ болса, құрылым сипаттамасы жаңа типті анықтайды. Ол типтің атын кейін стандартты типтермен қатар пайдалануға болады.

Құрылым инициализациясы үшін оның элементтерінің мәнің фигуралы жақша{} ішіне олардың сипатталу реті бойынша жазылады. 

 

Билет 13

1.Жүйелік диалогтар .

а) Диалог компоненттердің жалпы сипаттамасы?

б) Диалог компоненттерің түрлерін ата? .

в) Негізгі қасиеттері. Оқиғалары

Теперь, когда вы оснастили программу Steps созданным из ресурса диалоговым блоком, нужно научиться взаимодействовать с этим

   диалоговым блоком. Сначала вы создадите объект, инкапсулирующий все характеристики окна пера, затем используете диалоговый блок для установки и изменения этих характеристик.

        В данной главе описаны следующие шаги:

        * Определение объекта пера.

        * Создание сложного диалогового блока.

        * Добавление управляющих объектов.

        * Создание буфера передачи.

        * Выполнение диалогового блока.

        * Чтение результатов.

 

Шаг 6: Изменение атрибутов пера

   -----------------------------------------------------------------

                       +-----------------------+

                       | Step 1: Basic App |

| Step 2: Text     |

                       | Step 3: Lines    |

                       | Step 4: Menu     |

                       | Step 5: About Box |

                       |XStepX6:XPensXXXXXXXXXX|

                       | Step 7: Painting |

                       | Step 8: Streams  |

                       | Step 9: Printing |

                       | Step 10: Palette |

                       | Step 11: BWCC    |

                       | Step 12: Custom ctrls |

+-----------------------+

 

        Данный шаг охватывает ряд тем, касающихся изобразительныхсредств Windows, особенно перьевых средств, применяемых для изображения линий. Перья Windows имеют три отдельных атрибута: стиль, ширину и цвет.

 

        Первая часть данного шага - создание объекта для представления пера не является абсолютно необходимой, но позволяет вашемуокну работать с пером как единой сущностью, а не отслеживать отдельно все атрибуты перьев. Инкапсулируя перо, вы можете такжеизбежать необходимости иметь дело с некоторыми повторяющимися деталями использования инструментальных средств GDI, аналогично тому, как объекты окон ObjectWindows предохраняют вас от мелких деталей, связанных с созданием окна.

 

Создание объекта пера

   -----------------------------------------------------------------

 

        Хотя Windows ссылается на свои изобразительные средства какна "объекты" (отсюда и имена типа SelectObject и DeleteObject),они не являются объектами в истинном объектно-ориентированномсмысле, так как не используют наследование и полиморфизм. Перо насамом деле представляет собой просто группу из трех характеристик отображения, на которые Windows ссылается при изображении линии. Эти характеристики являются просто свойствами контекста дисплея, но полезно рассматривать их, как встроенные в перо.

 

                          Характеристики пера

        Три характеристики пера - это его стиль, размер и цвет. Вшаге 3 вы изменяли размер пера и отслеживали текущий размер пера в поле объекта окна. Вместо реализации трех отдельных полей дляотслеживания характеристик пера вы можете инкапсулировать их вединый объект TPen. Описание TPen имеетследующийвид:

 

type

PPen = ^TPen;

TPen = object(TObject)

Width, Style: Integer;

             Color: Longint;

constructor Init(AStyle, AWidth: Integer;

                              AColor: Longint);

constructor Load(var S: TStream);

procedure ChangePen;

procedure Delete;

procedure Select(ADC: HDC);

procedure SetAttributes(AStyle, AWidth: Integer;

                              AColor: Longint);

procedure Store(var S: TStream);

private

           PenHandle, OldPen: HPen;

           TheDC: HDC;

PenData: TPenData;

        end;

 

              Примечание: Большую часть исходного кода из даннойглавы вы можете найти в файле PEN.PAS. Для использования

         модуля Pen в STEP06A.PAS и STEP06B.PAS нужно внести минимальные изменения.

 

              Примечание: Тип TPen определен в модуле Pen.

 

        Конструктор Init создает новый объект пера с заданным стилем, размером и цветом. SetAttributes изменяет атрибуты уже соз-

   данного объекта пера. ChangePen выводит диалоговое окно, позволяющее пользователю задать атрибуты пера. Load и Store позволяют сохранять объекты пера в потоке.

 

                    Выбор и удаление объектов пера

        Наиболее интересную работу выполняют процедуры Select и Delete. Select создает изобразительное средство Windows на основе характеристик, записанных в полях атрибутов. Вместо того, чтобывызывать в графической программе для создания пера, получения егоописателя, выбора пера в контексте дисплея, использования пера иего удаления функцию API Windows, вы строите объект пера, а затемможете его использовать, выделять и удалять.

 

        Метод Delete отменяет описатель пера, освобождая ресурс для Windows. Select проверяет, имеется ли уже выделенное перо, и перед созданием и выбором нового отменяет существующее перо. Это полезно использовать, если это же перо предполагается применятьповторно, так что вам не понадобиться вызывать Delete при каждомиспользовании пера. С другой стороны, в шаге 7 вы увидите, какможно сохранять нарисованные линии, и каждая линия будет иметьсвой собственный объект пера. Если бы каждый объект пера создавался и сохранялся в пере Windows, Windows скоро исчерпала бы ресурсы. Поэтому важно непосредственно после использования пера вызывать для его отмены метод Delete.

 

        Основное достоинство TPen в том, что вам не нужно большебеспокоиться о получении, сохранении и удалении объекта пера. TPen имеет два частных поля, в одном их которых записывается описатель пера. Объект пера отслеживает описатель и взаимодействия сWindows, а ваша программа просто имеет дело с объектом. Другоечастное поле, PenData, содержит используемый на этом шаге буфер передачи.

 

        Файл STEP06A.PAS содержит код программы Steps, модифицированный для использования объекта TPen в модуле Pen. В основномизменения невелики (например, поле ThePen изменяет тип с HPen наPPen, а метод SetPenSize заменяется вызовом методаSetPenAttributes объекта пера, поскольку объект пера может управлять цветом и стилем наряду с размером).

 

2. Графикалық операторларды өңдеу

Жоспар:

1. Графикалық режимді тағайындау.

2. Түстер палитрасы

3. Графикалық операторлар

Кілттік сөздер:драйвер, экран кеңейтілімі, графикалық режим, графикалық операторлар.

Иллюстрациялық материал:слайд, электрондық оқулық – Алдабергенова А.О. С++ тілінде программалу негіздері

С++ те графикамен жұмыс жасау үшін Graphics.h және conio.h алғашқы файлдарын іске қосамыз және міндетті түрде conio.h құрамына кіретін getch() процедурасы болуы қажет.

Графикалық режимді тағайындау үшін драйвердің режимін анықтайтын және адаптердің жұмыс режимін тағайындайтын бүтін типті екі айнымалы болуы қажет. Графикалық режимді тағайындайтын айнымалыға міндетті түрде бас әріптермен жазылған DETECT мәні меншіктелуі қажет. Осы мәнді меншіктегенде айнымалыға үнсіз келісім бойынша 0 мәні меншіктеледі де, ол EGA.BGI драйверімен жұмыс жасайды. Осы кезде адаптердің жұмыс режимі 640x480x16 режиміне ауысады.

Графикалық режимді тағайындау процедурасы:

initgraph(&драйвер, &режим номері, ‘EGA.BGI файлының жолы’ ) Графикалық режимді жабу процедурасы- closegraph();

uputpixel(x,y,c)-putpixel(20,25,2)-нүкте салу. Мұндағы с-түсі, ол 0..15-ке дейінгі мәндерді қабылдайды немесе түстердің ағылшын тіліндегі атын үлкен әріптермен жазу керек. Мысалы putpixel(20,25,RED)-қызыл түсті нүкте шығарады.

uline(x1,y1,x2,y2)-line(20,25,45,25)-түзу салу

umoveto(x,y)- moveto(20,25)-нүктені қажетті позицияға орналастыру

ulineto (x,y)- нүктенің ағымдағы орнынан көрсетілген позицияға дейін сызық сызу

ucircle(x,y,r)-шеңбер салу

upieslice(x,y,а1,а2,r) – боялған шеңбер немесе сектор салу, мұндағы а1,а2–бастапқы және соңғы бұрыштар –pieslice(40,100,0,360,20)

urectangle(x1,y1,x2,y2)-іші боялмайтын тіктөртбұрыш салу

uellipse(x,y, а1,а2,r1,r2)-элипс салу

ubar(x1,y1,x2,y2)-іші боялған тіктөртбұрыш салу

ubar3d(x1,y1,x2,y2,а, ontop(onoff))- параллелепипед салу

uarc(x,y,a, b, r)- доға салу, мұндағы a, b –бастапқы және соңғы бұрыш - arc(100,50,0,180,50)

ufillellipse(x,y,xr,yr)- іші боялған эллипс салу

uouttext(“Graphica”)-мәтінді экранның сол жақ жоғарғы бұрышына шығару

uouttextxy(x,y,“Graphica”)-мәтінді x,y позициясына шығару

usetсolor(c)- осы процедурадан кейін орналасқан объектілердің жиегін берілген с түсімен бояйды. Мысалы setсolor(6); circle(200,150,50)-шеңбердің жиегі қоңыр түске боялады.

usetfillstyle(int Стиль, int түс)- бояу стилін және түсін береді. Мұндағы стиль 0.. 12 –ге дейінгі аралықты қабылдайды. Түс 0..15 аралығында. Мысалы, setfillstyle(1, 14) немесе setfillstyle(SOLD_FILL, 14)- Бұл кезде осы процедурадан кейн орналасқан іші боялатын объектілер тұтас сары түске боялады, өйткені стильдің 1 немесе SOLD_FILL мәні тұтас бояу дегенді білдіреді.

 

БИЛЕТ 14

1. Клавиатура және тышқан оқиғаларын өңдеу.

а) Тышқан оқиғаларын атаңыз?

Тышқан (ағылш. mouse — тышқан) — бейнебетте көрсетілген белгілі бір тілдесу элементтерін меңзеп, оларды бөлектеу үшін пайдаланушы қолданатын құрылғы.

Тінтуір – өзін тегіс бетке қозғалтқанда бейне беттегі жүгіргіні (курсорды) жылжытатын шағын манипулятор. Тінтуір компьютермен әдетте сым арқылы жалғанатын және тұрпаты кәдімгі тышқанға ұқсайтын, беткі үш батырмасы бар қорапша. Оны басында қалжыңдап <Mouse> - <Тышқан> деп атағанымен, кейіннен осы сөз ресми атауына айналып кетті. Тінтуірді үстел бетіне немесе басқада жазықтық бетінде қозғалтқан кезде компьютер бейне бетінде тінтуір көрсеткіші – жүгіргі сол ретпен қозғалады. Жүгіргі орындалып отырған амалға қарай өз түрін өзгерте алады. Қандай да бір әрекетті орындау қажет болғанда пайдаланушы тінтуір пернелерінің бірін басады.

Тышқанның бір қолмен ұстауға арналған, жайпақ табанды қаптамасы, үстінде бір немесе бірнеше батырмасы, түп жағында көп бағытты бергіш құрылғысы (әдетте кішкентай шар) және оны компьютерге жалғайтын сымы болады.

Тышқанды қозғай отырып, пайдалану бейнебеттегі жүгіргіні басқарады. Бейнебетте элементтер мен әмірлер таңдау үшін пайдаланушы тышқан батырмаларының бірін басып, тышқан нұқымын жасауы керек.

Түрі[өңдеу]

Айналдырғыш тышқан немесе дөңгелекшелі тышқан, оның, яғни тінтуірдің сол жақ пернесі және тінтуірдіӊ оӊ жақ пернесі арасында дөңгелекшесі бар. Ол бейнебет құрамын біртіндеп қарап шығуға мүмкіндік береді.

Оптикалық тышқан – меңзейтін құрылғының соңғы жаңа түрі, онда жұмыршақтың орнына жарық шығаратын элемент орнатылған. Ол жарық шығаратын элемент шағылыстыратын жарық ағынының өзгеруіне жауап ретінде жылжуды тіркеп отырады.

Меңзері[өңдеу]

тышқан меңзері (Курсор мыши; mouse cursor) — тышқан арқылы дисплей экраны бойынша орын ауыстыратын графикалық символ.

Нұсқағышы[өңдеу]

Тінтуір нұсқағышы (Указатель мыши; mouse pointer) — егер тышқан компьютерге қосылса және тышқан драйвері жүктелсе, онда тышқан нұсқағышы өрқашан экранда тұрады. Мөтіндік режімде нұсқағыш кәдімгі тіктөртбүрыш пішінінде болады. Графикалық режімде нұсқағыштың стандартты пішіні солға қарай жоғары бағытгалған жебелікке ұқсас, алайда көбінесе орындайтын операциясына карай нұсқағыш басқа пішінді: кос жебелікті, кресті, жақтауды жөне т.б. қабылдайды. Уақыт көбірек жүмсалатын операцияларда нұсқағыш құмсағатқа айналады. Бүл өрекетімен программа "шамалы күтіңіз, ақпаратты енгізу әзірге мүмкін емес" дегенді хабарлайды; тышқан нұсқағышын мәтіндік меңзерден ажырата білу керек.[1] [2]

б) Клавиатурадан болатын оқиғалар түрлері қандай?

Пернетақта пернелері атқаратын қызметіне қатысты келесідей топтарға бөлінеді:

• Енгізу пернелері(алфабиттік-цифрлық) - мұнда қарапайым баспа машинасында болатын пернелер жинақталады, яғни әріптік, сандық және символдық пернелер.

• Басқару пернелері – бұл пернелер жеке түрінде немесе басқа пернелермен бірге басыла отырып нақты әрекеттерді орындайды. Көбінесе CTRL, ALT, Windows белгісі бар перне и ESC қолданылады..

• Функционалдық пернелер – арнайы тапсырмаларды орындау үшін қолданылады. Олар F1, F2, F3 және ары қарай F12 дейінгі пернелер тізбегінен тұрады. Түрлі бағдарламаларға қатысты бұл пернелердің қызметтері әр түрлі болып келеді.

• Орын ауыстыру пернелері - бұл пернелер құжаттарда, веб-беттерде және тексті түзетуде орын ауыстыру үшін қолданылады. Оларға бағыттауыш пернелер,сондай-ақ, HOME, END, PAGE UP, PAGE DOWN, DELETE және INSERT пернелері жатады.

• Сандық пернетақта – бұл пернетақта сандарды тез енгізу үшін өте ыңғайлы. Ондағы пернелер қарапайым калькулятор немесе есептеу машинасына сәйкес топталып жинақталған.


Енгізу пернелері

Деректерді енгізу пернелеріне негізгі алфабиттік-цифрлық және символдық пернелер еніп, сондай-ақ төмендегідей пернелерді қамтиды:

SHIFT - Бас әріптерді енгізу үшін қолданылады

CAPS LOCK - Бір рет басу арқылы бас әріптерді енгізу режиміне көшеміз, ал екінші рет басқан кезде ол қасиеті өшіріледі. Бұл перненің қосып/өшірілуі пернетақтада түстік индикатормен көрсетілуі мүмкін.

TAB - Курсорды бірнеше бос орынға(абзац) жылжыту үшін қолданылады.

ENTER - Жаңа жолға өту үшін қолданады.Сұқбаттық терезелерде белгіленген батырманы таңдау үшін қолданылады.

БОС ОРЫН - Курсорды бір бос орынға жылжыту үшін қолданады..

BACKSPACE - Курсордың алдындағы символды немесе белгіленген тексті өшіру үшін қолданады.

Функционалдық пернелер

F1 Анықтаманы шақыру F2 Белгіленген элементтің атын өзгерту F3 Файл немесе бумаларды іздеу

F4 Windows жетектегішінде (проводник) адрестік жолдар тізімін көрсету F5 Белсенді терезені жаңарту F6 Жұмыс үстелі немесе терезе экранындағы элементтер арасында жылжу F10 Ағымдағы бағдарлама мәзірі жолына көшіп, белсенді ету F11 Белсенді терезені үлкейту және кішірейту F12 Құжатты сақтау сұхбаттық терезесін ашу


Орын ауыстыру пернелері

Пернелер Әрекеттер Бағыттауыш пернелер - Құжат ішінде немесе тексті түзету кезінде курсорды оңға,солға, алға, артқа жылжыту үшін қолданылады. HOME - Курсорды жолдың басына немесе веб-бетте беттің басына апарады. END - Курсорды жолдың соңына немесе веб-бетте беттің соңына апарады CTRL+HOME - Құжаттың басына ауысу CTRL+END - Құжаттың cоңына ауысу PAGE UP - Курсорды немесе бетті бір экран жоғары көтереді. PAGE DOWN - Курсорды немесе бетті бір экран төмен түсіреді. DELETE - Курсордан кейінгі символды немесе белгіленген тексті өшіреді; Windows-та белгіленген элементті жою немесе себетке(корзина) орналастыру үшін қолданылады. INSERT - Қою режимін қосу/өшіру үшін қолданылады. Қосулы кезінде терілетін текст орналасқан курсор орындарында теріледі, ал өшірілуі кезінде сол символдардың арасында теріледі.

Сандық пернетақта.

Цифрлық пернетақта 0-ден 9-ға дейінгі сандардан, +(қосу),-(алу),*(көбейту), /(бөлу), сондай-ақ, ондық бөлшектік үтірден тұрады. Бұл символдар басқа пернелерде орналасқан болса да, цифрлық пернетақтада сандарды және математикалық амалдарды тез, бір қолмен енгізу мүмкіндігі бар. Цифрлық пернетақта NUM LOCK пернесі арқылы қосылып/өшіріліп отырады. Көптеген қазіргі пернетақталарда NUM LOCK режимі түстік индикатормен көрсетіліп тұрады. NUM LOCK өшірілуі болған қалпында цифрлық пернетақта орын ауыстыру пернелері ретінде қолданылады.

Үш негізгі қосымша пернелер

PRTSCN (или PRINT SCREEN) – экран бетін суретке түсіріп, оны компьютер жадысындағы алмасу буферіне көшіреді. Оны Microsoft Paint немесе басқа бағдарламаға сурет ретінде қойып(CTRL+V), сол бағдарлама арқылы баспаға беруге болады.

Пернелер Орындалатын әрекеттер Alt+PrintScreen Белсенді болып тұрған терезені ғана суретке түсіреді Shift+PrintScreen Экранды баспаға беру

SCRLK (или SCROLL LOCK) – бұл пернені басу көптеген бағдарламаларға әсер етпейді. Бірақ кейбір бағдарламаларда оны басу бағыттауыш пернелердің, PAGE UP және PAGE DOWN әрекетін өзгертеді; бұл пернелерді басу белгіленген фрагмент немесе курсор қалпын өзгертпестен құжатты айналдыру мүмкіндігін береді. Пернетақтада бұл перненің қосып/өшірілуі түстік индикатормен көрсетіледі.

PAUSE/BREAK – бұл перне көп қолдана бермейді. Кейбір ескі бағдарламаларда бұл пернені басу бағдарламаны тоқтатады немесе CTRL –мен бірге басу оның орындалуын тоқтатады.

Ең негізгі қолданылатын пернелер жиынтығы

Пернелер Орындалатын әрекеттер SHIFT+CTRL,SHIFT+ALT Пернетақтадағы баспа әріптер ретін өзгерту CTRL+C Белгіленген элементті көшіру CTRL+X Белгіленген элементті қиып алу CTRL+V Белгіленген элементті қою CTRL+Z Әрекетті кері қайтару CTRL+Y Әрекетті қайталау CTRL+S Ағымдағы файлды немесе құжатты сақтау DELETE Белгіленген элементті жойып, «Себетке» орналастыру SHIFT+DELETE Белгіленген элементті «Себетке» орналастырмастан жою CTRL + оң жақ бағыттауыш (→) Курсорды келесі сөздің басына орналастыру CTRL + сол жақ бағыттауыш (←) Курсорды алдыңғы сөздің басына орналастыру CTRL + төмен жақ бағыттауыш (↓) Курсорды келесі абзацтың басына орналастыру CTRL + жоғарғы жақ бағыттауыш (↑) Курсорды алдыңғы абзацтың басына орналастыру CTRL+SHIFT + бағытшалары бар пернелер Текст фрагменттерін белгілеу SHIFT + бағытшалары бар кез-келген перне Жұмыс үстелінде немесе терезеде бірнеше элементтерді белгілеу, сондай-ақ, құжатта тексті белгілеу CTRL + бағытшалары бар кез-келген перне + БОС ОРЫН Жұмыс үстелінде немесе терезеде бірнеше жеке элементтерді белгілеу CTRL басып тұрып , тышқан көрсеткіші арқылы таңдау Бірнеше элементтерді еркін түрде таңдау SHIFT басып тұрып , тышқан көрсеткіші арқылы таңдау Бірнеше элементтерді жұмыла таңдау CTRL+A Терезедегі немесе құжаттағы барлық элементтерді белгілеу ALT+F4, CTRL+W Ағымдағы терезені жабу немесе белсенді болып тұрған бағдарламадан шығу ALT + БОС ОРЫН Белсенді болып тұрған терезенінің қосымша мәзірін ашу CTRL+F4 Белсенді болып тұрған құжатты жабу(біруақытта бірнеше құжаттарды ашатын бағдарламаларда қолданылады) ALT+TAB Бір элементтен келесі элементке көшу CTRL+ALT+TAB Бағыттауыш пернелерді қолдану арқылы бір элементтен басқа элементке көшу CTRL + тышқанның айналма жүгірткіші Жұмыс үстеліндегі белгішелер өлшемін өзгерту ALT+ESC Элементтерді ашылған реті бойынша циклді түрде ашып, алмастыру SHIFT+F10 Белгіленген элементтің қосымша мәзірін ашу CTRL+ESC «Бастау»(«Пуск») мәзірін ашу ALT + көрсетілген әріп Сәйкес менюді көрсету ALT + жоғарғы бағытталған перне Windows жетектегішінде бір дәреже жоғары тұрған буманы қарап шығу ESC Ағымдағы тапсырманы кері қайтару CTRL+SHIFT+ESC, CTRL+ ALT+ DELETE Тапсырмалар диспетчерін ашу Компакт-дискті қойған кезде SHIFT пернесін басу Компакт-дискіні автоматты түрде ойнату режиміне көшу

2. Файлдық мәліметтерді өңдеу

А) Файл дегеніміз не?

б) Файлдармен жұмысқа арналған функцияларды атаңыз, оларды сипаттаңыз

Файлдар.

Файлдармен жұмыс

Файл – сыртқы есте сақтау құрылғыларында (магниттік дискілерде) орналастырылған және мәлімет өңдеу, тасымалдау, кездерінде біртұтас күйде қарастырылатын мәліметтер жиыны.

Файлдармен жұмыс істеу үшін оларды, алдымен, ашу керек, яғни файл туралы мәліметті – атын, адресін программаға белгілі ету қажет.

С тілінде файл ашу fоpen() функциясы арқылы орындалады. Ол сыртқы құрылғыдағы физикалық файлды, мысалы, A:\NUR.DAT, программадағы оның логикалық атымен байланыстырады. Логикалық ат дегенымыз - файлға нұсқауыш, яғни файл туралы мәлімет сақталатын жады аймағына сілтеме жасау. Файлға нұсқауыш сипатталуы тиіс.

Сонымен, файлдармен жұмыс істегенде нұсқауыштар қолданылады. Файлға нұсқауыш мынандай түрде сипатталады:

FILE *fr;

Мұндағы FILE типі - <stdio.h>тақырыптық файлында анықталған құрылым. Бұл нұсқауышты көрсетілген файлмен сол файл ашылғаннан бастап, байланыстырып қоюға болады. Ол үшін келесі функция пайдаланылады:

fopen(“файл адресі/аты”, “қатынасу типі”);

ол файлға нұсқауыш мәнін қайтарады немесе қате болса, NULL мәнін береді.

Мысалы, мынадай оператор орындалуы нәтижесінде

fp=fopen (“ex1.txt”,”w”);

жұмыс бумасындағы ex1.txtфайлы оғанмәлімет жазу (write) үшін ашылады, ал программада бұл файлды fpнұсқауышы арқылы пайдаланамыз (яғни fоpen()функциясы файлдың сыртқы атын оның программада қолданылатын ішкі логикалық атымен байланыстырады).

Сонымен, файлды ашатын fоpen()функциясының жалпы жазылуы:

fp = fopen (name, mode)

мұнда fp– файлға сілтейтін нұсқауыш; name– файлдың адресін де көрсетуге болатын аты, көбінесе символдық тіркес арқылы жазылады; mode– файл қандай режимде қолданылатынын көрсететін параметр, бұл да символдар тіркесімен төмендегідей түрде жазылады:

“r” –файлды оқу үшін ашу (файл бұрын ашылған болуы тиіс);

“w” –бос файлды информация жазу үшін ашу;

“a” –файл соңына мәлімет қосып жазу үшін оны ашу;

“r+” –файлдан информация оқу және оған информация жазу үшін ашу;

“w+” –бос файдан информция оқу және оған мәлімет жазу үшін файл ашу (бұрын файл болса ол өшіріледі);

“a+” –файлдан информация оқу және оның соңына информация қосып жазу үшін ашу;

“t” –файл мәтіндік (текстік) режимде ашылады, ол rt,wt,at.т.с.с. болып көрсетіле береді;

“b” –файл екілік режимде ашылады, rb,wb,ab,т.с.с. болып көрсетіле береді;

Келісім бойынша файл көбінесе мәтіндік режимде ашылады.

Файлмен жұмыс істеп болған соң, оны жабу үшін келесі функция қолданылады:

fclose( файл_нұсқауышы) .

Файлға мәлімет жазу/оқу үшін жалпы енгізу/шығару функциялары тәріздес бірсыпыра функциялар пайдаланылады:


Дата добавления: 2018-04-04; просмотров: 976; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!