- •Программалау тілдері
- •2.2. Си тілінің қарапайым элементтері
- •2.2.1 Пайдаланылатын символдар си тілінің символдарын бес топқа бөлуге болады.
- •2.2.2 Тілдің қарапайым объектілері
- •Бақылау сұрақтары
- •2.3. Си тіліндегі мәліметтер типтері және енгізу, шығару функциялары
- •2.4. Бүтін сан түріндегі мәліметтерді сипаттау
- •2.4.2. Char типі
- •2.5 Символдық тіркестер (жолдар, қатарлар)
- •2.6. Printf және scanf функциялары
- •2.4.3. Float және double жылжымалы нүктелі нақты сандар типтері
- •Бақылау сұрақтары
- •3. Си тілінде қолданылатын негізгі операторлар
- •3.1. Меншіктеу операторы
- •3.2. Типтерді түрлендіру
- •Int I; float fl;
- •3.3. Программа жұмысын басқару операторлары
- •3.4. Шартты оператор
- •If (шарт)
- •If (шарт)
- •Int r; /* gil-ды 4-ке бөлгендегі қалдық */
- •Int ball;
- •3.4.1 Шартты операция
- •3.5. Switch көп нұсқалы таңдау операторы
- •Бақылау сұрақтары
- •4. Цикл операторлары
- •4.1. For цикл операторы
- •4.2. While операторы
- •4 .3. Do ... While цикл операторы
- •5. Си тілінде массивтерді пайдалану
- •Int index;
- •Void main()
- •Жиымды өңдеу есептерінің түрлері (кластары)
- •Void main()
- •Void main()
- •Int b[10]; //қосымша массив
- •Жиымды сұрыптау (сорттау, реттеу)
- •Жай таңдау жолымен сұрыптау
- •Жай енгізу (кірістіру) тәсілімен сұрыптау
- •Жай алмастыру арқылы сұрыптау
- •Int *iptr;
- •Функциялар арасында байланыс жасау үшін нұсқауыштарды пайдалану
- •Void change (int *u, int *V)
- •Int temp;
- •Int xmin,X[10];
- •6. Екі өлшемді жиымдар
- •Void line()
- •Void line()
- •Екінші типтегі есептер алгоритмдері
- •Void line()
- •Int I,j,jmin,min;
- •Int amin;
- •Бақылау сұрақтары
- •7. Сөз тіркестерін өңдеу
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Сөз тіркестерімен жұмыс істейтін функциялар
- •Көмекші программа. Функцияны пайдалану
- •Int mini(int X, int y)
- •Int maxi(int X, int y)
- •Void lin(char a)
- •Void z1(int *X, int *y)
- •Void z1(int*, int*);
- •Int rus (unsigned char r)
- •Int min_index(int sp[], int ras)
- •Void init(int mas[],int ras);//функцияны сипаттау
- •Жоғарыда қарастырырылған функцияда екі өлшемді жиымның бағаналарының саны тұрақты және ол ауқымды ko айнымалысымен анықталған.
- •Void main(void)
- •Index(s1,s2)
- •Void main(void)
- •Int main()
- •Бақылау сұрақтары
- •Құрылымдарды пайдалану мысалы:
- •Void Vvod(int nom,struct Spisok *sved)
- •Void main(void)
- •Vvod(-1,sved);
- •Int I; clrscr();
- •Void main(void)
- •Int I,j,k,priznak;
- •If(!priznak) break;
- •If(!priznak)break; }
- •Бақылау сұрақтары
- •Void main ()
- •Int pages;
- •Void main()
- •Бақылау сұрақтары
- •11. Графикалық режимде жұмыс істеу
- •Void main ( )
- •Int gmode; //режим аты
- •Int errorcode; // қате коды
- •11.1. Графикалық режим орнату, одан шығу, мәтін жазу, сызық салу функциялары
- •Initgraph(&Driver,&Mode,Path);
- •Initgraph(&Driver,&Mode," ");
- •Экранға мәтін шығару функциясы
- •Экрандағы көрсетілген орынға мәтін шығару функциясы
- •1) Line (x1,y1,x2,y2);
- •2) Lineto (X,y);
- •11.2. Сызық стильдерін беру
- •Int gmode;
- •11.3. Тұйық сызықтар салу
- •Көпбұрыш салу функциясы
- •Int gmode;
- •Іші боялған контурлы эллипс салу функциясы
- •Pieslice(X,y,БұрышБасы,БұрышСоңы,Радиус);
- •Void main ()
- •Void main ( )
- •Void main ()
Void main ( )
{
int gdriver = DETECT; //драйвер
Int gmode; //режим аты
Int errorcode; // қате коды
initgraph (&gdriver,&mode,“C:\\TC\\bgi\\”);
errorcode = graphresult();
if errorcode != grOk) //іске қосу қатесі
{printf(“Қате: %d\n”, errorcode);
puts("Аяқтау үшін УТЕУК басыңыз");
getch ();
return;
}
... Ары қарай программа мәтіні...
getch();
closegraph ( );
}
11.1. Графикалық режим орнату, одан шығу, мәтін жазу, сызық салу функциялары
Графикалық режим драйверін іске қосу функциясы
Initgraph(&Driver,&Mode,Path);
Driver параметрі бейнелік жүйе драйверін анықтайды, Mode параметрі – бейнелік жүйе жұмыс режимін береді, ал Path параметрі – драйвер файлының орнын көрсетеді.
Көбінесе Driver параметрі мәні ретінде detect болатын бүтін константа қолданылады. Мұндайда initgraph функциясының өзі графикалық драйвер типін анықтап, ең дұрыс режимді таңдап алады.
Тақырыптық файлы: <graphics.h>
Драйвер дұрыс оқылған соң, initgraph() функциясы 4 К көлемінде (келісім бойынша) ішкі графикалық буфер ұйымдастырады да, экран түсі, сызықтар түсі анықталып, дисплей адаптері графикалық режимге кіреді. Экран тазаланып, курсор сол жақ жоғарғы бұрышқа орнатылады.
Егер BGI-файлдар ағымдағы бумада болса, initgraph() функциясының үшінші параметрі ретінде бос орын мәнін беруге болады
Initgraph(&Driver,&Mode," ");
Графикалық режимнен шығу және оған бөлініп берілген жады бөлігін босату үшін, яғни бейнеадаптер буферін тазартып, бұған дейінгі мәтіндік режимді қалпына келтіру мақсатында мына функция қолданылады
closegraph();
Графикалық режимде сызық түстерін, тұйық сызықтар ішін түрлі түске бояуға болады. Ол үшін мәтіндік режимдегідей түстер кодтары және олардың ағылшынша атаулары қолданылады.
Графикалық режимнен уақытша мәтіндік режимге ауысу мақсатында мынадай функция қарастырылған
restorecrtmode();
Ол initgraph() функциясын пайдаланғанға дейінгі болған мәтіндік режимді қайта орнатады; буферде (экран көрінісі де) сақталған мәтін қалпына келмейді, өйткені ол initgraph()функциясы арқылы өшірілген болатын.
Графикалық режимге қайтып оралу мына функция арқылы атқарылады
setgraphmode(gm);
функция аргументі ретінде қолданылған драйверге қатысты режимнің бүтін сан түріндегі нөмірі қарастырылады.
Курсор орнын анықтау функциялары
getx(); gety();
Функциялары курсор тұрған орын координаталарын х (у) береді.
maxx(); getmaxy();
getmaxx() функциясы экранның оң жақтағы ең шеткі нүктесінің x координатасын анықтайды, ал getmaxy() функциясы — экранның ең төменгі у нүктесі координатасын анықтайды.
Сызықтар түсін тағайындау функциясы
setcolor(col);
мұндағы сol – түс атауы немесе түс коды. Сызық және мәтіндер түсі осы функциямен беріледі. Ал сызық типі setlinestyle() функциясы арқылы тағайындалады.
Түстер бүтін сан түріндегі кодпен немесе константа түрінде бас әріппен жазылатын ағылшынша түс атауларымен беріледі.
Түстердің стандартты белгіленулері төмендегідей:
|
|
|
|
Көмескі түстер
|
Кодтары |
Ашық түстер |
Кодтары |
Қара (BLACK) |
0 |
Қара қошқыл (DARKGRAY) |
8 |
Көк (BLUE) |
1 |
Көкшіл (LIGHTBLUE) |
9 |
Жасыл (GREEN) |
2 |
Ақ жасыл (LIGHTGREEN ) |
10 |
Көгілдір (CYAN) |
3 |
Ақшыл көк (LIGHTCYAN) |
11 |
Қызыл (RED) |
4 |
Қызғылт (LIGHTRED) |
12 |
Күлгін (MAGENTA) |
5 |
Қызғыш (LIGHTMAGENTA) |
13 |
Қоңыр (BROWN) |
6 |
Сары (YELLOW) |
14 |
Сұр (LIGHTGRAY)
|
7 |
Ақ (WHITE)
|
15 |
Мысалы: setcolor(YELLOW); setcolor(3); setcolor(5);
Экранның фоны түсін өзгерту функциясы
setbkcolor (түсі);
Мысалы: setbkcolor(BLUE); setbkcolor(14);
Мәтін шығару функциялары
Графикалық режимде экранға мәтін шығарарда символдар көлемін, бағытын (тік, көлденең), бекітілген бірнеше қаріп түрінің бірін таңдау мүмкіндіктері бар. Осындай символдар параметрлері мынадай функция арқылы беріледі:
settextstyle(Қаріп,Бағыты,Көлемі);
outtextxy және outtext функциялары арқылы шығарылатын мәтіндердің қаріп түрін, көлемін және бағытын тағайындайды. Қаріп (шрифт) параметрі ретінде төмендегі константалардың бірін пайдалануға болады.
Константа Мәні Қаріп типі
DEFAULT_FONT 0 Стандартты. Әрбір символ 8 х 8 пиксел көлемдегі квадрат ішіне шығарылады.
TRIPLEX_FONT 1 Triplex шрифті (TRIP.CHR файлы)
SMALL_FONT 2 Майда шрифт (LITT.CHR файлы)
SANSSERIF_FONT 3 SansSerif тік шрифті (SANS.CHR файлы)
GOTHIC_FONT 4 Готикалық шрифт (GOTH.CHR файлы)
Орыс шрифтері тек стандартты түрде ғана (default_font) шығарылады. Бағыты параметрі берілген мәтінді тік немесе көлденең беруді тағайындайды, оның мәндері:
HORIZ_DIR 0 Солдан оңға қарай
VERT_DIR 1 Төменнен жоғары қарай
Көлемі 1-ден 10-ға дейін өзгере алады. Бұл шама DEFAULT_FONT стандартты қарпі (8х8 пиксел) үшін әр символды неше есе үлкейту керек екендігін көрсетеді (стандартты матрица 8*8 болғандықтан, егер көлемі 4 болса, онда символдар 32*32 пикселдік матрицаға дейін үлкейеді). Ал қалған қаріптер үшін бұл параметр сызықтық емес, экспоненциалдық масштабтау шкаласын көрсетеді. Символдың негізгі нұсқасы көлемі 4-ке тең болып саналады, сондықтан ол 7 болса, онда символдар 2 есе өседі; егер 8 болса - 3 есе; ал 9 болса - онда 4 есе ұлғаяды. Символдар әрқашанда үздіксіз жіңішке сызықтармен жазылады.
