
- •Программалау тілдері
- •2.2. Си тілінің қарапайым элементтері
- •2.2.1 Пайдаланылатын символдар си тілінің символдарын бес топқа бөлуге болады.
- •2.2.2 Тілдің қарапайым объектілері
- •Бақылау сұрақтары
- •2.3. Си тіліндегі мәліметтер типтері және енгізу, шығару функциялары
- •2.4. Бүтін сан түріндегі мәліметтерді сипаттау
- •2.4.2. Char типі
- •2.4.3. Float және double жылжымалы нүктелі нақты сандар типтері
- •2.5 Символдық тіркестер (жолдар, қатарлар)
- •2.6. Printf және scanf функциялары
- •Бақылау сұрақтары
- •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 ()
Іші боялған контурлы эллипс салу функциясы
fillellipse (х,у, rх,rу);
мұндағы х, у – центр координаталары;
rх, rу – пикселмен берілген эллипс жарты өстері радиустары.
Эллипс өстері координат өстеріне параллель болады. Эллипс ағымдағы түспен боялып шығады.
Іші боялған дөңгелек сектор сызу функциясы
Pieslice(X,y,БұрышБасы,БұрышСоңы,Радиус);
радиусы Радиус, центрі (х,у) нүктесіндегі дөңгелек сектор сызады. БұрышБасы, БұрышСоңы параметрлері шеңбер секторының бастапқы және соңғы бұрыштарын градуспен сағат тіліне қарсы анықтайды. Егер БұрышБасы = 0, ал БұрышСоңы = 360 болса, онда pieslice функциясы шеңбер сызып шығады. Бұрыштарды [0..360] шегіне (диапазонына) келтірген соң, сектор мәні кіші бұрыштан мәні үлкен бұрышқа қарай сызылады, сол себепті ОХ өсінің оң жақтағы бағытын кесіп өтетін сектор салуға болмайды. Сектор контуры (доға мен екі радиус) рисуется после закраски сектор боялған соң сызылады, ал сызық типі мен қалыңдығы setlinеstуlе() функциясымен анықталады. Егер контурсыз сектор салу керек болса, мынадай тәсілді пайдалануға болады:
setcolor (BLACK); setbkcolor (BLUE) ;
setwritemode (XOR_PUT); setfillstуle (WIDE_DOT_FILL, RED);
pieslice(200,100,45,90,50);
Іші боялған контурлы эллипс секторын салатын функция
sector (x,у,бұрыш_басы,
бұрыш_соңы,rх,rу);
Бұл функция pieslice() функциясы тәрізді жұмыс істейді.
// Жазуы бар секторлар sector2.cpp
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <graphics.h>
Void main ()
{
int gd=DETECT,gm,i,x,y;
initgraph (&gd,&gm,"c:\\TC\\bgi");
setcolor(BLACK); setbkcolor(BLUE);
setwritemode(XOR_PUT);
setfillstyle(WIDE_DOT_FILL,RED);
pieslice(200,100,45,90,50);
setbkcolor(BLUE); setcolor(RED);
setfillstyle(1,3);
x=getmaxx()/2; y=getmaxy()/2;
pieslice(x,y,270,360,100);
setfillstyle(1,2);
pieslice(x,y,0,270,100);
settextstyle(1,0,2);
moveto(x-20,y-40); outtext("75%");
moveto(x+20,y+20); outtext("25%");
getch();
closegraph();
}
Тұйық сызықпен қоршалған аймақтың ішін бояу функциясы
floodfill (x,у, шекара);
мұндағы х, у – боялатын аймақ ішіндегі нүкте координатасы.
Тұйық аймақты қоршаған сызық контурында тесік болмауы тиіс, әйтпесе бояу бүкіл экранды сол түске бояп жібереді. Контур түсі шекара түсімен бірдей болуы тиіс. Бояу түсі мен типі setfillstyle() функциясымен орнатылады. Енді бір мысал келтірейік.
//боялған шеңберлер, эллипстер салу – kr_krug.cpp
#include <conio.h>
#include <stdlib.h>
#include <graphics.h>
Void main ( )
{
int gd=DETECT,gm,r,x=120,y=240;
initgraph(&gd, &gm,"C:\\TC\\BGI");
setcolor(RED); //сызықтар жасыл түсті
setbkcolor(BLUE); //фон көк түсті
for(r=0; r<80; r++)//концентрлі
circle(x,y,r); //80 қызыл шеңбер салу
setfillstyle(SOLID_FILL,RED);
x+=200;
circle(x,y,80); //қызыл шеңбер
floodfill(x,y,RED); // іші де қызыл
x+=200;
fillellipse(x,y-150,80,50);//қызыл эллипс
setfillstyle(SOLID_FILL,GREEN);
fillellipse(x,y,80,50); //жасыл эллипс
setfillstyle(SOLID_FILL,YELLOW);
fillellipse(x,y+150,80,50); //сары эллипс
getch();
closegraph();
}
Терезе ашу функциясы
Графикалық режимде экран ішінде өз координаталық жүйесі бар төртбұрышты басқа терезе ашу қолданылатын функция
setviewport (x1, y1, x2, y2, clip);
мұндағы x1, y1 – терезенің сол жақ жоғарғы бұрышы координаталары; x2, у2 – оң жақ төменгі бұрышы координаталары; clip – қию параметрі.
Егер clip параметрі 1 болса, онда терезеге сыймайтын бейне элементтері қиылып алынып тасталады; ал егерде ол – 0 болса, терезе шекаралары есепке алынбай, бейне толық экранда көрсетіледі. Бұл функция дұрыс орындалса, графикалық курсор терезенің координаталар басына орналасады.
Терезені тазалау функциясы
clearviewport ();
Тағы бір мысал келтірейік.
//Диагональ сызу,жаңа терезелер ашу primer3.cpp
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <graphics.h>