Turbo Pascal-дағы графика y=f(x) функциясының графигін салу

КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3
1. TURBO PASCAL ПРОГРАММАЛАУ ТІЛІНДЕГІ ГРАФИКА ... ... ... ... ... 4
1.1 Turbo Pascal программалау тіліндегі графиктік режіммен жұмыс ... ...4
1.2 Экранды басқаратын процедуралар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..6
1.3 Turbo Pascalдағы графиктік объектілер ... ... ... ... ... ... ... ... ... ... ... ... .10
1.4 Графика айнымалыларының сызылу процедуралары ... ... ... ... ... ... 17
1.5 Облыстарды сызу процедуралары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..18
1.6 Графиктік режімде текст шығару процедуралары ... ... ... ... ... ... ... ... 20
1.7 Графиктік режімде қателерді өңдеу ... ... ... ... ... ... ... ... ... ... ... ... ... ..22
2. y=f(x) ФУНКЦИЯСЫНЫҢ ГРАФИГІН САЛУ ... ... ... ... ... ... ... ... ... ... ..24
2.1 y=f(x) функциясының құрылымына сипаттама ... ... ... ... ... ... ... ... ...24
2.2 Программаның қолдануға нұсқау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...27
ҚОРЫТЫНДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...29
ПАЙДАЛАНЫЛҒАН ДЕРЕК КӨЗДЕРІ ТІЗІМІ ... ... ... ... ... ... ... ... ... ... ... ... 30
ҚОСЫМШАЛАР
        
        КІРІСПЕ
Қазіргі заманда көптеген жұмыс орындарының автоматтандырылуына
байланысты графикамен жұмыс жасау кең ... ... ... Қай ... графикамен жұмысты қажетінше пайдаланады. Олар кей жерлерде
безендіру үшін қолданылса, кей ... ... ... ... ... ... ... қабылдау үшін қолданылады.
Графикамен жұмыс көптеген программалау орталарына және программалау
тілдеріне сіңіп кетуіне ... біз ... ... ... ... ... ... аламыз.
Курстық жұмыс тақырыбы – «Turbo Pascal-дағы графика. y=f(x)
функциясының графигін салу».
Курстық ... ... – кез ... ... ... ... және ... масштабы оның берілген интервалдар аралығынан тәуелді
болатын графикті тұрғыза алатын программа құру.
Курстық жұмыс мақсаты – Turbo Pascal программалау ... ... ... мен ... ... ... меңгеру және
оларды пайдалана отырып, y=f(x) функциясының графигін тұрғыза алатын
программа құру.
Курстық ... ... – Turbo Pascal ... ... ... y=f(x) ... ... тұрғызу барысында мынадай міндеттер
туындады:
­ Функция графигін сызу барысында оларды зерттеу;
­ Жеті қасиеті бойынша сызылған функцияның ... ... ... ... y=x4, y =x3 функцияларының ... ... ... ... ... ... – Turbo Pasсal ... ортасындағы графиктік
режим мүмкіндіктері.
Ғылыми болжамы – Turbo Pasсal программалау тілінде графиктік
обьктілерді ... ... ... ... және ... түсін таңдау
арқылы функция графиктерін қолдануларға түсінікті түрде сызу.
Зерттеу әдістері – ... ... ... ... ... мен процедураларын қолданып, функция графигін тұрғызу барысында
қолданушы ... ... және ... етіп ... ... TURBO PASCAL ... ТІЛІНДЕГІ ГРАФИКА
1.1. Turbo Pascal программалау тіліндегі графиктік режіммен жұмыс
Графиктермен жұмыс істеу алдында оған ... ... ... ... керек. Турбо Паскаль тілінде алдын ала бекітілген драйверлер бар,
олардың әрқайсысы үш түрлі ... ... ... ... ... ... мен оның ... санмен немесе тұрақты түрінде беріледі.
Графикалық режімдерді ... ... мен ... сәйкес
адаптерлер типі 1-кестеде берілген.
Кесте-1.
Графикалық режімдер
|Драйвер ... | ... саны | Файл ... |CGAC0,CGAHI ... |CGA.BGI ... ... |640x200(640x350) |GAVGA.BGI |
|VGA(9) ... |720x348 ... ... ... іске қосылысымен оның ішіндегі процедуралар ... ... ... болады.
Графикалық режім алқашқы рет іске қосу ... ... ... ... оның жазылуы:
InitGraph(Driver Var, Mode Var: integer, Gol: string);
Мұндағы DriverVar, ModeVar деп ... ... ... екі ... және ... ... ... Мысалы:
DriverVar:=VGA; ModeVar:=VGALO;
Алғашқы параметр ... ... ... ... де ... ... ... атауы жанындағы жақша ... ... ... төмендегі
операторлар бірдей болып саналады:
DriverVar:=VGA; ... ... ... ... келмесе немесе оны білмесек, стандартты
Detect тұрақтысын қолданамыз. Сонда InitGraph процедурасы көмегімен ... ... ... ... да, оның ... режімі де өзінен-өзі
орнатылады. Процедураның Gol деп аталған үшінші параметрі Graph модулінің
маршрутын, яғни жолын көрсетеді. Егер ол ... ... ... ... ... онда оның ... екі апостроф қойылады.
Сонымен, осы айтқандарымызды программаның бас жағына мынадай жолдар
арқылы жаза аламыз:
Uses Crt, Graph;
Var ... ... ... ... DriverVar-графикалық адаптердің (драйвердің) типі;
ModeVar-оның ұмыс режимі;’TP/CRAPH-графикалық адаптердін орналасқан орны ,
яғни жазылған бумасы,егер ол ағымдағы каталог ... ... тек ... ғана ... автоматты түрде
тандап алу үшін DriverVar:=Detect; деп ... Кез ... ... жолдар орындалганнан кейін графикалық мүмкіндіктер пайдаланыла
бастайлы.
Графикалық режімнен шығу ... ... үшін ... CloseGraph процедурасы пайдаланылады. Бұл процедура орындалғанда
барлық графикалық режімдер алынып ... және ... ... Integer; ... ... яғни графикалық драйвердің
ағымдағы режімінің мәнін ... (Mode: ... ... ... ... ... экранды тазартады, мұндағы Mode-орнатылатын режімнің коды. Мысалы, осы
процедура арқылы графикалық режімнен ... ... ... және ... ... reg;
Uses graph;
Var f, g:integer;
Begin
f:=detect;initgraph(f,g’’);
Writeln(‘графикалық режім’);
Writeln (‘Enter-ді басыңдар);
Readln;
RestoreCRTMode;writeln(‘мәтіндік режім’);
Readln;
SetGraphMode(GetgraphMode);уру
Writeln(‘қайта графикалық режімге көштік’);
Readln;
CloseGraph
End.
Бұл программа ... ... ... режімге және кері ... ... ... ... жаңа ... ... ... жаңа орнын анықтау);
MoveRel(DX,DY:integer)-курсорды тұрған нүктесінен әрі қарай DX бірлігіне
көлденең ... DY ... тіке ... ... орын ауыстыру;
RestoreCRTMode процедурасы графикалық режімнің алдындағы режімді
(көбінесе мәтіндік ... ... ... Оның ... процедурасынан
өзгешелігі-қойылған графикалық режімдерді өшірмейді, буферді тазаламайды.
GetX:integer функциясы X координатасының ағымдағы мәнін береді;
GetY:integer функциясы Y координатасының ағымдағы ... ... ... ... ... мен ... Паскальдің мәтіндері енгізіп-шығаруды жетілдіретін бірнеше
стандартты функциялары мен процедуралары бар, олар ... ... Ray Tube ... сәулелік түтікшедегі дисплей)
модулінде жинақталған.
Мәтіндік режімде адаптерлер экранға 40 немесе 80 жолдан тұратын 25, ... 50 ... ... ... ... ... режімде процедураларды
пайдалану үшін алдымен CRT ... іске қосу ... Ол үшін ... ... ... жол ... ... CRT;
CRT модулін пайдалана отырып, экранға ... ... ... ... ... де ... ... бірге экранда терезе жасауға, оны өшіруге, курсорды автоматты
түрде жаңа орынға көшіруге, оның жаңа ... ... ... ... ... т.б. ... ... істеу мүмкіндігі бар. Оларды
орындайтын программалар процедура ... ... Біз ... ... ... ... орнату мынадай стандартты
процедура арқылы жүргізіледі:
Text Mode (Mode: Word);
мұндағы Mode ... ... ... оның ... ... ... Мән (BW40, ... немесе режім реттілігі (0, 1, …) түрінде
беріледі.
Кесте-2
Мәтіндік режім ... ... ... |Түстер |Адаптер |Сегмент |Режім ... |
| | ... | | ... ... ... |40x25 |16/8 |CGA,EGA |B800 |BW40 | 0 ... түсті |40x25 |16/8 |CGA,EGA |B800 |CO40 |1 ... |80x25 |16/8 |CGA,EGA |B800 |BW40 |2 ... ... |80x25 |16/8 |CGA,EGA |B800 |CO80 |3 ... қара |80x25 |3 |MA,EGA |B800 |Mono |7 ... ... Mode мәні үшін ... тұрақтылардың біреуі
пайдаланылады.
BW40=0; ақ-қара түс; ... ... ... ... ... ... ... ... ... ... ... ... ... шығарылатын символдардың түсін,
мөлшерін, экранның да түсін өзгертуге болады.
Мәтіндік режімде ... 16 ... ... (нөмірлері 0-15), экран
реңі (фон) 8 түстің біріне (0-7) ... ... ... (ақ-қара түсті )
дисплей үшін екі ғана түс пайдаланылғанымен, оларда ... ... ақ ... ... сұр ... ... қара ... ақ символ немесе
ақ экранға қара шығару, кейбір символдарды жыпылықтатып қою мүмкіндіктері
бар.
Экранға шығарылатын символдың түсін
TextColor(Color:Byte);
процедурасы ... ... ... ... ... түсін өзгерту үшін
TextBackground(Color:Byte);
процедурасы пайдаланылады. Color ... мәні ... түс ... ... ... ... ... тіліндегі түс атаулары және олардың нөмірлері
| Түс аты ... | Түс аты ... ... | 0 |DarkGray(сұр) | 8 ... |1 ... |9 ... |2 ... ... |10 ... |3 ... ... көк) |11 ... |4 ... |12 ... |5 ... ... |13 ... |6 ... |14 ... |7 ... |15 |
| | ... |16 ... ... сары символдар шығарылады`);
TextColor(Yellow+Blink);
Write(`Жыпылықтайтын сары символдар шығарылады`);
TextColor(6);
Write(`Экранға қоңыр ... ... түсі мен ... түсі бірдей болса, мәтін көрінбей кетеді.
Төмендегі программа әр түрлі түстерді пайдалану мүмкіндіктерін көрсетеді.
Program sbet;
Uses Crt;
Const col:array[1..15] of ... ... ... қызыл`,`сары`,`ақ`);
Var
k:byte; i:integer;
begin
textcolor(k);
writeln(k,`-түс c «,»-«,col[k]);
end;
textcolor(Light Gray);
writeln;
end.
Бұл программа орындалғанда экранға түстің нөмірі және оған ... ... өз ... ... ... ... тазалайтын бірнеше процедураларды қарастырайық.
ClsScr-экранды немесе терезені ... ... ... сол ... ... ... 1,1) ... тек мәтіндік режімде жұмыс
атқарады;
ClsEol-курсордан жол соңына дейінгі символдарды өшіреді;
DelLine-курсор орналасқан жолдағы символдар түгел өшіріледі де, ... бір ... ... ... ... ... жаңа жол енгізіледі де, төменгі
символдар бір қатарға төмен түседі.
Турбо Паскаль ... ... ... және оны ... экран
нүктесіне орналастыратын процедуралар да қарастырылған.
GotoXY(X, Y:byte);-курсорды координаталары X, Y ... ... ... ... X сол жақ ... оң ... қарай, ал Y жоғарыдан төмен
қарай берілген қашықтықтар бірлігін көрсетеді. Егер экран толық ... деп ... онда 25 ... және әр жол 80 ... ... ... ... режімінде X=1..80,ал Y=1..25 мәндеріне
сәйкес келеді. Экранның сол жақ жоғарғы ... ... (1,1), ... ... ... үшін -(80,25) ... ... ... ... ... 4-жол ... көшіру}
Write(``);
Сонымен бірге экранда терезе ... ... бар. Оны ... да ... ... ... (X1, Y1, X2, ... терезе құру процедурасы, X1, Y1,
X2, Y2-терезе ... сол жақ ... және оң жақ ... ... Ең кіші ... бір символды ғана қоршаса, ең
үлкен терезе (1, 1, 80, 25) мөлшерінде бүкіл экранды алып тұрады, мысалы:
Window(1, 1, 80, 25); ... ... ... 7, 59, 16); ... ... ... пайдалану жолын төмендегі программадан көруге болады.
Tereze программасы:
Program tereze;
Uses crt;
Var k:integer;
Begin
TextBackground(5);
Window(4, 3, 36, 18): Textcolor(14);
For k:=1 to 100 do ... ... ... ... ... 3, 71, ... k:=1 to 100 do ... {Курсорды жаңа орынға көшіру}
writeln(`ЖАҚСЫ, ENTER ... ... ... ... нұсқауларды өшіру*}
end.
Бұл программа орындалғанда экранның сол жақ ... ... ... сары ... ... `ENTER ... БАСЫҢДАР ` сөзі бар терезе, ал
оң жағында қызыл ... ... ақ ... жазылған `ЖАҚСЫ, ENTER ПЕРНЕСІН
БАСЫҢДАР` сөзі бар терезе пайда болады.
3. Турбо Паскальдағы графикалық обьектілер
Графика IBM/PC – бұл ... ... біз енді осы ... ... ... термині екі машиналық сөз деп түсіндіріледі, ... ... ... Ол ... ... ... бұл жерде
«вектор» тік сызық деген мағына береді. Бірінші де, екінші де интерпретация
математикалық ... ... ... ... біз ... Бұл ... маңызды нәрсе терминдерді араластырмау керек.
Экран дисплейіне ... құру ... ... ... тек тік сызықты ғана қолданады.
Бұл жағдайда машиналық бағдарлама тік сызықтың екі шеткі нүктелеріне
негізделеді, ал дисплейдің өзі ... ... тік ... ... ... ... ... алатын болсақ, мейлі ол ... ... ... онда ... ... кезіндегі электрондық
сәуле стандартты шаблонда кескін жылжиды да, барлық ... ... ... ... ... ... ... дисплейде электрондық сәуленің
жылжуын бұйрық негізінде жүзеге асырылады.
Векторлық сканерлеу жүйесіндегі электрондық бұлттың жылжуын ... ... жүре ... тек бір рет және ... ... ... ғана емес.
Векторлық графиканың көптеген артықшылықтары бар – ол өте жоғары
дәлдікте, салыстырмалы жоғары ... ... ... ... ... ... аясында, оны ең тиімді етеді, әсіресе қиын және ... ... құру ... ... ... ... сызықтарды сызу үшін ғана қолданылады.
Қазіргі уақытта шығарылатын компьютерлер IBM фирмасында фирмасында
жасалынған адаптерлермен ... ... ... ... Олардың барлығы дерлік тек 13 тарауда ... ... ... ... ... ... ... жасайды. Бұл
режимде экран ... ... өте ... ... ... ... біркелкілігіне байланысты, олардың жарықтандыруымен басқаруға
болады.
Нақты адаптердің графикалық мүмкіндіктеріне байланысты анықталады,
дәлірек айтқанда ... ... ... ... ... ... ... көптеген адаптерлер бір уақытта ... ... ... ... ... Графикалық бет дегеніміз – экранның
«картасын» жасап шығаруға, яғни әр ... түсі ... ... ... ... ... Әрі ... әрбір адаптерлер туралы жеке
мағлұматтар береміз.
CGA адартері (Color Graphics Adapter – ... ... ... графикалық режимі бар. Оның төртеуі төмен мүмкіндікті экранға тән (320
пиксель көденеңінен және 200 ... яғни 320*200) және онда ... - ... бар.
Әрбір палитра үш түстен тұрады. Әрбір палитра үш түстен ... ... ... қара түсті санасақ – төрт түстен тұрады: палитра 0
(ашық жасыл, қызғылт, сары), ... 1 ... ... ... ... ... 2 ... қызыл, сұры) және палитра 3 (көгілдір, фиолет, ... ... 640*200 ... ... ... ... ... пиксель
бұл жағдайда ол жарықтанып немесе қандай-да бір ... ... ... ... ... бұл ... ... 2 түсті
түзеді. CGA адаптері графикалық режимде тек қана бір бетті пайдаланады. ЕGA
адаптері CGA адаптерінің ... ... ... ... алады.
Сонымен қатар онда мынадай режимдер бар: төменгі рұқсаттылық (640*220, ... 4 бет) және ... ... ... 16 түс, бір бет). ... ... ... ... МCGA ... CGA ... келеді және онда тағы бір 640*480, 2 түсті, бір бет – ... ... PS/2 ... да ... ... ... Бұл серияның
үлкен модельдері VGA – графикалық ... ... ... VGA ... CGA мен ЕGA ... режимдері тәрізді жоғары
рұқсаттылықты (640*480, 16 түс, 1 бет) ... ... ... ... және одан да ... 256 және одан да көп түстерді қолданатын супер
– VGA деп ... ... ... олар кең ... ... ... ... оларға Graph
кітапханасында драйверлер жоқ. SVGA ... ... ... ... ... ... үшін EGAVGA.BGI драйверін қолданады және
салыстырмалы қарапайым мүмкіндіктермен ... ... ... ... ... ... бар. HGS ... мүмкіндігі бар, оның пиксельдері бір түсте ғана (ашық ... ... ... ... яғни ол ... ... Адаптер
HGС+ басқаларымен салыстырғанда жетік, ал НІСС адаптері 16-түсті HGС+
сияқты. Енді мынадай нұсқаны ... ... PASCAL ... ... ... ... ... жазу керек. Егер Сіз көпке танымал ... ... ... ...... тек бір ғана жолы бар. Егер бізге компьютердің типі ... ... ... кез-келген адаптермен жұмыс жасаса, онда InitGraph-
қа драйверді автоматты түрде анықтау үшін ... ... Ол ... жүзеге асады: ауыспалы Graph Driver-ге detect мәнін ... ... ... ... ... анықтап, ең қолайлы режимді таңдап
береді.
Монитор экранындағы кез ... ... ... ... ... ... нүктелер – пиксельдердің болуына байланысты, олар
түстер мен ... ... ... қай ... ... ... ... Ағымдағы жұмыс барысында экранның максималды координаттарын
білу үшін Get MaxX GetMaxY ... ... ... Ол үшін аз
ғана бағдарламаны енгізіңіз: ... ... ... онда фонның
түсі тек күңгірт түсте емес, графикалық режимде ол кез-келген түсте ... жаңа фон ... ... ... ... ... өзгертеді. Бұл
екі участокта әр түрлі түс болса, онда кескінді салуға болмайтындығын
білдіреді.
Активті ... ... ... ... ... ... енгізгенде өзгертуге болады.
Ескерте кететін бір жайт, фон түсін 0 (black) ... ... ... ... ... оны тек ... қара түс ретінде ғана өзгерте
алмайсыз, ол фонның түсі болып қала ... ... graph ... 0 ... ... ... түсі ... қабылдайды. Бұл фонға
енді қара түсті қайта алмайтыныңызды айтады. Егер сіздің ... ... ... ... онда ... ... ... процедурасының
бағдарлама бір-біріне енгізілген 10 тікбұрыштарды шығарады, содан соңфон
түсі өзгереді. Бағдарламадан шығу үшін кез ... ... ... ... ... ... бұрын экранның түсін және салынатын
фигура жиегін анықтайтын процедуралармен танысайық.
1.     SetBkColor(Color)     -  экранның ... ... ... color-
түсі.
2.     SetColor(Color)         -  фигура жиегінің түсін ... ... ... салу процедураларына тоқталайық.
3.  PutPіxel(X,Y,Color)    -  боялған нүкте салу, мұндағы (X,Y) нүктенің
координатасы, Color  -  ... ... -  түзу салу ... ... ... бастапқы нүктесінің координатасы, ал X2,Y2  -  соңғы нүктесінің
координатасы.
1.     Rectangle(X1,Y1,X2,Y2) -  ... салу ... Х1,Y1 ... сол жақ ... ... ... ал X2,Y2  -  оң жақ төменгі ... ... ...... сызу ... мұндағы (X,Y)-шеңбер
центрінің нүктесі, R-радиусы.
        1-мысал. Аспан көк түсті ... ... ... көк ... ... шеңбер салу программасын жазамыз. Нәтижесі ... болу ... ... ... ... Graph,  ... GraphDrіver,
      Graphmode: іnteger;
Begіn
       Clrscr;
       GraphDrіver := 0;
       ІnіtGraph (GraphDrіver, GraphMode, ‘ ‘);
    Іf  GraphResult 0 then
    ... ... ... ... ... ... ... аспан көк түспен бояу}
   SetColor(4);                          {Жиегі қызыл болатын
   Lіne(40, 180, 240, ... түзу ... ... ... көк ... ... 260, 320, ... тіктөртбұрыш салу}
   SetColor(2);                          {Жиегі жасыл болатын
   Lіne(380, 100, 380, 220);
   Lіne(380, 100, 600, 220);          ... ... ... 220, 600, ... ... {Жиегі қоңыр болатын
   Cіrcle(480, 280, 40);                шеңбер салу}
   Readln; ... ... ... ... ... ішін ... ... болады екен
деген сұрақ тууы мүмкін, мысалы тік төртбұрышты, шеңберді, т.с.с. ... екі ... ... ... ... Color)  -  ... ... типтері, Color-
түсі.
8.FloodFіll(X,Y, Color)         -  мұндағы (X,Y)-тұйық облыстың ішіндегі
кез келген нүктенің координатасы, Color-түсі.
Ескерту: Тұйық облыстың іші дұрыс боялуы үшін ең ... оның ... ішкі ... дұрыс табылуы және SetColor мен ... ... ... ... ... ... ... түсті экранға боялған тік бұрышты трапецияның ішіне боялған
шеңбер мен үшбұрыш саламыз (2-суретте ... ... ... ... ... ... бейне
2-мысалдың программасын құрайық.
Program  Сурет-2;
Uses Graph,  Crt;
Var GraphDrіver, ... ... ... GraphDrіver := 0;
       ІnіtGraph (GraphDrіver, GraphMode, ‘ ‘);
    Іf  GraphResult 0 then
    Begіn   ... ... ... ... ... ... ... 60, 480, 30);   Lіne(480, 30, 480, 400);
    Lіne(480, 400, 60, 400); Lіne(60, 400, 60, 60)    
    SetFіllStyle(5, 14);    ... 60, ... ... Cіrcle(200, 230, 85);    SetFіllSryle(1, 5);    
FloodFіll(210, 230, 5);
    SetColor(4);
    Lіne(200, 160, 280,230); Lіne(280, 230, 165, 280);  
Lіne(165, 280, 200, 160);
    SetFіllStyle(2, 1);     ... 170, ... ... сектор, эллипс, эллипстік доға және боялған эллипс
салу поцедураларымен танысайық. Айтылатын бұрыштар ... ... ... ... ... ... ... шеңберінің центрі, M-доғаға
тірелетін бастапқы, ал L-соңғы ... ... ... ... �сектор салу. Мұндағы (X,Y)- сектор шеңберінің
центрі, M-секторға тірелетін бастапқы, ал ... ... ... ... ... � эллипстік доға салу. Мұндағы (X,Y)-центрі,
M-бастапқы, ал L � соңғы осьтік ... ... ... ...             
12. FіllEllіpse(X,Y,RadX,RadY) � боялған эллипс салу. Мұндағы (X,Y)-центрі,
RadX және ... ... және тік ... енді ... ... ... ... салу процедураларын қолданып
мысалдар қарастырайық.
3-мысал.  Cаңырауқұлақ және ай бейнесін экран бетіне орналастыру
Программасы:
Program  Сурет-3;
Uses Graph,  Crt;
Var GraphDrіver,
Graphmode: іnteger;
Begіn
Clrscr;
GraphDrіver := ... ...... GraphResult 0 then
Begіn
Wrіteln; Wrіteln;  Halt;
End;
    SetBkColor(4);
    Setcolor(1);
Pіeslіce(350, ... ... ... arc(50,150,280,79,130);
Setfіllstyle(1,14); Floodfіll(167,150,14);
Readln;
closegraph;
End.
4-мысал. Адамның бас бейнесін салатын программа құрыңыз.
Программасы: 
Uses Graph,  Crt;
 Var GraphDrіver,                                                          
       Graphmode: іnteger;
Begіn    Clrscr;
GraphDrіver := 0;
іnіtGraph (GraphDrіver, GraphMode, ‘ ... ... 0 ... ... Halt;
End;
Setbkcolor(2);
Setcolor(1);
Cіrlcle(350,200,150); setfіllstyle(1,14); floodfіll(350,200,1);
Setcolor(5); arc(350,250,195,350,65);setcolor((1);
arc(195,195,70,294,20);
setfіllstyle(2,1); floodfіll(180,195,1);
arc(500,195,266,97,20);setfіllstyle(2,1); floodfіll(505,195,1);
Setcolor(4); cіrcle(300,160,10); setfіllstyle(1,4);
floodfіll(300,160,4); cіrcle(390,160,10);
setfіllstyle(1,4); floodfіll(390,160,4);
Readln;
closegraph;
End.
1.4. Графика айнымалыларының ... ... ... сурет, сызба, схема нүктелерден, бұрыштардан, доғалардан
және т.б. тұрады. ... ... ... ... үшін ... графикалық
айнымалыларының сызылуын қамтамасыз етеді. Бұны іске ... ... ... SetColor түстің шығарылуын қамтамасыз етеді.
Мәселен, инструкция SetColor (4) графиктік анайының ... түсі қара ... ... ... ... Әр түс ... өзінің
нөмірімен беріледі. Сондықтан әр түрлі палитраларда бір нөмірге түрлі
түстер сай болуы ... -4. ... ... |Түс |Түс ... ... ... |0 ... |Көк (қою) |1 ... ... |2 ... ... ... |3 ... ... |4 ... ... |5 ... ... |6 ... gray ... сұры |7 ... gray ... |8 ... blue ... көк |9 ... green ... жасыл |10 ... cyan ... |11 ... red ... ... |12 ... magenta ... ... |13 ... ... |14 ... |Ақ |15 ... экранында нүкте пайда болуы үшін PutPixel ... ... ... ретінде сол нүктенің координаталары мен түсін
көрсету қажет. Мысалы, бұл инструкцияның ... ... ... қызыл нүкте пайда болады: PutPixel (320, 240, Red)
1.5. Облыстарды сызу процедуралары
Дөңгелектердің сызылуы Circle процедурасын шақыру арқылы іске асады:
Circle (x, y, ... пен y ... ... ... ... ... элипсті сала аламыз. Осы ... ... ... ... ... (x,y, ... ... соңғы бұрыш, радиус Х, радиус У);
Мұндағы х пен ... ... ... ... ... ... бұрыш параметрлері бастапқы және соңғы элипс нүктелердің
дөңгелек координаталарын береді, ... ... ... ... қарай
сағт тіліне қарсы, радиус х және радиус у-көлденең және тікөлденең ... ... Ellipse (100, 100, 0, 360, 20, 50) ... ... сызып тастайды, Ellipse (100, 100, 0, 180, 20, 50) ... ... ал Ellipse (100, 100, 180, 0, 20, 50) ... ... Х пен ... У тең болған жағдайда процедура Ellipse дөңгелекті
сызып тастайды.
Retangle процедурасы тікбұрышты сызуға ... ... ... ... (x1, x2, y1, ... мен ... жоғарғы сол бұрыштың координаталары.
х2 мен у2-тікбұрыштың төменгі оң бұрыштың ... ... (0, 0, GetMax x, GetMax y); ... экранның жұмыс облыстың
жақтауын сызып тастайды. Мұндағы GetMax x және GetMax ... ... ... х пен у кординаталарының ең ... ... тең. ... Ellipse және ... ... ... сызып тастайды.
Қажетті түсті SetColor процедурасын шақырып орнатуға, ал керек ... Style ... ... ... ... Bar ... ... Бұл процедура арқылы экранға
тікбұрыш сыза ... ... ... шақыру процедурасының инструкциясы
былайша көрсетіледі:
Bar (x1, y1, x2, ... және y1 ... ... сол ... ал х2 және ... оң
бұрышын береді.
Көлемді тікбұрыш. Bar 3d (x1, y1, x2, y2, тереңдігі, жоғары шекарасы).
х1 және у1 параметрлері жоғарғы сол орналасуын ... ал х2 мен ... ... ... ... және ... паралелепипедтің шектерінің ара-
қашықтығын береді, ал жоғарғы шекара параметрі (Boolean ... ... ... ... шекарасын сызудың керектігін
анықтайды.
Сектор және дөңгелекті PieSlice процедурасы сызады және толтырады.
PieSlice (x, y, ... 1, ... 2, ... х, у ... ... ... береді. Бұрыш 1 және бұрыш 2 секторды ... ... ал ... ... ... Көлдеңен кесінді
нөльдік бұрышқа сай.
Бұрыш 1=0, бұрыш 2=360, онда PieSlice ... ... ... ... ... Sector процедурасы. Процедураның шақыру
инструкциясы:
Sector (х, у, бұрыш 1, ... 2. ... х, ... ... пен у ... ... центрінің орналасуын береді. Бұрыш 1,
бұрыш 2 тікбұрышты береді, олар секторды шектейді. ... ... Х-х ... ... береді. Ал радиус У-у осі бойынша эллипс нольдік бұрышқа ... бұл ... қима (x,y) ... басталып өсу жағына х
координатасына қарай бағытталған. ... 1=0, ... 2=360, ... ... ... сызады.
Облысты толтырудағы түс пен стиль.
SetFillStyle –ді қолдана ... ... түс пен ... ... ... ... шақырылу инструкциясы былайынша көрсетіледі:
SetFillStyle(стиль, түс);
Ескерту: Стиль параметрі толтырудың стилін береді. Мәселен, толықтай
бояп тастау немесе тігінен штрихтеу түс параметрі ... ... ... мен түс ... әдетте атаулы константалар қолданады.
Кесте-5. Облысты толтырудағы түс пен стиль
|Константа ... ... ... ... ... ... ... ... ... бояу ... ... |45 ... ... қарай жіңішке сызықтармен |
| ... ... |45 ... ... ... қарай штрихтеу |
| Bk SlashFill |45 ... оңға ... ... ... |
| ... ... Bk ... |45 ... бұрышта оңға қарай штрихтеу ... ... ... ... |Сирек қиғаш тормен 45 ... ... ... |
|WideDothFill |Сирек нүктелермен толтыру ... |Жиі ... ... ... ... типі ... ... ... ... ... ... шығару процедуралары
Графикалық процедуралар кітапханасында графикалық режімде ... ... ... ... ... ... ... экранда мәтін жазу процедуралары экранға график түрінде
шығарылатын бейнелерге түсінік ... ... Ол үшін ... ... ... ... ... String); процедурасы арқылы берілген орнынан бастап
экранға мәтін жолын шығаруға болады.
Мысалы, OutText(‘Мәлімет енгізу:’);
Outtextxy(x,y: integer; Tex: String); ... x, ... ... жолдың
алғашқы басталатын орнының координаталары, Tex-мәтін, ол апостроф ішіне
жазылады. Мәтін осының алдында ... тип ... ... түсте
шығарылады. Мысалы, экранның 60, 100 нүктесінен бастап “Дархан” ... ... ... ... ... ... word; ... word; CharSise:word);-шығарылатын
мәтіннің стилін орнатады, мұндағы Font-қаріп ... ... ... ... ... ... символдың өлшемін
көрсетеді. Алғашқы екі параметр атаулары, мәндері және ... ... ... Ал ... ... ... ... (0...30
аралығында ) береді.
Кесте-6. Қаріптер
| ... | Мәні ... ... типі | | ... |0 |8x8 ... қаріп ... |1 ... (үш ... ... ... |2 ... ... ... |3 ... (түзу) қарпі |
|GothicFont |4 ... ... ) ... |
|Қаріптің бағыты | | ... |4 ... оңға ... ... |1 ... жоғары қарай ... DivX, MultY, ... ... символдардың
өлшемін –енің және биіктігін өзгерту үшін пайдаланылады.
MultX, DivX мәні символдар ... ... ... екеуі –тігінен
өзгертеді. Программада бұл процедура алдында қаріп түрі мен ... ... ... ... ... және оның ... 1 ... 0 тәрізді стандартты мәндердің бірін қабылдауы қажет.
5-мысал. Тіктөртбұрыштың ішіне әр түрлі ... ... ... сөз ... ... graph, ... d, ... initgraph(d, m,’C:\BP\BGI’);
Rectangle(100, 100, 400, 400);
Setcolor(3);
OuttextXY(150, 150,’К О М П Ь Ю Т Е ... 1, ... 180, ... О М П Ь Ю Т Е ... 0, 1); ... ... Э Е ... Графиктік режімде қателерді өндеу
GRAPHRESULT функциясы арқылы ... ... ... ... болады. Егер инициализация ойдағыдай іске ... ... ... ... қайтарады, оның аталуы grOk тұрақтысына тең.
Жұмысты аяқтау алдында графиктік режимін тұрғызған ... ... ... ... қайта тұрғызуы керек. Бұл CLOSEGRAPH процедурасының
көмегімен жүзеге асады.
Есіңізде болсын: Егер компьютерде SVGA адаптері құрылған болса, ... ... ... GRAPHDRIVER параметрінде мәлімет
ретінде VGA тұрақтысын қолдану керек.
Графиктік программа экран мониторын бөлек нүктелер арқылы қарастырады.
Олар ... деп ... ... ... орны ... (х) ... (у) координаталары арқылы беріледі. Жоғарғы сол ... (0,0). ... ... ... төменге қарай,
содан оңға қарай өседі. VGA стандартты режимін алайық. Оның ... оң ... (639, 479) ... ... дұрыс
орнатылғандығын тексеру үшін GraphResult ... ... ... ... ... ... ие болуы мүмкін:
• GrOk=-0; {қате жоқ};
• GrInitGraph =-1 {графикалық режім инициялизияцияланбаған};
• GrNotDetect =-2 {драйвер типі ... ... ... ... табылмады};
• GrInvalidDriver =-4 {драйвер типі дұрыс емес};
• GrNoLoadMem =-5 {драйверді орнату үшін жады көлемі жетіспейді};
... =-6 ... ... ... жады ... ... GrNoFloadMem =-7 {облыстарды бояу үшін жады көлемі жетіспейді};
• GrFontNotFound =-8 {шрифт файлы табылмады};
• GrNoFontMem =-9 {шрифті орнату үшін ждаы ... ... ... ... ... ... емес};
• GrError =-11 {жалпы қате};
• GrIoError =-12 {енгізу-шығару қатесі};
• GrInvalidFont=-13 {шрифт форматы қате};
• GrInvalidFontNum=-14 {шрифт нөмері дұрыс емес};
Графикалық ... ... ... аяқтау үшін CloseGraph процедурасы
қолданылады. ... ... ... оның мәні тұрақты және дұрыс
кезінде нөл мәнін қабылдайды.
Оның ... ... crt, ... gdriver, gmode, d3: ... clrscr;
Gdriver:=detect;
Initgraph(gdriver, gmode, ‘’);
D3:=GraphResult;
If d30 then Writeln(`Режим қате орнатылған`);
Halt(1);
End.
ІІ. y=f(x) ФУНКЦИЯСЫНЫҢ ГРАФИГІН САЛУ
2.1. y=f(x) ... ... ... ... яғни ... ... математика
тұрғысынан салынған және есептелінген функцияның графикасын салуға
болатынын ... ... ... ... ... ... ... математика саласында функция дегеніміз не? және ... ... ... ... ... алу үшін ... ... тоқталайық. Координаталық жазықтықтағы барлық (x, y)
нүктелерінің ... f ... ... деп аталады. Мұндағы x
функцияның анықталу ... ... ал ... ... ... ... кез келген x үшін f (-x)=-f(x)
теңдігі ... онда f ... жұп ... деп ... ... ... ... кез келген x үшін f(-x)=-f(x) теңдігі
орындалса, онда f ... тақ ... деп ... f(x)=xжұп, ал g(x)=x тақ функциялар. ... ... ... облыстары (бүкіл сан түзуі осі ... ... ... ... және кез ... x үшін f(-x)=(-x)4=x4=f(x),
g(-x)=(-x)3=-x3=-g(x) теңдіктері орындалады. Бұл ... ... 4- ... ... ... ... ... және тақ ... ... салғанда алгебра курсынан
белгілі мына ... ... Жұп ... ... ... осіне қатысты симметриялы болады.
20. Тақ функцияның графигі координаталар басына қатысты ... екі ... ... ... ... жұп немесе тақ
функциялардың графиктерін салу үшін әуелі теріс емес x-тер үшін ... соң жұп ... үшін ... ... ... ... ... графигін салуды оны зеттеуден бастаған дұрыс. ... ... ... оның ... ... ... f жұп па, тақ па, периодты ма, соны ... ... ... ... қиылысу нүктелерін;
4) таңба тұрақтылық аралықтарын;
5) өсетін және кемитін аралықтарын;
6) экстремум нүктелерін және f функциясының сол ... ... ... нүктелердің және модулі бойынша үлкен x-тің ... ... ... ... зерттеуге сүйеніп, функцияның графигі салынады.
Ал енді функция ... ... ... ... ... ... ... алдымен Турбо Паскаль программалау тілін жүктеу
қажет. Ол үшін C:\BP\BIN\TP.exe ... ... ... ... төмендегі қатар бойынша орындаймыз.
• Программаның атын көрсетіп кетеміз.
Program esep;
• Модульдерді ... ... ... CRT, GRAPH модульдерін
аламыз.
CRT модулі экранмен жұмыс істеу үшін ... GRAPH ... ... ... және ... ... үшін ... crt, graph;
• Графикалық мүмкіндігін пайдалану үшін драйверлерді ... ... ... бөлімінде (Var) dv, mv деп алынған,
олардың типі әрдайым бүтін тип ... ... Ол ... [a, b] ... ... ... x, y ... x мәні,
экранда 4-ке бөлу үшін xcen, ycen, xlen, ylen ;
Xcen, ycen, xlen, x, y, i, a, b, h, dx, k, ... ... ... ... ... ... онда ... айтылған қасиеттері
ескеріле отырып жасалынған, ол төмендегідей ... ... ... ... ... ... ... readln(a);
write('b мәнін енгізіңіз='); readln(b);
if a>b then exit;
dv:=detect;
initgraph(dv, mv,'C:\BP\BGI');
setcolor(white);
ycen:=getmaxy div 2;
xlen:=getmaxx-100;
ylen:=getmaxy-100;
h:=round(xlen/(abs(b)+abs(b)+abs(a)+2)-2);
dx:=round(h/10);
h:=dx*10;
xcen:=h*(abs(a)+1)+50;
{X osin ... a=1 then k:=-10 else ... ... osin ... ... {СУРЕТТІ ЭКРАНДА ҰСТАП ТҰРУ}
readkey;
  {ГРАФИКАЛЫҚ РЕЖИМДІ ЖАБУ}
Closegraph;
END.
-----------------------

Пән: Информатика
Жұмыс түрі: Курстық жұмыс
Көлемі: 27 бет
Бұл жұмыстың бағасы: 500 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
В.С. Библердің мәдениет диалогы мектебі идеясын жоо-да оқытудың тәжірибесіне енгізу13 бет
Түрік қағанаты (551–603 жж.)4 бет
Тәттіні көп пайдалану неге алып келеді?4 бет
ҚР-дағы жекешелендіру мәні, кезеңдері және оны жүргізу әдістері3 бет
12-жылдық білім берудегі компьютерлік графиканын мүмкіншіліктері13 бет
Adobe Photoshop – графикалық редакторы12 бет
AutoCAD графикалық жүйесі26 бет
Autocad графикалық редакторы, оның ерекшеліктері мен артықшылықтары. графикалық редактордың сипаттамасы, меню типтері6 бет
Corel draw векторлық графиканың интерфейсі68 бет
Corel Draw графикалық редактор28 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь