214
функциясының көмегімен анықтауға болады.
xasp/yasp қатынасы пиксель өлшемдрінің горизонталь және вертикаль бойнша
қатынасы.
4. Сынық сызықты
drawpoly (төбелер саны, бүтін массивке Көрсеткіш);
функциясы салуға мүмкіндік береді.
Массивтің әрбір екі саны сынық сызықтың кезектегі қос координатын білдіреді.
5. Қисықтарды салу үшін мынадай функциялар қолданылады:
Вычерчивание окружности
circle (x, у, радиус);
мұндағы х, у – центр координаттары; радиус – горизонталь бойынша шеңбердің
пиксельдегі радиусы.
Шеңбердің доғасын салу
arc (x, у, бұрыш_басы, бұрыш_соңы, радиус);
Бұрыштар градуспен өрнектеледі және сағат тіліне қарсы есептеледі. Бұрыш
мәндері [0..360] интервалынан сәйкес эквивалентті мәндерге түрленеді. Сонымен,
arc (х, у, -45, 45, r) және arc (x, у, 675, -315, r) бірдей шеңбердің төрттен бір бөлігін
салады.
Эллипстің доғасын сызу
ellipse (x, у, бұрыш_басы, бұрыш_соңы, rх, rу);
мұндағы rх, rу – пиксельмен берілген эллипстің жарты осьтері.
6. Тіктөртбұрышты бояуды
bar (xl, yl, х2, у2);
функциясы жүзеге асырады. мұндағы x1, y1 – жоғары сол жақ бұрыш
координаттары; х2, у2 – төменгі оң жақ бұрыш координаттары. Бояу стилі
setfillstyle() функциясымен тағайындалады.
7. Көпбұрыш салу және бояуға
fillpoly (n, указатель на массив целых);
функциясы мүмкіндік береді. Мұндағы n – төбелер саны. Әрбір төбенің
координаттары бүтін типті екі шамамен беріледі. Бұл функция төбелер тізімінің
бірінші нүктесін соңғысымен байланыстырады, тұйықтайды және оны бояйды.
Бояу шаблоны мен түсі setfillstyle() и setfillpattern() функцияларымен берілуі
мүмкін.
8. Контурлы боялған эллипсті мына функция арқылы салуға болады:
fillellipse (х, у, rх, rу);
мұндағы х, у – центр координаттары; rх, rу – пиксельмен берілген эллипстің
жарты осьтері
9. Контурлы боялған шеңбер секторын
pieslice (x, у, бұрыш_басы, бұрыш_соңы, радиус);
функциясы арқылы салуға болады.
10. Контурлы боялған эллипстік секторды
215
sector (х, у, нач_угол, кон_угол, rх, rу);
функциясын пайдаланып салуға болады.
11. Тұйық облысты бояу
floodfill (x, у, граница);
функциясымен жүзеге асырылады. мұндағы х, у – облыс ішіндегі нүкте
координаттары.
Контур түсі шекара параметрінің мәнімен сәйкес болуы керек. Бояу (түсі
мен типі) setflllstyle() функциясымен тағайындалады.
Тапсырмалар
Вариант1 Вариант 2 Ввариант 3
Вприант 4 Вариант 5 Вариант 6
Вариант 7 Вариант 8 Вариант 9
Вариант 10 Вариант11 Вариант 12
216
Вариант 13 Вариант14 Вариант 15
Блиц- тест:
1. Ағымдағы драйвер үшін графикалық режимнің максимал мәнін
қайтаратын функция:
A) getmaxmode ( );
B) getmaxxy ( );
C) maxxy( );
D) getmax( );
E) maxmode ( );
2. Тексттік режимнен графиктік режимге қайта ауысу функциясы:
A) setgraphmode( );
B) restorecrtmode( );
C) detectgraph( );
D) initgraph( );
E) grapherrormsg ();
3. Тұйық облысты бояу функциясы:
A) floodfill (x,y, шекара );
B) floodfill (x,y);
C) fillpoly(x,y, шекара );
D) fillellips(x,y, rx, ry);
E) settextfill (x,y, шекара);
Бақылау сұрақтары
1. Пиксел дегеніміз не?
2. Графикалық ақпарат қалай сақталады?
1. Графикалық режимге қалай ауысуға болады?
2. Текстік режимге қалай оралуға болады?
3. Шрифттерді қалай таңдауға болады?
6. Сызық сипаттамасы мен қалындығын қалай тағайындауға болады?
7. Бояу стилін қалай тағайындауға болады?
8. Графикалық экранда терезені қалай ашуға және қалай жабуға
болады?
9. Горизонталь және вертикаль бойынша нүктелердің максимальді
координат мәндерін қалай алуға болады?
10. Терезенің координаттар жүйесінде ағымдық координаттарды алуға
болады?
11. Терезеге текстті қалай шығаруға болады?
12. Тұйық фигураны қалай бояуға болады?
217
Глоссарий:
Пиксель- (әдістемелік нұсқауды қараңыз).
Графиктик режим - (әдістемелік нұсқауды қараңыз)
Түстер- (әдістемелік нұсқаудағы түстер кестесін қараңыз)
Бейне адаптер- құрылғы
Коорбинаталық жүйе – экранның пиксельдер жиынтығын реттеп санауға
қатысты жүйесі.
Графика - (әдістемелік нұсқауды қараңыз)
Әдебиеттер:
[14],[13],[15].
218
ЛАБОРАТОРИЯЛЫҚ ЖҰМЫС №10
Тақырыбы : КӨРСЕТКІШТЕР.
Мақсаты:
Көрсеткіштер түсінігін тереңірек зерттеу,
Көрсеткіштерді қолдану машығын қалыптастыру;
Мысалдар арқылы бекіту.
Қажетті материалдар мен жабдықтар: ДК, лабораториялық жұмысты
орындауға арналған әдістемелік нұсқаулар.
Лабораториялық жұмыстың мазмұны және орындалу реті:
1.
С/С ++ тілінің көрсеткіштер мен сәйкес типтері, адрестер ұғымдарына
қатысты әдістемелік нұсқау – матриалдарды алдын ала танысып меңгеру.
2.
Ұсынылған мысалды орындау және талқылау.
3.
Өзіндік жеке тапсырмалардың оқытушы ұсынған нұсқасын орындау.
4.
Лабораториялық жұмыстың есебін (отчет) дайындап тапсыру.
Әдістемелік нұсқау:
Көрсеткіш- бұл компьютердің жадысын басқаруға қосымша мүмкіндік беретін
конструкция.
Көрсеткіш- бұл айнымалының жадыдағы адресі деп түсінуге болады.
Компьютер жадысын нөмерленген ұяшықтарға бөлінетінің еске түсірсек
(байттар), онда программаның айнымалылары тізбектелген ұяшықтар арқылы
жүзеге асырылады. Айнымалаға мәлімет алу мүмкіндігін атын атамай оның
адресін пайдалануға болады, адрес дегеніміз айнымалының жадыда орналасқан
үяшықтардың біріншісінің адресі.Осы мақсатпен пайдаланған айнымалының
адресі Көрсеткіш деп аталады.
Көрсеткіш айнымалыда сақталу мүмкін. Он жадыдағы адрес деп анықталғасын,
оны сақтау үшін int немесе double типті айнымалылар сәйкес келетін сияқты.
Бірақ негізінде олай емес. Көрсеткіштер үшін ерекше типті айнымалылар қажет.
Ол айнымалыларды хабарлау үшін арнаулы * символы пайдаланады. Мысалы :
double *p; Бұл оператор р айнымалыны double типті деп хабарлап түр. Келесі
оператор
Int *r, *p, v1,v2; p және r айнымалыларды int типті Көрсеткіштер, ал v1,v2
айнымалыларды int типті деп хабарлағаны.
Айнымалының адресін алу үшін & операторын пайдаланады: р1=&v1;
р1 айнымалыға v1 айнымалысына көрсеткіш меншіктенелі.
С++ тілінде р1 айнымалысы нұсқайтын айнымалы қатынас жасау былай
орындалады: *p1.
Келесі кодты қарастырайық:
Достарыңызбен бөлісу: |