С++ тілінің базалық жабдықтары

Автор: Пользователь скрыл имя, 11 Февраля 2013 в 11:06, лекция

Описание работы

С++ тілінің базалық жабдықтары. Программа құрылымы. Жиымдар
Қарастырылатын сұрақтар:
1. С++ тілінің базалық жабдықтары
2. Мәліметтер типі
3. Программа құрылымы
4. Айнымалылар мен өрнектер
5. Тармақталу, басқаруды беру операторлары және циклдік операторлар
6. Жиымдар (массивтер)

Работа содержит 1 файл

C++.doc

— 332.50 Кб (Скачать)

};

class className2 : public className1

{

  // функция-мүшелер

  virtual returnType functionName(<параметрлер тізімі>);

};

 

Экранда фигураларды  бейнелейтін программаны жазайық. Фигураның жалпы атрибуттары shape класымен, ал арнайы атрибуттар – арнайы класспен берілген:

class shape { point center;

color col; //...

public: void move(point to)

{ center=to; draw(); }

point where() { return center; }

virtual void draw();

virtual void rotate(int);

//... };

Нақты фигураны білмей, функцияларды анықтағанда (мысалы, move және where, яғни, «қозғау" және «мұндағы"), жай сипаттай беруге болады. Қалған функциялар виртуалды сипатталынады. 

Мысалы: class circle:

public shape { int radius;

public: void draw();

void rotatte(int i) {}

//... };

Кіретін файлдарды қолдану

Си++тілінде тиімді шешім қабылданған. Класстарды және функцияларды хабарлауды жеке файлмен беруге болады және ол файлды #include операторының көмегімен басқа файлдардың басына қосуға болады.

Мысалы:

#include "Book.h"     

#include операторы Book.h файлының мазмұнын ағымдағы файлда қолдануға мүмкіндік береді.  Book.h файлы тақырыптар файлы деп аталады.

Ағымдық класстар

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

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

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

С++ библиотекасы ағымдарды  қолдау үшін ios, streambuf екі базалық  класс негізінде тұрғызылған  класстар иерархиясынан тұрады

Төменде жиі қолданылатын ағымдар класы берілген:

ios – ағымдардың базалық  класы

istream – кіріс ағымдардың класы

ostream- шығыс ағымдардың  класы

iostream – екібағытты  ағымдардың класы

istringstream- кіріс қатарлық  ағымдардың класы

ostringstream- шығыс қатарлық  ағымдардың класы

stringstream - екібағытты қатарлық  ағымдардың класы

ifstream- кіріс файлдық ағымдардың класы

ofstream- шығыс файлдық  ағымдардың класы

fstream - екібағытты файлдық  ағымдардың класы

<ios>-енгізу/шығару  ағымының базалық класы

<iosfwd>-енгізу/шығару  жабдықтарын алдын-   ала хабарлау

<istream>- енгізу ағымының  шаблоны

<ostream>- шығару ағымының шаблоны

<iostream>- стандартты  объектілер және  енгізу/шығару ағымдарымен операциялар

<fstream> - файлдағы енгізу/шығару  ағымдары

<sstream> - қатардағы  енгізу/шығару ағымдары

<streambuf>-  енгізу/шығару ағымдарын      буферизациялау

<iomanip>- манипуляторлар

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

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

ios класының long типті   ×_flags  өрісіне біріккен жеке  биттер жалаушаны құрайды. 

Форматтау жалаушалары:

skipws, left, right, internal, dec, oct, hex, showbase, showpoint, showpos, unitbuf, fixed.

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

Аргументтерді көрсетуді  талап етпейтін манипуляторларды жай  деп , ал аргументтерді көрсетуді  талап ететін манипуляторларды параметрлі деп атаймыз.

  Манипуляторларды қолдану үшін поограммаға <iomanip. h> тақырыптық файлын қосу керек.

Төменде жай манипуляторлар келтірілген:

dec- енгізу/шығару кезінде  ағымға ондық санау жүйесінің  жалаушасын орнатады

oct- енгізу/шығару кезінде  ағымға сегіздік санау жүйесінің жалаушасын орнатады

hex- енгізу/шығару кезінде  ағымға он алтылық санау жүйесінің  жалаушасын орнатады

 ws- енгізу кезінде ағымға бос орынды символдарды алуды (извлечение) орнатады

 endl- шығару кезінде ағымға жаңа қатардың символын қосады

 ends- шығару кезінде ағымға нөлдік символды қорады

 flush- шығару кезінде буферге жүктейді

Төменде параметрлі манипуляторлар келтірілген:

 setbase(int n)- санау жүйесінің негізін береді. (n=8, 10, 16, 0). 0 үнсіздік бойынша негіз болып табылады.

resetiosflags (long)- параметрде биттері орнатылған ағымның жалаушаларын алып тастайды (сбрасывает)

setiosflags (long)- параметрде  биті 1-ге тең ағымның жалаушаларын  орнатады

setfill (int) – параметр  мәніне тең коды бар символ-толықтырғышты  орнатады

setprecision (int)- нақты санның бөлшек бөлігінің ең үлкен санын орнатады

setw (int)- шығару өрісінің  ең үлкен енін орнатады

#include <iostream.h>

#include <iomanip.h>

int main (){

double d[]= {1.234, -12.34567, 123.456789, -1.234, 0.00001};

cout <<setfill(‘.’)<<setprecision(4)<<

setiosflags(ios::showpoint|ios::fixed);

for(int i=0;i<5;i++)

cout<<setw(12)<<d[i]<<endl;

return 0;}

. толтырғышымен толтырады,  бөлшек бөліктің ұзындығын береді, шығару өрісінің ең үлкен енін  береді.

8лекция

Borland Builder 6.0 программалау ортасы

Қарастырылатын сұрақтар:

  1. Borland Builder 6.0 програмалау ортасының бас терезесі
  2. Standard бетінің компоненттері
  3. Қосымша құру

Borland Builder 6.0 программалау ортасы

Borland Builder 6.0 програмалау  ортасының бас терезесінің құрамына  төмендегілер кіреді:

  • тақырыптар қатары;
  • меню қатары;
  • құрал-саймандар тақтасы;
  • компоненттер палитрасы;
  • объектілер инспекторы;
  • объектілер бұтағы;
  • программа редакторы;
  • форма.

Компоненттер палитрасы 29 тақтадан (панель) тұрады, компоненттер қолдану аймағы бойынша топталған.

Standard- Windows-тың стандартты  басқару элементтері;

Addiotional- Windows-тың қосымша,  стандартты емес басқару элементтері;

Data Access- мәліметер базасымен  байланысты ұйымдастыру компоненттері;

Data Controls – МБ жұмыс  істеуге арналған  басқару элементтері

Dialogs- стандартты сұхбаттар  және т.б.

Объектілер инспекторы

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

Объектілер инспекторы  ағымдағы объектінің кез-келген қасиетін тез және ыңғайлы түрде өзгерте алады. Енгізілген өзгерістер  объектінің сырт пішініне әсер етеді.

 Объектілер инспекторын  тез шақыру үшін F11 пернесін қолданамыз.

 

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

Программа редакторы  бас форманың артында жасырылып  тұрады. Ағымдағы формадан программа  редакторына өту үшін F12 пернесін қолдануға болады. Біз программаны  жазбасақ та, терезеде программалық кодтың үлкен көлемі бар. Орта ретінде Borland Builder 6.0 қосымшаларды құрған кезде программалық кодтың біраз бөлігін өзіне алады. Автоматты түрде құрылған кодты өзгертуге болмайды.

Форма- әр түрлі басқару  элементтері орналасқан Windows терезесі. Формада  басқару элементтері палитрадан қажетті компонентті таңдау жолымен және тышқанмен тасу арқылы орналасады.

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

Standard бетіндегі компоненттер:

  • Label (жазба өрісі) компоненті ақпаратты белсенді емес түрде бейнелеу үшін қызмет етеді. Standard бетіндегі палитра компоненттерінен алынады. Объектідегі мәтінді өзгерту үшін Caption қасиеті қызмет етеді.
  • Edit компоненті енгізу өрісі деп аталады. Мәтіндік терезеден сандық ақпаратты енгізген кезде типтерді түрлендіру функциясын қолдану керек:

StrToFloat, StrToInt.

Button басқару батырмасы  жиі қолданылатын және қарапайым  батырма. Батырманың негізгі қасиеті-  Caption. Негізгі оқиғасы (событие)– OnClick, яғни батырманы басқанда пайда болады. Мысалы: "Шығу“ батырмасын жұмыс істету үшін программалар редакторында Close (); оқиғасын жазу керек.

Келесі формаға өту  үшін программалар редакторында

Form->Show(); оқиғасын жазу керек.

ListBox қатарлар тізімін бейнелейді. Items қатарлар тізімінен тұратын қасиеті Tstrings типіне ие. MultiSelect қасиеті тізімдегі элементтерді көптік таңдауға (множественный выбор) мүмкіндік береді. MultiSelect=false мәнінде тізімнің тек бір элементін таңдауға мүмкіндік бар. Тағы да басқа қасиеттері бар: Sorted, Selected, Selcount, Items, Count, ItemIndex, Columns.

 

ListBox компонентінің негізгі қасиеттері:

int Columns

Тізім бейнеленетін бағаналар  санын анықтайды, егер ол компоненттер терезесіне толығымен сыймаса. 

int  ItemIndex

Тізімде белгіленген (выделенный) элементтің реттік нөмірін көрсетеді

int Count

Тізімдегі қатар санын  анықтайды.

Classes:: TStrings*Items

Тізім қатарының массиві- TStrings класының объектісі.

bool MultiSelect

Бір мезгілде тізімнен бірнеше  элементті таңдау мүмкіндігін береді.

int SelCount

Белгіленген элементтер санын көрсетеді.

bool  Selected

Индекстелген массив, тізімде қай элементтердің белгіленгенін  көрсетеді.

bool Sorted

тізімдегі қатарлардың  алфавитті түрде сұрыпталу қажеттігін анықтайды.

 

ListBox компонентінің негізгі функциялары

Clear//Void Clear (void)

Тізімдегі барлық элементтерді жояды.

SetFocus//Элементке фокус береді және оны белсендетеді.

Add//Тізімге элемент қосады

Delete//Тізімнен элементті жояды

Формада Edit компонентін таңдап аламыз және Text қасиетінің ағымдағы мәнін жоямыз. Одан кейін Button1 батырмасы үшін Caption қасиетін "Добавить" деп өзгертеміз. .

"Добавить“ батырмасының OnClick оқиғаларды өңдегішін қосу  үшін формада сол батырмаға  екі рет шерту керек. Яғни программа редакторы ашылады.

void __fastcall TForm1::Button1Click(TObject *Sender)  
{  
if (!(Edit1->Text == ""))  
{  
ListBox1->Items->Add(Edit1->Text);  
Edit1->Text = "" ;  
}  
}

Қосымшаны компиляцияға жіберу үшін Run менюінен Run пуктін таңдаймыз немесе F9 пернесін бассақ та болады. Ашылған дайын қосымшада өріске жаңа мәліметтер жазамыз және оны Добавить батырмасының көмегімен тізімге енгіземіз.

Удалить батырмасы үшін:

void __fastcall TForm1::Button2Click(TObject *Sender)  
{  
if (!(ListBox1->ItemIndex ==-1))  
ListBox1->Items->Delete(ListBox1->ItemIndex);  
}

Выход батырмасы үшін:

Close();

 

 

9лекция

Standard, Additional, System беттеріндегі компоненттерге шолу

  1. Additional  бетіндегі компоненттер
  2. Standard бетіндегі компоненттер
  3. System   бетіндегі компоненттер

RadioButton компоненті Standard    бетінде     орналасқан.

 Ол бір-бірімен  байланысқан индикаторлар тобын  құру үшін қолданылады. Біреуін  таңдау қызметін атқарады. Мысалы: Сөздікті құру кезінде, тесттің  жауаптарын құру кезінде қолданылады  және т.б. Checked қасиеті true мәнінде батырманың таңдалған, таңдалмағанын көрсетеді.

CheckBox индикаторы қандай  да бір опцияның қосылу/қосылмауын  білдіреді. Оған State қасиетінің cbChecked, cbGrayed, cbUnchecked мәндері сәйкес келеді.

MainMenu компоненті Standard бетінде     орналасқан. Ол визуалды емес компонентке жатады. Формада меню қатарын құру үшін арналған. Негізгі қасиеті- Items. Ол меню конструкторының көмегімен толтырылады.

Memo - Edit –тің басқа  формасы. Үлкен мәтіндермен жұмыс  істеуге арналған. TMemo 32Кб көлемді  мәтінді ғана қабылдай алады. Ол  10-20 бет дегенді білдіреді

Memo компоненті- редактрлеудің  көпқатарлы терезесі. Edit компонентінен  ерекшелігі: қатарлар жиынын енгізуге  болады.

Компоненттің негізгі  қасиеттері:

Align//enum TAlign (alNone, alTop, alBottom, alLeft, alRight, alClient, alCustom )

Контейнердегі компонентті  теңестіру тәсілін анықтайды.

Alignment//enum TAlignment

Мәтінді теңестіруді  басқарады: taLeftJustify-сол жаққа, taRightJustify -оң жаққа, taCenter- ортасына. Үнсіздік келісімі бойынша сол жаққа теңестіріледі.

Font//Шрифт атрибуттарын  анықтайды.

Lines//Мәтін қатарлары

MaxLength//Символдардың ең  үлкен санын көрсетеді. 

Modified//Компонентте мәтіннің  терілген/терілмегенін анықтайды

PopupMenu//Компонентпен байланысты  менюді анықтайды

ReadOnly//Мәтіннің өзгеруін білдіреді.

SelLenght//Мәтінде белгіленген  символдардың санын анықтайды.

SelStart//Мәтінде бірінші  белгіленген символ позициясын  көрсетеді.

SelText//Терезеде белгіленген   мәтін.

 

Негізгі функциялары

Clear //void Clear(void)

Терезеден мәтінді жояды

ClearSelection//void ClearSelection(void)

Терезеден белгіленген (выделенный) мәтінді жояды

ClearUndo//void ClearUndo(void)

Редактрлеудің қайтару (отмена) командаларын буферден тазалайды

CopyToClipboard//void CopyToClipboard(void)

Белгіленген фрагментті көшіреді

CutToClipboard//void CutToClipboard

(void)Белгіленген фрагментті қияды

PasteFromClipboard//void PasteFromClipboard(void)

Мәтінді буферден керекті  орынға қояды

SelectAll//void SelectAll(void)

Мәтінді толығымен белгілейді

Undo//void Undo(void)

Барлық өзгерістерді қайтарады

2. Dialogs бетіндегі файлды  ашу, сақтау, шрифт  диалогтарымен  жұмыс істеу

OpenPictureDialog, SavePictureDialog компоненттері  файлдарды ашу, сақтау үшін  шақырылады. Негізгі функциясы –  Execute.

Сохранить как.. Командасын орындау үшін:

SaveDialog1->FileName=Fname;

if  (SaveDialog1->Execute () )

{Fname=OpenDialog1->FileName;

RichEdit1->Lines->SaveToFile(Fname);

}

FontDialog компонентінің де негізгі функциясы- Execute.

Scrollbar – жылжыту жолағы (полоса прокрутки), редактрлеу объектілерінде автоматты түрде пайда болады.

      

 

GroupBox визуалды мақсаттар үшін және Windows-тың  формасындағы компоненттер (TAB батырмасын басқанда) бойынша орын ауыстыру тәртібін көрсету үшін  қолданылады.    

RadioGroup GroupBox сияқты қолданылады, яғни RadioButton объектілерін топотау үшін.

Информация о работе С++ тілінің базалық жабдықтары