
- •11)Ағымдық кластардың иерархиясы. Файлдық енгізу/шығару.
- •Класстар иерархиясын құру
- •12. Класс шаблондары, қызметі ерекшелігі.
- •Шаблон параметрі ретінде параметре типі, қарапайым параметр типі, шаблон параметрі бола алады.
- •13. Виртуалдық, достық, статикалық қызметтер. This көрсеткіші
- •14.Атаулар кеңістігі, түрлену қызметі, кластың статикалық мүшелері, кластың тұрақты және модификацияланатын мүшелері.
- •15.Тапсырмалардың паралелді орындалуы.
- •16.Fortran программалау тіліндегі операциялар, өрнектер және стандартты функциялар.
- •17.Fortran тіліндегі мәліметтер типі. Мәліметтер инициализациясы.
- •Fortran тіліндегі енгізу/шығару операторларының классификациясы.Атаулы және атаусыз тізіммен басқарылатын енгізу/шығару. Форматталған енгізу/шығару.
- •Енгізілген екі санның суммасын файылға жазатын есептің программасын жазайаық
- •Fortran тіліндегі шартты оператордың құрылысы.
- •1. Арифметикалық
- •2. Логикалық
- •20. Fortran тіліндегі циклді оператордың классификациясы. Параметрмен, алғы шартпен және соңғы шартпен жазылатын циклдер.
- •Бірден n ге дейінгі сандардың суммасын есептеу.
- •Вычисление суммы целых чисел в цикле с предусловием.
- •Fortran тілінде статикалық массивтерді хабарлау және инициализациялау.
- •Fortran тілінде динамикалық массивтерді хабарлау және инициализациялау.
- •24.Fortran тіліндегі сыртқы және ішкі процедуралар.
- •25.Fortran тіліндегі модулдер және олардың қолданылуы
2. Программалау
Мәліметтерді түрлендіру, жад кластары, операциялар, операциялардың артықшылықтары, С және С++ стандартты кітапханалары.
С++ - тегі басқару операторлары: шартты операторлар, циклдік операторлар.
С++ - тегі функциялардың жазылуы және қолданылуы: функциялардың прототипі және оларды жазу стилі, функциялардың аргументтері мен типтері, main () функциясының аргументтері.
Массивтер: С++ тілінің массивтері, массивтерді хабарлау, массивтерді инициализациялау, массив элементтеріне қатынау, массивтің өлшемін есептеу, көпөлшемді массивтер.
Көрсеткіштер: айнымалы көрсеткіштерді анықтау, функциядағы көрсеткіштер, динамикалық жады, көрсеткіштер мен массивтер, С++ - тегі сілтемелік типтер.
С++ - тегі енгізу және шығару: ағындық функциялар, төмен деңгейлі енгізу мен шығару, форматталған енгізу/шығару.
Құрылымдар, бірлесу және өзге құралдар: С/С++ құрылымдары, синтаксис және ережелер, бірлесу, көмекші құралдар.
Объектілі – бағытталған бағдарламалау: С++ және объектілі бағытталған бағдарламалау, терминология.
С++ - тегі кластар: синтаксис және ережелер, кластардың ерекшеліктері, операциялардың артық жіктелуі, аралық кластар.
Абстрактілі негізгі кластар, өндіруші кластардың конструкторы.
Ағымдық кластардың иерархиясы. Файлдық енгізу/шығару.
Класс шаблондары, қызметі ерекшелігі.
Виртуалдық, достық, статикалық қызметтер. This көрсеткіші.
Атаулар кеңістігі, түрлену қызметі, кластың статикалық мүшелері, кластың тұрақты және модификацияланатын мүшелері.
Тапсырмалардың паралелді орындалуы.
Fortran программалау тіліндегі операциялар, өрнектер және стандартты функциялар.
Fortran тіліндегі мәліметтер типі.Мәліметтер инициализациясы.
Fortran тіліндегі енгізу/шығару операторларының классификациясы.Атаулы және атаусыз тізіммен басқарылатын енгізу/шығару. Форматталған енгізу/шығару.
Fortran тіліндегі шартты оператордың құрылысы.
Fortran тіліндегі циклді оператордың классификациясы. Параметрмен, алғы шартпен және соңғы шартпен жазылатын циклдер.
Fortran тілінде статикалық массивтерді хабарлау және инициализациялау.
Fortran тілінде динамикалық массивтерді хабарлау және инициализациялау.
Fortran тіліндегі процедуралар (функциялар, ішкі программалар).
Fortran тіліндегі сыртқы және ішкі процедуралар.
Fortran тіліндегі модулдер және олардың қолданылуы
1.Мәліметтерді түрлендіру, жад кластары, операциялар, операциялардың артықшылықтары, С және С++ стандартты кітапханалары. Операциялардың бинарлы және унарлы түрі бар.Бинарлы екі операндтан тұрады, ал унарлы бір операндтан тұрады.
Унарлы операциясы:
&- Мекен-жайды алу операциясы
*-Мекен-жай бойынша айналым операциясы
- -унарлы алу
+- унарлы қосу
!-терістеу
++- 1-ге автоүлкейтіп көрсету(автоувеличение)
-- - 1-ге кішірейтіп көрсету(автоуменьшение)
Sizeof- байттағы өлшем есептелімінің операциясы
Бинарлы операция
+- бинарлы қосу
- -бинарлы алу
*- көбейту
/- бөлу(бөлу кезінде әрбір сан, әрбір бөлік меншіктіден алынады)
% - бөлуден алынған қалдық
Иелену операциясы
=- Операндтарды сол жақ бөлік формуласы мағынасынан оң жақ бөлігіне иелендіру операциясы
+- операндтардың сол жақ бөлік қосындысына операндтың оң және сол жақ бөлігіне иелендіру
- - операндтардың сол жақ бөлік айырмасына операндтың оң және сол жақ бөлігіне иелендіру
/- бөлуден меншіктіге иелендіру
%- бөлуді қалдыққа иелендіру
Теңестіру операциясы:
<- кем
>- артық
<=- кем немесе тең
>=-артық немесе тең
==-тең
!= -тең емес
Логикалық бинарлы операциялары:
&&- мен логикасы
||-немесе логикасы
С++ кітапханасы
Біріншіден әрбір программаны кітапханаға қосу керек, содан кейін сол немесе басқа іс-әрекеттерді жүзеге асыру керек және кеңістік аты. Осылай болады:
#include <iostream>
#include <iomanip>
#include <fstream>
...
using namespace std;
...
Әрбір кітапхананың өзінің міндеті бар:
<iostream>–енгізудің және тұжырымдар қатарының мазмұнды кітапханасы cin мен cout. ;
<iomanip>– setw модификаторы асырайтын кітапхана. Оның көмегімен, мысалы, элемент матрицасы немесе вектор координатасы үшін ен жиегін орнатуға болады. ;
<cmath>– бұл кітапханада триганаметрикалық функциялар, логарфмдер, модулдер және басқа функциялар және қарапайым математикалық операцияларды орындау үшін белгіленгендер.
<cstddef>– NULL сілтегішінен тұратын кітапхана;
<cstdlib>– өзіне функцияларды, есте сақтағыш бөліп шығарумен айналысатындар, программаларды орындау кезінде бақылау процесстері, өзгерту типтері және басқалары.
<fstream>– ifstream мен ofstream қатарлары, файлдағы оқу, жазуды ұйымдастыратындар;
<cstring>– жолд армен жұмыс жасау үшін функциялар, strlen сияқты (жол ұзындығын есептеу), strcpy (жолдарды көшіру), strcat (жолдарды біріктіру), strcmp (жолдарды теңестіру) және басқалары
2. С++ - тегі басқару операторлары: шартты операторлар, циклдік операторлар.
Басқару операторлары С++ басқарушы операторлары стандартты жиынтықты қолдайды. Бұл операторлар тек ішкі дене функциясын немесе методын және басқару жүрісімен орындалатын бағдарламаларды қолданады.
Шартты операторлар.Шартты оператор if көрсетілген операторымен орындайды, егер шарт шынайы болса(0-ге тең емес).Әйтпесе, else операторымен қанынасса, альтернативті оператор орындайды. Шартты операторларға қаржы салуға жібереді, сонымен бірге else жақын if –ке қарайды. Ықтимал қатемен иелендіру операцияларының арасында қателесулер болуы мүмкін =және == теңдік операциядары .
#include <iostream>
using namespace std;
int main() {
int i;
cout<<"assign value: ";
cin>>i; // мағынаны клавиатурадан кіргіземіз
cout<<endl;
if(i==5) { // егер i 5-ке тең болса
cout<<"i=";
cout<<i<<endl;
}
else {// әйтпесе
cout<<"i!=5";
cout<<" i="<<i<<endl;
}
/*******
// оператор шығарымымен
if(i==5) cout<<"i="<<i<<endl;
else cout<<"i!=5";
*******/
return 0;
}
Талғам операторы.Талғам операторы switch бүтін сан формуласының мағынасы басқарудың бір белгілеріне байланысты. Егер формула мағынасы switch блогы қаралмаған және default жасыру бойынша белгі болмайды, онда ештене болмайды. Сапа белгісі тек тұрақты шамаларды қолданады. Шыға беріс кезінде switch блогына break операторы қызмет етеді. Мүмкіндік болса осы операторды қолданған жөн, негізі көпшілігі if операторын қолданады.
#include <iostream>
using namespace std;
int main() {
int i;
cout<<"assign value: ";
cin>>i; // мағынаны клавиатурадан кіргіземіз
cout<<endl;
switch(i) {
case 0: cout<<"zero"<<endl; break;
case 1: cout<<"one"<<endl; break;
case 2: cout<<"two"<<endl; break;
case 3: cout<<"three"<<endl; break;
case 4: case 5:
cout<<"four or five"<<endl;
break;
//default: cout<<"other number"<<endl;
}
cout<<"end"<<endl;
return 0;
}
Циклдар
С++ -та 3 түрлі өзара ауыстырмалы цикл бар. Белгіленген циклдар оператор орындағанша ақиқат шартын (0-ге тең емес) алмайды.Егер шарт циклі үнемі ақиқат болса(мысалы, 1-ге тең), дене циклында циктен шығар кезінде қосымша шарттарды қарау керек, әйтпесе шексіз цикл аламыз. Дене циклында әрбір қадамның орындалуы итерация деп аталады. Циклден тезірек шығу үшін break операторы қызмет етеді. Сontinue операторы келесі итерацияға өтуді орындайды.
ЦИКЛ С ПРЕДУСЛОВИЕМ
Бұл цикл while операторымен анықталады.
#include <iostream>
using namespace std;
int main() {
int i;
cout<<"assign value: ";
cin>>i;
while(i<10) { // цикл с предусловием
if(i==5) {
i++;
continue;
}
cout<<i<<" ";
i++;
}
return 0;
}
ЦИКЛ С ПОСТУСЛОВИЕМ
Цикл с постусловием do...while дене циклі орындалғаннан кейін шартты тексереді. Осындай бейнемен, бір итерация циклі орындалады. #include <iostream>
using namespace std;
int main(){
int i;
cout<<"assign value: ";
cin>>i;
do // цикл с постусловием
{
if(i==5) {
i++;
continue;
}
cout<<i<<" ";
i++;
}
while(i<10);
return 0;
}
Есептеуіш бойынша цикл
Циклдегі for есептеуіші бойынша while дене циклін орындаған сияқты шартты тексереді. Алайда қосымша ретінде жергілікті циклдерді өзгерту тізімін және әрбір итерацияны орындағаннан кейін өндірістік әрекетті көрсетуге болады.
О#include <iostream>
using namespace std;
int main(){
// for (иниц. локальных переменных ; условие ; пост итерационные действия)
for(int i=0;i<10;i++) {
cout<<i;
cout<<" ";
}
cout<<endl;
//немесе
for(int i=0;i<10;i++)
cout<<i<<" ";
cout<<endl;
// немесе while көмегімен
int i=0;
while(i<10)
cout<<i++<<" ";
cout<<endl;
return 0;
}
Функциядан шығу
Дене функциясынан тезірек шығу үшін return операторы қызмет етеді, сонымен қатар қайтарылатын мағына бойынша көрсетіледі.
\#include <iostream>
using namespace std;
void outto5(int n){
for(int i=0;i<n;i++)
if(i==5) return;
else cout<<i<<" ";
}
int sumab(int a,int b){
return a+b;
}
int main(){
outto5(10);
cout<<endl;
cout<<"sumab(3,4)="<<sumab(3,4)<<endl;
return 0;
}
Шарт қойылмайтын тұжырым goto операторы ескірген және бұл жерде қарастырылмайды.
3)С++ - тегі функциялардың жазылуы және қолданылуы: функциялардың прототипі және оларды жазу стилі, функциялардың аргументтері мен типтері, main ()функциясының аргументтері. Функция. Функцияны сипаттау.Си-дегі кез-келген программа - бұл айнымалылар сипаттамасы мен функциялар жиынтығы. Програмада кем дегенде, бір функция болады және программадағы бір функцияның аты main болуы тиіс. Программаның орындалуы осы main функциясынан басталады. Main функциясының орындалуы барысын-да басқа функциялар шақырыладыПрограмада кем дегенде, бір функция болады және программадағы бір функцияның аты main болуы тиіс. Программаның орындалуы осы main функциясынан басталады. Main функциясының орындалуы барысын-да басқа функциялар шақырылады.
Функция дегеніміз – белгілі бір операциялар тобын атқаратын программа блогы. Функцияға мәліметтер береміз де, одан белгілі бір нәти-желер аламыз. Функцияның ішкі әрекеті программаның басқа бөліктеріне қатыссыз орындалады.Функциялар арасындағы байланыс мән қайтаратын аргументтер мен сыртқы айнымалылар арқылы орнатылады. Return инструкциясы нәтижені шақыратын функциядан шақырған функцияға қайтару механизмін орындайды және return сөзінен кейін кез келген өрнек тұруы мүмкін.
return <өрнек>;
Өрнекті жақшаға да жазуға болады, бірақ ол міндетті емес. Си-де функцианың барлық аргументі параметрлер ретінде беріледі, яғни шақырылатын функцияға аргументтің өзі емес оның аргументтерінің мәні беріледі. Си-гі кез келген функцияның прототипі болуы тиіс, яғни функция аты, аргументтерінің типі және қайтарылатын нәтиже типі көрсетілген тақырыбы хабарланады. Прототипі программа денесінде немесе бөлек тақырыптар файлында айқындалады. Функция прототипі компиляторға функция туралы информация береді де, сәйкесінше компилятор типтер сай келуін тексереді. Функция әртүрлі типті мән қайтара алады, int,void,float т.б.
2. Функцияның формальды және нақты аргументтеріАйнымалылар жергілікті және сыртқы болуы мүмкін. Жергілікті айнымалылар функция ішінде сипатталады да сонда ғана "көрінеді”. Функция ішінде орналасқан айнымалылар типтері сипатталуы осы функцияның ішінде ғана анықталған болып саналады, (мұнда тек қана main функциясы ерекше жағдайда болып саналады). Программа мәтінінде функ-циялар кез келген ретпен орналасуы мүмкін. Функцияны шақыру үшін функцияның аты және жақшада нақты аргументтері көрсетіледі. Функция өз жұмысын аяқтағаннан кейін есептелген нәтижені return операторы арқылы қайтарады Сыртқы айнымалылар кез келген функция сыртында сипатталады да, сол функцияның кез келген жерінде қолданылады. Кез келген функцияны анықтау үшін форматы:
<тип нәтиже> <функция аты> (параметр тізімі)
{
<функция денесі>
}
Функция аргументтерінің берілу тәсілдеріАргументтер мән ретінде берілгенде функцияның ішінде аргумент аттас жергілікті айнымалы құрылады да оның мәні функцияда өзгеруі мүмкін, бірақ аргументтің мәні өзгермейді. Айнымалы-сілтеме арқылы берілу тәсілі: Аргументтегі айнымалы сілтеме арқылы берілгенде функция аргументтің мәнін емес, оның адресін алады. Ал мұнда құрылған жергілікті айнымалы көрсеткіш болады. Бұл, жадыны үнемдеуге мүмкіндік береді және функцияның орындалу барысында айнымалы аргумент мәні өзгереді. Бұл жағдайда функция аргумент айнымалы сілтеме арқылы бірнеше мән қайтара алады. Әртүрлі типті аргументті функцияларды қарастырайық: Функция аргументтері Char, int, float, double, массив типті бола алады.
Mысалы:
# include<iostream.h>
int sum1(int i,int b,int d)
{ int result;
result = i+b+d;
return result;
}
main ()
{
int sum1(int i,int b,int d);
int p,d1,l;
int a,b,c;
cin>>p>>d1>>l;
cout<<"\n summa p,d1,l="<<sum1(p,d1,l)<<endl;
cin>>a>>b>>c;
cout<<"\n summa a,b,c="<<sum1(a,b,c)<<endl;
return (0);
}
Функция прототипі
ANSI С стандартын қабылдаған соң, С тілінде функциялардың программалау принциптері өзгертірілді. Функция прототиптерінің қолданылуы негізінде қалдырылып, С++ тілінде оның мүмкіншіліктері кеңейтірілді. С++ программалау тілі компиляторы С тілінде жазылған функцияларды да біргелікте орындай алады. ANSI С стандартына көре кез-келген функция прототиптерге ие болуы, еш болмағанда сипатталған қайту мәні, типі және аргументтер типі, аты көрсетілген функция болуы қажет. Функция прототипі компиляторды функцияға қажетті аргументтер және қайту типі мәндері ақпараттарымен қамтамасыз етеді. Бұл компиляторды типтерді тексеруге алып келеді. 2. Функциялардың берілу синтаксисіЖаңа тәсіл бойынша функцияның сипатталу синтаксисі
Нәтиже_типі функция_аты(аргумент_типі міндеттіемесаргумент_аты[,…]);
Функция 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) Массивтер: С++ тілінің массивтері, массивтерді хабарлау, массивтерді инициализациялау, массив элементтеріне қатынау, массивтің өлшемін есептеу, көпөлшемді массивтер. Жиым немесе массив – бір атауға біріктірілген бір типтегі элементтердің реттелген жиыны. Жиым элементтері компьютер жадында бір үздіксіз аймақты алады және бірінен соң бірі тізбектей орналасады. Жиымдар бір және көпөлшемді болып бөлінеді.
Бірөлшемді жиымның жазылу форматы:
массив элементтерінің типі жиым_аты[жиым ені];
Мысалы, 10 бүтін элементтерден тұратын а жиымы берілген.
Int a[10];
Жиымды сипаттауда оның элементтеріне алғашқы мәндерді меншіктеу жиымды инициализациялау деп аталады.
Жазылуы:
жиым элементтерінің типі жиым_аты[жиым ені]={мәндер тізімі};
Мысалы,
іnt fib[9]={0, 1, 1, 2, 3, 5, 8, 13, 21};
С++-те инициализацияланған жиымды хабарлағанда, автоматты түрде жиымның өлшемі анықталады. Бұл жағдайда компилятор қойылған инициализаторларды есептеп, қойылмаған жиым өлшемін анықтайды.
int fib[]={0, 1, 1, 2, 3, 5, 8, 13, 21};
Сипаттағанда өлшемі нақты көрсетілмеген жиым анықталмаған ұзындықтағы жиым деп аталады. Жиымның жеке элементіне қатынау осы элементтің нөмірі немесе индексі арқылы жүзеге асырылады. Индекс жиым элементінің орнын анықтайды. Жиым элементтерінің индекстері 0-ден бастап нөмірленеді, n-1 ден аяқталады, n – жиымдағы элементтер саны. Мәндері толык көрсетілсе, индексті жазбаса да болады. Ал былай болса,
intfib[8]={0, 1, 2, 3}; қалған элементтері 0 болып саналады.
n=10; k=2; fib[n-k] = {0, 1, 2, 3}; десе де болады.
Жоғарыдағы тізбектің 7-ші элементін бір бүтін айнымалыға меншіктеу үшін былай жазамыз.
int a = fib[6]; // a = 8
Жиым элементтерін енгізу немесе оларды түрлендіру үшін цикл операторлары қолданылады. Си++ тілінде жиымды жиымға бірден теңестіруге болмайды, олардың элементтерін цикл ішінде бір-біріне біртіндеп теңестіру керек.
Мысалы,
int a[10], b[10];
for (int i=0; i<10; ++i) a[i]=b[i];
Мысалы, 10 бүтін саннан тұратын бір өлшемді жиым элементтерінің орта мәнін, ең кіші және ең үлкен мәнін табудың бағдарламасын құрайық:
Main ()
{
int a[10]; // бірөлшемді жиымды сипаттау
int i, ort, min, max;
cout<<”Жиым элементтерін енгіз”;
for (i=0; i<10; i ++)
cin>>a[i];// жиым элементтерін енгізу
ort=0;
for (i= 0; i<10; i++)
ort+=a[i];
ort/=10;// жиым элементтерінің орта мәнін табу
cout<<”Орта мән ort=”<<ort<<’n’;
min=max=a[0];
for (i= 0; i<10; i++)
{If (a[i]<min) min=a[i];// ең кіші мәнін табу
IF (a[i]>max) max=a[i]; // ең үлкен мәнін табу
}
cout<<”Ең кіші элемент min=”<<min<<’n’;
cout<<”Ең үлкен элемент max=”<<max<<’n’;
return 0;} Си++ тілінде кездейсоқ сандар беретін функциялар бар. int rand() - 0..RANDJVFAX =32767 аралығындағы кез келген кездейсоқ бүтін санды береді.Aл int random(n) 0..n аралығындағы кез келген кездейсок бүтін санды береді.Бұл функцияларды пайдалану <stdlib. h> файлы арқылы орындалады.
Мысалы, a[n] жиымына кездейсоқ сандар енгізу
# include <conio.h>
# include <stdio.h>
# include <stdlib.h>
Void Main() {
int a[100]; int n; cout<<”n Жиым элементтерінің санын енгіз”; cin>>n;
for (int i=0; i<n; i++){
a[i]=rand()%100-50;
cout<<a[i]);}
getch();}
Екі өлшемді жиым. Матрица. Бір индекстен көп индексі бар жиымдар көп өлшемді деп аталады. Екі өлшемді жиымдарды біз көп қолданамыз. Екі өлшемді жиымның жазылу форматы:
жиым элементтерінің типі жиым_аты[жолдар ені][бағаналар ені];
Мысалы:
int t[3][4]; // 3 жол, 4 бағанадан тұратын t екі өлшемді жиымы
Жиым элементтері:
t[0][0] t[0][1] t[0][2] t[0][3]
t[1][0] t[1][1] t[1][2] t[1][3]
t[2][0] t[2][1] t[2][2] t[2][3]
5. Көрсеткіштер: айнымалы көрсеткіштерді анықтау, функциядағы көрсеткіштер, динамикалық жады, көрсеткіштер мен массивтер, С++ - тегі сілтемелік типтер. С++ тіліндегі көрсеткіштерге сипаттама Көрсеткіш-айнымалыны баяндау және инициалдау. Көрсеткіштер дегеніміз мәндері жадымәнге тікелей сілтенеді, ал көрсеткіш мәнге жанама сілтенеді. Мәнге баяндалуы қажет. int *countPtr, count; операторында int * (бүтін санды мәнге көрсеткіш) Кез келген типті объектілерге сілтенетін көрсеткіштерді баяндауға болады. Көрсеткіштер баяндалу кезінде немесе меншіктеу операторының көмегімен инициалдануы
Көрсеткіш басқа объектінің мәніне қатынау үшін қолданылады. Айнымалы-көрсеткіштің сипатталуы: Тип * айнымалы аты;
Тип – бұл көрсеткіштің базалық типі.
Мысалы, int *ip; // бүтін типті көрсеткіш
double p1,p2,*p3; // double типті 3 көрсеткіш
int *pi[10] // типі int 10 көрсеткіштен тұратын жиым
p = & pi [ 3 ]; // p pi жиымының 4-ші элементін көрсетеді
float *p = 0; // p нөлдік көрсеткіш
Жиым немесе массив – бір атауға біріктірілген бір типтегі элементтердің реттелген жиыны. Жиым элементтері компьютер жадында бір үздіксіз аймақты алады және бірінен соң бірі тізбектей орналасады. Жиымдар бір және көпөлшемді болып бөлінеді. Бірөлшемді жиымның жазылу форматы: жиым элементтерінің типі жиым_аты[жиым ені] . Мысалы, 10 бүтін элементтерден тұратын а жиымы берілген.
Int a[10];
Жиымды сипаттауда оның элементтеріне алғашқы мәндерді меншіктеу жиымды инициализациялау деп аталады. Жазылуы: жиым элементтерінің типі жиым_аты[жиым ені]={мәндер тізімі};
Мысалы, іnt fib[9]={0, 1, 1, 2, 3, 5, 8, 13, 21}; Тілдің стандартына сәйкес массив элементтер жиынын көрсетеді. Тип аты _массивтің [саны_ элементтер]; Массивтің аты жад облысына көрсеткіш болып келеді, массив Айнымалы өлшемді массивті көрсеткіштермен жадтың динамикалық әдісімен құрауға Free() функциясы кері амалды шешеді . malloc(), calloc() Бөліну және жадты босатуға арналған функциялар Функция Қысқа мазмұны malloc() Void* malloc (unsigned s); Көрсеткішті динамикалық жадтың ұзындығы s байтты болатын көрсеткішті calloc() Void* calloc (unsigned n, unsigned m); әр қайсысы m байттан тұратын n элементі сию realloc() Void* realloc (void*bl, unsigned ns);
Көрсеткіштердің өзін массив түрінде ұйымдастыруға болады. Мүмкіндіктердің бірі: екі жолдарды салыстыру арқылы – олардың strcmp функцияларына көрсеткіштерді беру. Жолдардың орындарын ауыстыру үшін, массивте олардың көрсеткіштерінің орнын ауыстыру жеткілікті (жолдардың өзін емес). Бұдан екі мәселе бірдей шешіледі: біреуі – жадыны басқару күрделілігімен, ал екіншішісі – жолдардың өзін ауыстыруда жинақталған үлкен шығындармен байланысты. Егер массив өлшемі белгісіз болса немесе өте улкен болса оны функция ішінде жасау үшін динамикалық жадыны қолданады. Ол үшін екі операторды білу қажет
new -жадыны бөліп алу ,бөліну орындалмаса нөлдік көрсеткіш қайтарылады
delete – жадына босату, кейбір компиляторға көрсеткішке жады босағанда 0 мәні беріледі
#include <iostream>
using namespace std;
int main() {
// создание объекта типа int со значением 45
// и сохранение его адреса в указателе obj
int* obj = new int(45);
// освободили память на которую указывал obj
cout<<"*obj="<<*obj<<endl;
delete obj;
// елементы массива нельзя инициализировать
// им задается значение по умолчанию
// в случае классов вызывается конструктор по умолчанию
int* array = new int[10];
cout<<"array:";
for(unsigned int i=0; i<10; i++)
cout<<array[i]<<" ";
cout<<endl;
delete [] array;
// для избежания возможных ошибок
// указателю лучше присвоить 0 (при доступе
// к нулевому указателю генерируется системная ошибка,
// а значит ошибка не останется незамеченной)
array=0;
...
}
6. С++ - тегі енгізу және шығару: ағындық функциялар, төмен деңгейлі енгізу мен шығару, форматталған енгізу/шығару.
С ++ те енгізу шығарумен программаны жазып бастау үшін программада міндетті түрде орындалады:
#include <fstream>
Fstream классы istream и ostream –ң ұрпағы болып есептеледі.
Бұл класстартар ifstream и оfstream улкен болып есептеледі .
Класс fstream бір файлда енгізу шығаруды жасайды.
Класс ifstream, оfstream (записи в файл) файлға жазу, (оқуды) енгізу шығаруды жүргізеді
istream, ostream класстар экземпляры cin, cout осылар арқылы стандартты енгізу/ шығару жүзеге асады. Ундестік бойынша клавиатурадан енгізу және экраннан шығару болып табылады. Осылайша программаға fstream классын қосу стандартты енгізу/ шығаруды жүзеге асыруға жеткілікті.
Берілгендерді форматты енгізу шығару Берілгендерді форматты енгізу scanf, fscanf, sscanf және cscanf функциялар көмегімен жүзеге асырылады. Бұл функциялардың форматтарын және аргументтерін қолдану ережелері бірдей. scanf функциясының прототипі: Еnd scanf (char * format [arg…]);
scanf функциясының көмегімен берілгендерді stdin стандартты енгізу ағынынан адресі аргументтерімен берілетін айнымалыларға енгізу жүзеге асырылады. Функцияның параметрлерінің саны айнымалы. Бірінші format параметрінің мәні енгізу элементтерінің интерпретациясымен жүргізетін жолдың адресін анықтайды. Келесі аргументтер format параметрінің форматтарымен сәйкес енгізілетін айнымалылар адресінің тізімін құрады. Әр аргумент format параметрінде келесі форматпен анықталған типпен сәйкес айнымалы типінің көрсеткіші болуы керек. format жолы солдан оңға жұмыс істейді: 1-ші форматқа 1-ші аргумент сәйкес келеді, екіншісіне – екінші және т.б. fscanf функциясының прототипі:
Еnd fscanf (FILE * stream, char, * format [arg…]);
Мұндағы stream - енгізу жүргізілетін файл көрсеткіші.
Функция файлдағы stream көрсеткішімен байланысты элементтерді оқиды. sscanf функциясының прототипі: Еnd sscanf (char * string, char * format [arg…]);
Мұндағы string-енгізу жүргізілетін файл көрсеткіші. sscanf функциясы string жолындағы элементтерді оқиды.
cscanf функциясының прототипі: Еnd cscanf (char * format [arg…]);
Барлық scanf типті функциялар мәнді кіру ағыны өрісінен, оларды өзінің форматымен сәйкес интерпретациялап, тізбектеп енгізеді. 1-ші енгізілген мән format жолының 1-ші форматымен интерпретацияланады, айнымалы аргументінің сақталу формасына айналады және 1-ші аргументімен адресіне апарылады. Келесі өрістің мәні 2-ші форматпен сәйкес интерпретацияланады және т.с.с формат жолының аяғына дейін. Егер format жолында формат саны еншгізілетін мәннің аргумент көрсеткішінен үлкен болса:
-пернетақтадан мәліметті енгізген кезде жүйе тоқтайды және берілгендерді “артық” форматқа енгізуді күтеді;
-format көмегімен файлдан енгізгенде – нәтиже анықталмаған.
Файлдан мәнді форматты енгізу.
# include<stdio.h>
# include<conio.h> // - для clrscr
FILE *f;
void main ( )
{ int a,e;
float b,d; // - инициализированная строка форматов:
char c[7], g, *ft = “a=%d b=%f c=%s %f %d %c”;
f = fopen (“4_08.dat”, “r”); // - очистить экран
clrscr ( );
fscanf (f, ft, &a, c, &d, &e, &g);
fclose (f);
printf (ft, a, b, c, d, e, g); // - вывод введенных значений
printf (“\nДля завершения программы нажмите любую клавишу\n”);
getch ( ); // - нажать любую клавишу }
Берілгендерді форматты шығару printf, fprintf және sprintf функцияларының көмегімен жүзеге асады. Оларды қолдану ережелері бірдей.
printf функциясының прототипі: int printf (char *format[,arg…]);
printf функциясы stdout стандартты шығару ағынына аргументтерімен анықталатын мәнді шығарады. Функцияда параметрлердің айнымалы саны болады. format параметрінің мәні шығаратын мәндердің интерпретациясымен басқаратын жолдың адресін анықтайды. Аргументтер нәтижесі шығарылуы керек болатын мәндерді анықтайды, олар айнымалылардың аты, тұрақтылар және жолға көрсеткіштер болуы мүмкін. Қайтаратын мән – шығарылған мәндердің саны.
fprintf функциясының прототипі: int fprintf (FILE *stream, char *format [,arg…]);
Функция берілгендерді stream шығару ағынына шығарады.
sprintf функциясының прототипі: int sprintf (char *str, char *format [,arg…]);
7).Құрылымдар, бірлесу және өзге құралдар: С/С++ құрылымдары, синтаксис және ережелер, бірлесу, көмекші құралдар. Объект өрістерін құру кезінде программа сәйкес тәсілді шақырудан гөрі, автоматты инициализациялауыңғайлы.Инициализациялаудың мұндай түрі – конструктор деп аталатын ерекше класс әдісінің көмегімен іске асырылады. Конструкторларда бірнеше ерекшеліктер бар. Біріншіден, конструктор аты класс атымен дәл сәйкес келеді. Екіншіден, конструкторда қайтарылушы мәні болмайды. Бұл конструктордың жүйе арқылы шақырылатындығымен түсіндіріледі. Яғни конструктордың мәнді қайтаратын программа немесе функцияның болмайтындығын көреміз. Конструктордың қызметі – класс объектісінің өрістерін инициализациялау. Конструкторда инициализация әдіс прототипі мен функция денесінің арасында орналасқан және қос нүктемен ажыратылады. Объект құрыларда ерекше класс әдісі – конструктор шақырылады. Объектіні жоюда автоматты түрде шақырылатын әдіс деструктор деп аталады. Деструктор есімі конструктор есімімен сәйкес келеді және есім алдында ~ тильда белгісі қойылады.Объектілерді бірнеше тәсілмен жоя алмайтындықтан деструкторлар мәндерді қайтармайды және аргументтері болмайды. Деструктордың негізгі жұмысы – объект құруда конструктормен бөлінген жадыны босату.2.Объектілі – бағытталған бағдарламалау: С++ және объектілі бағытталған бағдарламалау, терминология. Қазіргі уақытта программалуда 3 концепция белгіленген: объектілі бағытталған программалау; (ОБП) унификацияланған модельдеу тілі (UML) программалық қамтамаларды құру арнайы жабдықтары. Объектілі бағытталған программалау (ОБП) негізінде программа тізбектей орындалатын нұсқау ретінде емес, ұқсас қасиеттері және ұқсас орындайтын қызметтері бар объектілердің жиынтығы ретінде қарастырылады. Барлық объектілі бағытталған программалау тілдерінің ішінде ең кең таралған С++ тілі. Осы бағытта соңғы пайда болған Java тілінің С++ тілімен салыстырылғанда келесі кемшіліктері бар: көрсеткіштер, шаблондар, бірнеше қайтара мұрагерлік Java тілінде қарастырылмаған. Барлық синтаксис жағынан бұл тілдер ұқсас. Қазіргі таңда Microsoft және Borland компаниялары құрған С++ тілінің Microsoft Windows жүйесінде программалау ортасы көп тараған. Объектілі бағытталған программалау үш тұжырымға негізделген: кластар, мұрагерлік және полиморфизм. ОБП-дың негізгі идеясы – ол берілгендермен осы берілгендерге қолданылатын іс-әрекеттердің объект деп аталатын бір бүтінгебірігуі.Объектілердегі функциялар С++ тілінде әдістер деп аталады. Егер объектінің кейбір берілгендерін оқу керек болса, онда осы әрекетті орындау үшін қолданылатын әдісті шақыру керек. Бұл әдіс берілгенді оқиды да оның мәнін қайтарады. Оның мәнін тіке, әдісті қолданбай ала алмаймыз. Яғни берілгендер кездейсоқ сыртқы әсерден қорғалған. Берілгендер мен функциялар инкапсуляцияланған (біріктірілген) делінеді. Жасыру және инкапсуляция ОБП-дың негізгі терминдері болып табылады. Егер берілгенді өзгерту қажет болса, онда оны да объектінің әдісінің көмегімен орындау керек. С++ тіліндегі программа объектілер жиынтығынан тұрады. Олар бірінің бірі әдістерін шақыру арқылы бір-бірімен әрекеттерді орындайды.
8.Объектілі – бағытталған бағдарламалау: С++ және объектілі бағытталған бағдарламалау, терминология.
Қазіргі уақытта программалуда 3 концепция белгіленген: объектілі бағытталған программалау; (ОБП) унификацияланған модельдеу тілі (UML) программалық қамтамаларды құру арнайы жабдықтары. Объектілі бағытталған программалау (ОБП) негізінде программа тізбектей орындалатын нұсқау ретінде емес, ұқсас қасиеттері және ұқсас орындайтын қызметтері бар объектілердің жиынтығы ретінде қарастырылады. Барлық объектілі бағытталған программалау тілдерінің ішінде ең кең таралған С++ тілі. Осы бағытта соңғы пайда болған Java тілінің С++ тілімен салыстырылғанда келесі кемшіліктері бар: көрсеткіштер, шаблондар, бірнеше қайтара мұрагерлік Java тілінде қарастырылмаған. Барлық синтаксис жағынан бұл тілдер ұқсас. Қазіргі таңда Microsoft және Borland компаниялары құрған С++ тілінің Microsoft Windows жүйесінде программалау ортасы көп тараған. Объектілі бағытталған программалау үш тұжырымға негізделген: кластар, мұрагерлік және полиморфизм.
ОБП-дың негізгі идеясы – ол берілгендермен осы берілгендерге қолданылатын іс-әрекеттердің объект деп аталатын бір бүтінге бірігуі. Объектілердегі функциялар С++ тілінде әдістер деп аталады. Егер объектінің кейбір берілгендерін оқу керек болса, онда осы әрекетті орындау үшін қолданылатын әдісті шақыру керек. Бұл әдіс берілгенді оқиды да оның мәнін қайтарады. Оның мәнін тіке, әдісті қолданбай ала алмаймыз. Яғни берілгендер кездейсоқ сыртқы әсерден қорғалған. Берілгендер мен функциялар инкапсуляцияланған (біріктірілген) делінеді. Жасыру және инкапсуляция ОБП-дың негізгі терминдері болып табылады. Егер берілгенді өзгерту қажет болса, онда оны да объектінің әдісінің көмегімен орындау керек. С++ тіліндегі программа объектілер жиынтығынан тұрады. Олар бірінің бірі әдістерін шақыру арқылы бір-бірімен әрекеттерді орындайды.
9.С++ - тегі кластар: синтаксис және ережелер, кластардың ерекшеліктері, операциялардың артық жіктелуі, аралық кластар.
С++-тегі класс структураның кеңейтілген түрі және объект құруға арналған. С++-тегі класс шаблон секілді, оның негізінде объектілер құрылады. Кез-келген кластың бірнеше ішкі кластары болуы мүмкін. Кластар иерархиясы құрылады, баба класы жалпы сипаттаға әдістерден тұрады. Кластың құрамын арнайы кілттік сөздердің көмегімен реттеуге болады. Олар: public - «ашық», «көрінетін» бөлігі
private - «тасаланған» бөлігі («жабық»)
protected - «қорғалған» бөлігі.
«Көрінетін» бөлігіндегі сипатталған әдістер класты қолданатын кез-келген программадан шақырылады, яғни кластың интерфейсін құрайды. «Тасаланған» бөлігіндегі элементтер тек өзінің әдістерінде қолданылады, ал «қорғалған» бөлігіндегі элементтер өз әдістері мен ұрпақ кластарда қолданылады.Кластың сипатталуы:
class < Аты > {
< тип 1 > < айн 1 >
< тип 2> < айн 2 >
public:
әдіс 1
әдіс 2
-------
әдіс n;
};
<сипаттаушы> <кл. аты> [:базалық тізім] {элементтер тізімі}
Мұндағы - <сипаттаушы> – class, struct, union қызметші сөздернің бірі.
Класс аты – идентификатор;
< базалық тізім > -қасиеттері тұқым қуалауға тиісті базалық класс немесе кластар
тізімі болады;
{элементтер тізімі} – осы кластың өзіне тән элементтер тізімі беріледі. С++ тілінде класты құрғанда элементтерді бермей-ақ сипаттауға болады, u class Sorun. Бұларды класс аттарына сілтеме жасау үшін қолданады, ал объектімен нақты жұмыс жасауда толық анықталуы тиіс. Автоматты түрде кластың барлық элементтері «жабық» деп есептеледі және олар тек осы класс функцияларында қолданылады. Ал, оларды «ашық» түрде сипаттау үшін public, protected, private қызметші сөздерінің бірін қолдану керек.
Қарапайым класс мысалы:
# include <<iostream.h>
# include <math.h>
class obj_type {
double data;
public:
void set_v(double ang);
double get_sin(void);
} obj;
void obj_type :: set_v(double ang) {
data = ang;
}
double obj_type :: get_sin(vold) {
return (sin(0.01*data);
Операциялардың артық жіктелуі әдістердің артық жіктелуімен тығыз байланысты. Операциялардың артық жіктелу қызметін Operator кілтті сөзі атқарады. Ол оператор қызметін классқа сәйкес «операторлық әдісін» анықтайды. Операторлық әдістің 2 түрі бар:
1.Унарлы оператор
2.Бинарлы оператор
Олардың жалпы түрі келесідей:
// Унарлы оператордың артық жіктелуінің жалпы түрі.
public static қайтарушы_тип operator op (тип_параметра операнд)
{
// операциялар
}
// Бинарлы оператордың артық жіктелуінің жалпы түрі..
public static қайтарушы_тип operator op (тип_параметра1 операнд1,
тип_параметра2 операнд2)
{
// операциялар
}
Унарлы оператордың артық жіктелуінің мысалын қарастырайық. Сонымен қатар декремент және инкремент операторларының функцияларын қарастырамы:
class Integer
{
private:
int value;
public:
Integer(int i): value(i)
{}
//унарлы +
friend const Integer& operator+(const Integer& i);
//унарлы -
friend const Integer operator-(const Integer& i);
//префикстік инкремент
friend const Integer& operator++(Integer& i);
//постфикстік инкремент
friend const Integer operator++(Integer& i, int);
//префикстік декремент
friend const Integer& operator--(Integer& i);
//постфикстік декремент
friend const Integer operator--(Integer& i, int);
};
//унарлы қосу ештеңе істемеді.
const Integer& operator+(const Integer& i) {
return i.value;
}
const Integer operator-(const Integer& i) {
return Integer(-i.value);}
//префиксті түрі инкременттен кейін мәнін қайтарады
const Integer& operator++(Integer& i) {
i.value++;
return i;}
//постфиксті түрі инкрементке дейін мәнін қайтарады
const Integer operator++(Integer& i, int) {
Integer oldValue(i.value);
i.value++;
return oldValue;}
// префиксті түрі декременттен кейін мәнін қайтарады
const Integer& operator--(Integer& i) {
i.value--;
return i;}
// постфиксті түрі декрементке дейін мәнін қайтарады
const Integer operator--(Integer& i, int) {
Integer oldValue(i.value);
i.value--;
return oldValue;
}
Бұдан біздің көріп тұрғанымыз, компилятор декремент пен инкременттің префиксті және постфиксті түрлерін ажыратады. Компилятордың ++i формуласын көргенде шақыратын функциясы operator++(a), і++ формуласын көргенде шақыратын функциясы operator++(a,int).
10.Абстрактілі негізгі кластар, өндіруші кластардың конструкторы. Абстрактілі кластар-бұл экземплярын құруға болмайтын класстар. Бұған ең көп тараған мысал-геометриялық фигуралар.Мәселен сіз "фигура" типті экземпляр құрастыра алмайсыз,ол өте абстрактілі зат,бұл жерге нақтылық керек. Бірақ фигурадан шығатын формаларыңыз-дөңгелек,квадтар,үшбұрыштың т.с.с. экземплярын құруға болады.Барлық жерде таза виртуалды функциялар жайлы ғана жазады,себебі кем дегенде бір таза виртуалды функциясы бар(яғни берілген класста болжанбайтын,мұрагер-класстарда болжанатын функциялар) класс қана абстрактілі болады.Сол фигураға мысал келтірейік
C++ коды |
|||
Көріп тұрғандай Shape классы-абстрактілі, себебі ол жерде area таза виртуалды функциясы жарияланған(себебі біз абстрактілі фигураның көлемін өлшей алмаймыз).Бірақ Shape-тан мұраға қалатын Circle және Square класстарында area функция анықтауға болады. |
|
Объект өрістерін құру кезінде программа сәйкес тәсілді шақырудан гөрі, автоматты инициализациялау ыңғайлы. Инициализациялаудың мұндай түрі – конструктор деп аталатын ерекше класс әдісінің көмегімен іске асырылады. Конструкторларда бірнеше ерекшеліктер бар. Біріншіден, конструктор аты класс атымен дәл сәйкес келеді. Екіншіден, конструкторда қайтарылушы мәні болмайды. Бұл конструктордың жүйе арқылы шақырылатындығымен түсіндіріледі. Яғни конструктордың мәнді қайтаратын программа немесе функцияның болмайтындығын көреміз. Конструктордың қызметі – класс объектісінің өрістерін инициализациялау. Мысал 3: // counter. cpp # include < iostream. h> class Counter { private: unsigned int count; public: Counter ( ) : count (0) {/*пустое тело*/} void inc_count ( ) { count++;} int get_count ( ) { return count; } }; int main( ) { Counter c1, c2; cout << ”n c1 = “ < cout << ”n c2 = “ < c1. inc_count ( ); c2. inc_count ( ); cout << ”n c1 = “ < cout << ”n c2 = “ < count << endl; return 0; } Конструкторда инициализация әдіс прототипі мен функция денесінің арасында орналасқан және қос нүктемен ажыратылады. Инициализацияланатын мән өріс есімімен кейінгі жақшада орналасқан. Counter ( ) : count (0) { } Егер класс өрістерінің бірнешеуін инициализациялау керек болса, онда мәндер үтірмен бөлініп, инициализация тізімі құрылады. Программа жұмысының қорытындысы: с1=0 с2=0 с1=1 с2=2 Конструктордың дұрыс жұмыс істеп тұрғанына көз жеткізу үшін, хабарлама басуын талап етеміз: Counter ( ) : count (0) {cout << ” n Конструктор “ ;} Программа жұмысының нәтижесі: Конструктор Конструктор с1=0 с2=0 с1=1 с2=2 Объект құрыларда ерекше класс әдісі – конструктор шақырылады. Объектіні жоюда автоматты түрде шақырылатын әдіс деструктор деп аталады. Деструктор есімі конструктор есімімен сәйкес келеді және есім алдында ~ тильда белгісі қойылады. Объектілерді бірнеше тәсілмен жоя алмайтындықтан деструкторлар мәндерді қайтармайды және аргументтері болмайды.
11)Ағымдық кластардың иерархиясы. Файлдық енгізу/шығару.
Windows ОЖ стандартты диалогтык терезелерiнде жумыс жасау, мысалы файлды таңдау, сактау, тусiн езгерту және т.б.. C++ Builder ортасында диалогты терезелермен жумыс жасау ушін TOpenDialog, TSaveDialog компоненттерi колданылады.
Компоненттердің касиеттерiмен әдiстерi:
Filter - диалогпен керсететін файл типі ;
FilerIndex - унсiздiк бойынша колданылатын фильтр нөмiрi;
DefaultExt - стандартты кеңейген, колданушы керсетпеген жагдайда;
Files - колданушы таңдаган файл аты;
Title - текст, диалог такырыпшасында көрсеткіш;
Execute() - диалогты шакыру.
Опциялары:
ofReadOnly — диалогты терезе пайда болганда "Read only" жалаушасы белгіленген болады;
ofHideReadOnly — диалогты терезе пайда болганда "Read only" жалаушасын керсетпейді;
ofNoReadOnlyRetum — ОК батырмасын басканда "тек окуга арналган" файлды таңдауга тиым салып, баска файл таңдау кажеттігін хабарлайды.
ofPathMustExist — файл тек бар каталогтардыц бiрiнде болатыныц керсетедi. Колданушы файлды жок каталогтан iздеген жагдайда кате екенiн хабарлайды;
ofFileMustExist — тек бар файлдардыц бiрiн таңдауга болатынын керсетедi;
ofOverwritePrompt — егер колданушы жазба ушін бар файлды таңдаса, оны бекгтуді сурайды;
ofShowHelp — диалогка Help батырмасын косады;
ofNo Validate — файл атын енгiзгенде руксат етiлмеген символдардын болмауын тексередi;
ofAllowMultiSelect — бiрнеше файлды бiр мезгiлде таңдауга мумкіндік бередi;
ofShareAware — таңдалынган файлды баскалардыц колдануына тексерудi сендiредi. Бул опция болмаган жагдайда файл баска косымшамен ашылган болса, баскалары бул файлды колдана алмайды.
Файлды ашу мысалы:
OpenDialog1->Execute();
if (OpenDialog1->FileName!="")
{
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
Form1->Caption=OpenDialog1.Filename+ " - My Text Editor"; }
Бул жерде файлды ашудан баска, таңдалынган файл аты форма такырыбында "My Text Editor" мәтінімен жазылады.
TColorDialog компонентi - колданушы тусті аныктауга арналган.
Color -тустер;
Опциялары:
cdFullOpen — диалогты толык керсету. Колданушы тусті таңдаганда тустердщ жуйелік палитрасынан гана емес, өзі де де тус бере алады;
cdPreventFullOpen — диалогты толык керсетуге руксат бермейді;
cdShowHelp — Help батырмасын керсетеі!.
TPrintDlalog компонентi - тексті принтерге шыгару параметрлерін орнатуга арналган.
TSavePictureDialog, TSavePictureDialog компоненттерi -файл-бейне атын таңдауга арналган, келешекте жазу немесе оку ушін колдануга болатын.
TFindDialog компонентi - бул диалог аркылы мәтіндегі кажетті фрагмент іздеуді және оган дайындыкты жузеге асырады, программист жазган кодтар аркылы.
Опциялары:
frDown — бул опцияны колданган жагдайда іздеудің алгашкы багыты - төменге (басынан аягына дейін). Сәйкесінше радиокнопка орнатылады;
frDisableUpDown — багытты таңдауга тиым салады. Радиокнопкалар тобы сур туспен керсетіледі;
frHideUpDown — багытты тацдауга тиым салады жэне радиокнопкалар тобын керсетпейі!.
Жалаушалар куйіне келесі опциялар жауапты:
frHideMatchCase — регистр жалаушасын керсетпейді;
frDisableMatchCase — регистр жалаушасын керсетеі, бірак ол белсенді болмайды.
Егер осы опциялар орнатылмаса, жалауша диалогта белсенді болады, жэне оныц мәнін колданушы езгерте алады. Оныц мэш Options-тагы frMatchCasc опциясына сэйкес болады.
Касиеті, әдістері жэне окигалары:
FindText –ізделінетін мәтін ;
CloseDialog - диалогты жабады.
TrayIcon - жуйелік треймен жумыс жасауга арналган. Касиеті:
PopupMenu - трейді контекстті мәзірмен байланыстырады, контекстті мәзір жеке компонентпен косылган болуы керек;
PopupMenuOn - контекстті мәзірді ашу;
RestoreOn - басты терезеш жаю.
CSpinButton компонентi - жуп батырмалар карама-карсы багытшамен, баскан кезде белгілі бір елшемде арттыруга немесе кемітуге арналган. Жогаргы немесе төменгі батырманы басканда сәйкесінше OnDownClick, OnUpClick окигалары пайда болады.
CDirectoryOutline - бул компонент файлдың иерархиялык бутагын және агымдагы диск каталогтарын керсетуге арналган.
Касиеті:
Drive - агымдагы диск мәні, ягни бутакта керсететін файлдык жуйе курамы; Directory - агымдагы каталог;
Ауыстыру буферімен жумыс жасайтын функциялар:
CopyToClipBoard() - буферге көшіруу; PasteFromClipBoard() - буферге кою; CutToClipBoard() - буферге кию;