Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






ПРАКТИКАЛЫҚ ЖҰМЫС №1






С++ ТІЛІНІҢ ОБЪЕКТІЛІ-БАҒ ЫТТАЛҒ АН Қ Ұ РАЛДАРЫ. КЛАСТАР ЖӘ НЕ ОБЪЕКТІЛЕР

ЖҰ МЫС МАҚ САТЫ: С++ ортасында класс қ ұ ру, қ ұ рылғ ан класпен жұ мыс жасау біліктілігін қ алыптастыру, класс типті айнымалы – объект қ ұ руды ү йрету, кластардың функция мү шелерін қ олдану тә сілдерін мең герту.

ПРАКТИКАЛЫҚ САБАҚ ЖОСПАРЫ:

1. Негізгі теориялық мә ліметтерді қ айталау.

2. Шығ арылғ ан мысал есептерді талқ ылау.

3. Тапсырма ретінде берілген есептерді шығ ару.

4. Ө з бетімен орындауғ а ү й тапсырмасын беру.

5. Сабақ ты қ орытындылау. Блиц-тест.

БАҚ ЫЛАУ СҰ РАҚ ТАРЫ:

1. Класс дегеніміз не?

2. Объект дегеніміз не?

3. Ә дістер қ алай анық талады?

4. Класс ә дістерін сипаттау жә не шақ ыру қ алай орындалады?

5. Объект ө рістері қ алай инициализацияланады?

ГЛОССАРИЙ

Класс - мә ліметтердің қ ұ рылымдық типі.

Объект – класс типті айнымалы.

Ә діс - функциялар немесе компонентті функциялар.

Private – кластың ішкі компоненттері.

Protected – кластың қ орғ алғ ан компоненттері.

Public – кластың жалпы компоненттері.

1. Тө менде келтірілген мысалдарды талқ ылаң ыз:

1-мысал.

Есептің берілгені:

Комплекс сандарды сипаттайтын класс қ ұ ру. Комплекс сандардың қ осындысын, айырмасын жә не кө бейтіндісін есептеуді ұ йымдастыру. Программада барлық ә дістерді тексеретін меню қ ұ ру.

Алгоритм:

Slog() – екі комплекс санның қ осындысы,

Umnog() – екі комплекс санның кө бейтіндісі,

Vich() – екі комплекс санның айырмасы.

Программасы:

#include < iostream.h>

#include < stdlib.h>

#include < time.h>

class Komp{

int a, b;

public:

void Vvod();

void Slog();

void Umnog();

void Vich(); };

void Komp:: Vvod()

{cout< < " Санның нақ ты бө лігін енгізің із: ";

cout< < endl;

cin> > a;

cout< < " Санның жорамал бө лігін енгізің із: ";

cout< < endl;

cin> > b;

cout< < endl; cout< < " Комплекс сан: ";

cout< < a< < " +i*" < < b;

cout< < endl; }

void Komp:: Slog()

{int t, d, x, z;

cout< < " Бірінші санның нақ ты бө лігін енгізің із: ";

cout< < endl;

cin> > t;

cout< < " Бірінші санның жорамал бө лігін енгізің із: ";

cout< < endl;

cin> > d;

cout< < endl;

cout< < " Екінші санның нақ ты бө лігі: ";

cout< < endl;

cin> > x;

cout< < " Екінші санның жорамал бө лігі: ";

cout< < endl;

cin> > z;

a=(t+x);

b=(d+z);

cout< < " Қ осынды: ";

cout< < endl;

cout< < a< < " +i*" < < b;

cout< < endl; }

void Komp:: Umnog()

{int t, d, x, z;

cout< < " Бірінші санның нақ ты бө лігін енгізің із: ";

cout< < endl;

cin> > t;

cout< < " Бірінші санның жорамал бө лігін енгізің із: ";

cout< < endl;

cin> > d;

cout< < endl;

cout< < " Екінші санның нақ ты бө лігін енгізің із: ";

cout< < endl;

cin> > x;

cout< < " Екінші санның жорамал бө лігін енгізің із: ";

cout< < endl;

cin> > z;

a=(t*x-d*z);

b=(t*z+d*x);

cout< < " Кө бейтінді: ";

cout< < endl;

cout< < a< < " +i*" < < b; cout< < endl; }

void Komp:: Vich()

{int t, d, x, z;

cout< < " Бірінші санның нақ ты бө лігі: ";

cout< < endl;

cin> > t;

cout< < " Бірінші санның жорамал бө лігі: "; cout< < endl;

cin> > d;

cout< < endl;

cout< < " Екінші санның нақ ты бө лігі: ";

cout< < endl;

cin> > x;

cout< < " Екінші санның жорамал бө лігі: "; cout< < endl;

cin> > z;

a=(t-x);

b=(d-z);

cout< < " Айырмасы: ";

cout< < endl;

cout< < a< < " +i*" < < b; cout< < endl; }

void main()

{ Komp c;

int v;

v=1;

while(v! =0)

{cout< < endl;

cout< < " 1-санды енгізу"; cout< < endl;

cout< < " 2-сандарды қ осу "; cout< < endl;

cout< < " 3-сандарды кө бейту"; cout< < endl;

cout< < " 4-сандар айырмасы"; cout< < endl;

cout< < " 0-шығ у"; cout< < endl;

cin> > v;

if (v==1)

{c.Vvod(); }

if (v==2)

{c.Slog(); }

if (v==3)

{c.Umnog(); }

if (v==4)

{c.Vich(); }} }

2-мысал.

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

Программасы:

include < iostream.h>

#include < string.h>

class String //класс сипаттамасының басы

{ private: char str[25]; //класс ө рісі – 25 символдан тұ ратын жол

public:

// компоненттік функциялардың (ә дістердің) прототиптері

void setjstr (char *); //жол инициализациясы

void displayjstr(void); //жолды экранғ а шығ ару

char * returnjstr(void); //жол мазмұ нын алу

};

// компоненттік функцияларды кластан тыс сипаттау

void String:: setjstr(char * s) { strcpy(str, s); }

void String:: display_str(void) { cout«str «endl; }

char * String:: return_str(void) {return str; }

2. Орындауғ а арналғ ан тапсырмалар:

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

2. Жол класымен жұ мыс жасайтын программа қ ұ рың ыз. Класс келесі ө рістерді қ осуы керек: жол массиві, оның ұ зындығ ы, қ ұ рылғ ан уақ ыты. Программа берілген класпен жұ мыс жасайтын қ арапайым функцияларды қ амтуы керек: жолды ө згерту, жолды енгізу, жолдан жол бө лігін табу.

 

3. Ө з бетімен орындауғ а арналғ ан тапсырмалар (ү й тапсырмасы):

1. Призма бетінің ауданын жә не кө лемін есептеу мү мкіндігін беретін объект қ ұ рылымын сипаттау. Берілген объект кө мегімен призма бетінің ауданы мен кө лемін есептейтін программа жазу.

2. Жолдарғ а арналғ ан класс қ ұ ру. Жол символдар масссиві ретінде сақ талуы қ ажет. Класта ішкі жолдарды алу, барлық символдарды жоғ арғ ы жә не тө менгі регистрлерге ауыстыру ә дістері қ арастырылу қ ажет.

3. Кез келген ө лшемді матрицаны сипаттайтын класс қ ұ ру. Жолдар мен бағ андар санын ө згерту мү мкіндігін, кез келген ө лшемді ішкі матрицаны жә не барлық матрицаны экранғ а шығ ару мү мкіндігін қ арастыру. Осы класпен жұ мыс жасайтын программа жазу. Программада кластың барлық ә дістерін тексеруге мү мкіндік беретін мә зір болуы қ ажет.

 

БЛИЦ-ТЕСТ

1. Класс типті айнымалылар қ алай аталады?

a) ө рістер b) ә дістер c) объектілер d) мұ рагерлік

2. Класс функциялары бұ л -

a) ө рістер b) ә дістер c) объектілер d) полиморфизм

3. Қ ай бө лімде жарияланғ ан класс компоненттері қ орғ алғ ан деп аталады?

a) public b) private c) protected d) class

4. Қ ай бө лімде жарияланғ ан класс компоненттері ішкі деп аталады?

a) public b) private c) protected d) class

5. Қ ай бө лімде жарияланғ ан класс компоненттері жалпы деп аталады?

a) public b) private c) protected d) class

 

Ә ДЕБИЕТТЕР:

6. Г.С. Иванова и др. ООП: Учебник для вузов, М., Изд-во МГТУ им.Баумана, 2003.- 368 с.

7. Павловская Т.А. С и С++. Программирование на языке высокого уровня.

8. Р.Вайнер, Л.Пинсон. С++ ИЗНУТРИ.

9. Р. Лафоре. Объектно-ориентированное программирование в С++.4-е издание. Питер.2004

10. Г. Шилдт. Самоучитель C++. - Санкт-Петербург, Изд. BHV, 2004.

11. А.В. Замулин. Курс лекций: Объектно-ориентированное программирование (С++)

12. Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебное пособие. – М.: Финансы и статистика, 2004

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.