142
көп пәтерді іздеуді, ең жас және ең кәрі тұрғынды табуды, студенттер мен
зейнеткерлерді іздеуді жүзеге асыруы керек.
Практикалық жұмыстың орындалуы туралы есептің формасы
Есепте болуы қажет:
Кез-келген орындалған тапсырма үшін
1. Есептің шешімінің математикалық моделі;
2. Есептің шешімінің алгоритмі;
3. Есеп шешімінің алгоритмі орындалған программа.
Блиц-тест
1. Қандай көмекші сөздің көмегімен біріктіру құрылады?
a) struct;
b) swith;
c) union;
d) enum;
e) record;
2. Қандай көмекші сөздің көмегімен саналым құрылады?
a) struct;
b) swith;
c) union;
d) enum;
e) record;
3. Қандай көмекші сөздің көмегімен структура құрылады?
a) struct;
b) swith;
c) union;
d) enum;
e) record;
Бақылау сұрақтары
1. С/С++ тілдерінде қандай қосымша типтер қолданылады?
2. Саналымды типті айнымалылар қалай сипатталады?
3. Қандай көмекші сөздің көмегімен біріктіру құрылады?
4. Структура дегеніміз не?
5. typedef құралы не үшін қолданылады?
Глоссарий
Структура – бір атпен біріктірілген бір немесе бірнеше әр түрлі типті
айнымалылар тобы. Структура struct қызметші сөзімен құрылады. Структураның
жалпы құрылымы төмендегідей:
struct тег {
143
тип1 иден1;
тип2 иден2;
… …
типN иденN;
};
мұндағы тег мәліметтердің жаңа типі болып саналады және оны айнымалыны
сипаттауда қолдануға болады.
Сипатталған структура негізінде айнымалы құру үшін
struct <тег> <айнымалы>
С++ тілінде struct қызметші сөзін көрсетпесе де болады:
<тег> <айнымалы>
Айнымалыны структураны құру кезінде де анықтауға болады:
struct тег {
тип1 иден1;
тип2 иден2;
… …
типN иденN;
} <айнымалы>;
Егер структура типті басқа айнымалылар құрылмайтын болса, структура тегін
көрсетпеуге болады. Мұндай структура атаусыз (безымянный) деп аталады.
Структуралар іштестірілген де болуы мүмкін:
struct тег1 {
тип1 иден1;
тип2 иден2;
тип3 иден3;
};
struct тег2 {
тип1 иден1;
тип2 иден2;
struct тег1 иден3;
};
Коріп отырғанымыздай структура элементтерін нүкте операторының
көмегімен алуға болады, форматы мынадай:
<айнымалы>.<элемент>
Структура элементтері циклда енгізілгенде _flusshall() –функциясы кіріс
легіндегі жаңа жол символын өшіруге, яғни буферді тазалауға қолданылады. Жаңа
жол символы scanf( ) функциясын қолданғанда қойылады. Ал, gets( ) функциясы
бұл таңбаға дейінгі символдарды ғана оқиды.
Функцияға структура типті объектіні беру тәсілдері үш түрлі:
1.
Компоненттерін жеке-жеке беру.
144
2.
Структураны толығымен беру.
3.
Структураға көрсеткішті беру.
Көрсеткіш келесі түрде сипатталуы мүмкін:
struct <тег> *<айнымалы>
Бұндай жағдайда структуралық айнымалының кез-келген элементін мына
әдістердің бірімен алуға болады:
(*<айнымалы>).<элемент> немесе <айнымалы> –> <элемент>
Әртүрлі уақытта әрүрлі типті және әртүрлі өлшемді обьектілерді сақтай алатын
айнымалы –біріктіру деп аталады. Өлшемдеріне және реттеуге қатысты
талаптарды компилияция орындайды. Жадының бір аймағында әртүрлі мәндерді
сақтауға мүмкіндіктері бар.
Біріктіру синтаксисі структура синтаксисі секілді:
Union unprim {
Int iman;
Float fman;
Char *sman;
} mainun;
Си тілінде мәндер типіне жаңа атау беруге болатын құрал - typedef құралы
бар.
Әдебиеттер
1. Керниган Б., Ритчи Д.,- Язык программирования Си. – М.: Финансы и
статистика, 1985 г.
2. Вирт Н. Алгоритмы и структуры данных: Пер. с анг.- М.: Мир, 1989 г.
3. Д.Кнут Искусство программирования для ЭВМ. Основные алгоритмы. М.:
Мир, 1976. 3.
4. Н.Культин., С/С++ в задачах и примерах – БХБ-Петербург, 2002 г.
5. Крис Паппас., Программирование на С и С++ - BHV, Киев, 2000 г.
6. Т. А. Павловская, А. Ю. Щупак С/С++ Структурное программирование:
Практикум- СПб.: Питер, 2005
7. Уэйт М . Язык Си. Руководство для начинающих: Пер. с англ. – М., Мир,
1988 г.
Практикалық жұмыс №9.
Тақырыбы: С++ тіліндегі графика
Сабақтың мақсаты: Графикалық режимде жұмыс жасау дағдыларын
қалыптастыру.
Материалдар және құрылғылар: тақта, бор, “графикалық жүйені басқаруға
арналған функциялар” кестесі.
145
Жұмыстың мазмұны және орындалу тәртібі:
1. Тапсырманы орындау мысалын қарау.
2. Ретімен келесі тапсырмаларды орындау.
3. Орындалған практикалық жұмыс туралы есепті дайындау.
Тапсырманы орындау мысалы
Графикалық программа шаблоны:
#include
#include
#define PATHODRIVER “c:\\\borlandc\\bgi\\”
void main(void)
{
int gdriver=DETECT; // Драйвер
int gmode; // режим
int errorcode; //қате коды
initgraph(&gdriver, &gmode, PATHODRIVER);
errorcode =graphresult();
if (errorcode!= grOk) //графикалық режимді инициализациялау қателігі
{
printf("қате:%d \n", errorcode);
puts("\n Аяқтау үшін Enter-ді басыңыз ");
getch();
}
// әрі қарай программа инструкциясы
closegraph(); // графикалық режимді аяқтау
}
Студенттердің өз бетімен орындауға арналған тапсырмалары
1. Экранда үйді сызатын программа құрыңыз.
2. Экранға Олимпиада ойындарының жалауын шығаратын программа құрыңыз.
3. Экранға диаметрі және түсі кездейсоқ болып келген 100 шеңберден тұратын
өрнек сызатын программа құрыңыз.
4. Экранға өлщемі және түсі кездейсоқ болып келген 50 тіктөртбұрыштан
тұратын өрнек сызатын программа құрыңыз.
5. Экранда алтыбұрыш сызатын программа құрыңыз.
6. Экранда шахмат тақтасының бейнесін сызатын программа құрыңыз.
7. Экран бойымен қозғалатын дөңгелек сызатын программа құрыңыз.
8. Экранда
5
2
x
y
функциясының графигін шығаратын программа құрыңыз.
Практикалық жұмыстың орындалуы туралы есептің формасы
Есепте болуы қажет:
Кез-келген орындалған тапсырма үшін
Достарыңызбен бөлісу: |