Турбо паскаль программалау тілі жөнінде негізгі ұғымдар



Мазмұны

КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3

І. ТУРБО ПАСКАЛЬ ПРОГРАММАЛАУ ТІЛІ ЖӨНІНДЕ НЕГІЗГІ
ҰҒЫМДАР
1.1 Turbo Pascal туралы түсінік ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...5
1.2. Turbo Pascal ортасында графикалық режиммен жұмыс ... ... ... ... 12

II. ГРАФИКАМЕН ЖҰМЫС
2.1. Графикалық экран мен элементтерінің параметірлерін қою
функциялары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..20
2.2. Графикалық элементтерді бейнелеу процедуралары ... ... ... ... ... ... 33
2.3. Графикалық экран мен элементтерінің параметірлерін қою
процедуралары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...38
2.4. Графикалық мәтін жазу функциялары ... ... ... ... ... ... ... ... ... ... ... ...40
2.5. Функциялардың графигін салу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...41

ҚОРЫТЫНДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...44

ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..46
Кіріспе


XXI ғасырды ақпараттық технологиялар дәуірі деп атайды. Қазіргі кездегі ғалым немесе есепті маман қандай да бір мәселе немесе есепті шешу үшін, ол ақпаратты дұрыс өңдей білу керек: іздеуді, таңдауды, талдауды және оны қолдануды білу керек.
Адам баласының алгоритмдік және логикалық ойлау дағдыларын дамытуға және Paskal программалау тілдерінің негіздері көмектеседі.
60-70 жылдарда Н. Вирт ойлап шығарған Паскаль тілі қазіргі кезде дүние жүзінде кең тараған программалау тіліне айналды. Қазіргі кезде Паскаль тілі қолданбалы программалар жазу үшін және жүйелі программалау тілінде де кеңінен қолданылады.
Сонымен бірге көптеген мини және макро компьютерлерді қамтамасыз ету осы тілде жазылған. Паскаль тілі бұрын құрылған (Фортран, Алгал және т.б.) программалау тілінен ерекшелігі, ол құрылымдық программалау идеясын өмірге біртіндеп енгізу. Паскаль тілінің тағы бір ерекшелігі, ол деректер қрылымының концепциясының алгоритм түсінігімен қатар программалаудың негізінде жатқан фундаметальды түсініктер қатарына кіруі.
Дисплей экраны нүктелер жиыны болып табылатын төртбұрыштар аймақ болып табылады. Ол графикалық және мәтіндік режимдерде жұмыс атқара алады. Графикалық режимде экранның әрбір нүктесін түрлі түске бояп, сол түстер арқылы сызық, мәтін және әр түрлі бейнелер кескіндеуге болады.
Қазіргі дербес компьютерлердің графикалық информацияларды енгіу, шығару және өңдеуге арналған техникалық құрылғылары бар. Графикалық информацияны енгізу үшін – сканер. Ал шығару үшін дисплей экраны және лоттер пайдаланылады.
Стандартты Паскальдың графикалық информациямен жұмыс істейтін командалары жоқ.
Турбо Паскаль жүйесінде графикалық информациялармен жұмыс істеу үшін GRAPH.TPU модулі пайдаланылады. Бұл модульде графикалық процедуралар мен функциялардың программасы машиналық тілде жазылған.
Турбо Паскаль графикасын, көбінесе, псевдо – графика деп атайды, өйткені тілдің өзінде графикалық командалар келтірілмеген. GRAPH модулінде графикалық информацияларды дисплей экранына шығаруға және өңдеуге арналған командаларды сүйемелдейтін типтер, тұрақтылар, айнымалылар, процедуралар мен функциялар сипатталады.
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР


1. Абрамов З. «Задачи по программированию» Москва. Наука 1988 г.
2. Б.Бөрібаев, Р.Дүзбаев, А.Махметова - «Информатика және есептеуіш техника негіздері» - Есептер мен жаттығулар жинағы. Алматы – 2005 жыл.
3. А.Б.Дәулетқұлов, С.С. Алғазы - «Паскаль» тілінде программалау негіздері. (Алгоритмдеу және программалау) Алматы – 2004 жыл

4. Культин “Программирование в среде Турбо Паскаль”, 2002г.

5. О.Камардинов - “Информатика” Алматы “Қарасай” баспасы – 2006ж


6. Немнюгин С.А. Turbo Pascal «Питер» Санк-Петербург, 2003 г.

7. Б.Нақысбеков, А.Мұхамеди, Г.Мадиярова - «Информатика мен есептеуіш техника негіздерін оқыту» - Әдістемелік нұсқау. Алматы – 2005 жыл.

8. Хамметов А.Х., Құтқожина Б. Turbo Pascal 7.0. тілінде программалау бастамалары.

Мазмұны

КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ... 3
І. ТУРБО ПАСКАЛЬ ПРОГРАММАЛАУ ТІЛІ ЖӨНІНДЕ НЕГІЗГІ
ҰҒЫМДАР
1.1 Turbo Pascal туралы
түсінік ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5
1.2. Turbo Pascal ортасында графикалық режиммен
жұмыс ... ... ... ... 12
II. ГРАФИКАМЕН ЖҰМЫС
2.1. Графикалық экран мен элементтерінің параметірлерін қою
функциялары ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... .20 2.2. Графикалық элементтерді
бейнелеу процедуралары ... ... ... ... ... .. ..33
2.3. Графикалық экран мен элементтерінің параметірлерін қою

процедуралары ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... 38
2.4. Графикалық мәтін жазу
функциялары ... ... ... ... ... ... ... ... ... ... ... ...40
2.5. Функциялардың графигін
салу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 41
ҚОРЫТЫНДЫ ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... .44
ПАЙДАЛАНЫЛҒАН
ӘДЕБИЕТТЕР ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
46

Кіріспе

XXI ғасырды ақпараттық технологиялар дәуірі деп атайды. Қазіргі кездегі
ғалым немесе есепті маман қандай да бір мәселе немесе есепті шешу үшін, ол
ақпаратты дұрыс өңдей білу керек: іздеуді, таңдауды, талдауды және оны
қолдануды білу керек.
Адам баласының алгоритмдік және логикалық ойлау дағдыларын дамытуға және
Paskal программалау тілдерінің негіздері көмектеседі.
60-70 жылдарда Н. Вирт ойлап шығарған Паскаль тілі қазіргі кезде дүние
жүзінде кең тараған программалау тіліне айналды. Қазіргі кезде Паскаль
тілі қолданбалы программалар жазу үшін және жүйелі программалау тілінде де
кеңінен қолданылады.
Сонымен бірге көптеген мини және макро компьютерлерді қамтамасыз ету осы
тілде жазылған. Паскаль тілі бұрын құрылған (Фортран, Алгал және т.б.)
программалау тілінен ерекшелігі, ол құрылымдық программалау идеясын өмірге
біртіндеп енгізу. Паскаль тілінің тағы бір ерекшелігі, ол деректер
қрылымының концепциясының алгоритм түсінігімен қатар программалаудың
негізінде жатқан фундаметальды түсініктер қатарына кіруі.
Дисплей экраны нүктелер жиыны болып табылатын төртбұрыштар аймақ болып
табылады. Ол графикалық және мәтіндік режимдерде жұмыс атқара алады.
Графикалық режимде экранның әрбір нүктесін түрлі түске бояп, сол түстер
арқылы сызық, мәтін және әр түрлі бейнелер кескіндеуге болады.
Қазіргі дербес компьютерлердің графикалық информацияларды енгіу, шығару
және өңдеуге арналған техникалық құрылғылары бар. Графикалық информацияны
енгізу үшін – сканер. Ал шығару үшін дисплей экраны және лоттер
пайдаланылады.
Стандартты Паскальдың графикалық информациямен жұмыс істейтін командалары
жоқ.
Турбо Паскаль жүйесінде графикалық информациялармен жұмыс істеу үшін
GRAPH.TPU модулі пайдаланылады. Бұл модульде графикалық процедуралар мен
функциялардың программасы машиналық тілде жазылған.
Турбо Паскаль графикасын, көбінесе, псевдо – графика деп атайды, өйткені
тілдің өзінде графикалық командалар келтірілмеген. GRAPH модулінде
графикалық информацияларды дисплей экранына шығаруға және өңдеуге арналған
командаларды сүйемелдейтін типтер, тұрақтылар, айнымалылар, процедуралар
мен функциялар сипатталады.

І. ТУРБО ПАСКАЛЬ ПРОГРАММАЛАУ ТІЛІ ЖӨНІНДЕ НЕГІЗГІ
ҰҒЫМДАР

1.1 Turbo Pascal туралы түсінік
Кезкелген табиғи тіл сияқты, программалау тілінің де өз алфавиті бар.
Бұл алфавитті программалауда қолдануға болатын барлық символдар жиынтығы
деуге болады. Программалауда мағынасы мен қызметі алдын-ала анықталған және
өзгермейтін қызметші сөздер жиі пайдаланылады. Паскалда оларды операторлар,
амалдар (операциялар) атаулары ретінде және т.б. мақсаттарға пайдаланады.
Кезкелген программаның басты элементтері – айнымалылар, тұрақтылар
және операторлар болып табылады. Айнымалы деп, компьютер жедел жадының ат
берілген бөлігін (бір, не бірнеше ұя) айтады. Онда сақталатын ақпарат
айнымалының мәні болып есептеледі. Айнымалының мәні программа орындалу
барысында өзгеруі мүмкін. Ақпараттың түрі, мүмкін мәндерінің жиыны мен оған
қолдануға болатын түрлендірулер жиынтығы айнымалылардың типін (тегін)
анықтайды. Тұрақтының айнымалыдан айырмашылығы – оның мәнін программа
орындалу барысында өзгертуге болмайтындығында. Операторлар, программа
орындауға тиіс болатын небір амал–әрекеттерді көрсетеді.
Турбо Паскаль тілінде 80-ге жуық қызметші сөздер мен арнайы символдар
қолданылады. Тіл алфавиті латын әріптерінен, цифрлардан және арнайы
символдардан тұрады. Кейбір символдың қосағы да символ болып есептеледі.
1.1 кестеде қызметші сөздердің реттелген тізімі берілген. Оларды программа
мәтінінің қажетті жерінде қатесіз жазып пайдалану керек. Қызметші сөздерді
жазуға бас, не кіші әріптерді қатар қолдана беруге болады. Оларды атау
ретінде пайдаланбаған дұрыс.

1.1 кесте. Паскаль тіліндегі қызметші сөздер

absolute and array assembler
begin break case const
constructor continue destructor div
do downto else end
external far file for
function goto if inplementation
in inline interface interrupt
label mod near nil
not object of or
packed private procedure program
public record repeat set
shl shr string then
to type unit until
uses var virtual while
with xor

Қызметші сөздердің ішінен программалауда жиі пайдаланыла-тындарының
мағынасын түсіндіре кетейік. Program, unit – программа мен модуль тақырыбын
жазу үшін керек. Var, const, procedure, function – айнымалыларды,
тұрақтыларды, ішкі програмаларды (процедуралар мен функцияларды), ал type,
array, string, record...end, file of... айнымалылар типтерін сипаттау үшін
қолданылады. Begin, end –бірнеше операторлар-ды біріктіріп, бір құрамды
оператор жасау үшін керек. If...then...else, for...to...do, for...downto...do,
repeat...until, case...of...end, while...do –басқару операторлары. Inplementation,
interface қызметші сөздері модулдерде ғана пайдаланылады. Div, mod, shl,
shr, and, or, not – арифметикалық және логикалық амал атаулары.
Constructor, destructor, object, public, virtual – объекті–бағдарлы
программалауда қолданылады.
1.2 кестеде арнайы символдар тізімі келтірілген. Программа мәтінінде
қос сиволдардың арасына үзік қоймай жазу керек.

1.2 кесте. Паскаль тіліндегі арнайы символдар
( Қосу, біріктіру, жалғау амалдарының таңбасы
( Азайту, алу амалдарының таңбасы
( Көбейту, қиылысу амалдарының таңбасы
Бөлу амалының таңбасы
= Логикалық теңдік, тұрақтылар мен типтерді сипаттау элементі
Логикалық теңсіздік
"Кіші" және "үлкен" логикалық қатынастар
= "Кіші немесе тең" логикалық қатынасы
= "Үлкен немесе тең" логикалық қатынасы
. Программа не модуль соңы, ондық бөлшектегі айыру таңбасы
, Тізім элементтерін айыру таңбасы
' Жол тұрақтысын шектеу таңбасы
: Айнымалыларды сипаттау, экранға шығару пішімінің элементі
; Сипаттауда және экранға шығаруда айнымалыларды айыру
.. Мәндердің өзгеру аралығын көрсету белгісі
:= Айнымалыға өрнек мәнін меншіктеу
( Арифметикалық және логикалық өрнек жақшалары
)
[ Массив элеметттерінің индексін бөлу, аралғын көрсету
]
{ }Түсініктемелер жазу үшін пайдаланылатын жақшалар
(( ()Түсініктемелерді шектеу белігілері

Қызметші сөздер мен арнайы символдар программа құру үшін жеткіліксіз
болып табылады. Сондықтан да, Паскаль тілінде арнайы операторлар,
стандартты модулдерде топтастырылған стандартты процедуралар мен функциялар
кеңінен пайдаланылады. Олар туралы кейінірек әңгіме етпекпіз.
Паскаль тілімен алғашқы танысуды

функциясының мәнін есептейтін жай программадан бастайық:

Program Fun; {программа тақырыбы}
const
a=5; {тұрақтыларды сипаттау}
var
x,y: integer; {айнымалыларды сипаттау}
begin
write('x='); {программа басы}
readln(x); {экранға мәтін шығару}
y:= a*sqr(x); {x айнымалысына мән енгізу}
writeln('y=',y); {y айнымалысына өрнек мәнін меншіктеу}
end. {экранға мәтін және айнымалы мәнін шығару}
{программа соңы}

Бұл программада кездесетін ағылшын сөздерінің аудармасы:

Program программа
const (constants) тұрақтылар
var (variables) айнымалылар
integer бүтін
begin басы
readln оқу
writeln жазу
end соңы

Программа мәтіні компьютер жадында мәтіндік файл (кеңеюі .pas) түрінде
сақталады. Компиляциядан кейін мәтін машиналық командалар тіліне аударылып,
орындалатын файл (кеңеюі .exe) жасақталады. Мәтіндік файлды кезкелген
мәтіндік редактормен өзгертуге болады, содан соң ол тағы да компиляциядан
өтуі керек. Тәжрибеде, программа мәтінін де, орындалатын файлды да
программа деп түсінеді. Сондықтан, ілгеріде программа мәтіні деудің орнына
программа деп жазамыз. Программа тақырыбы Program қызметші сөзінен және
программа атауынан тұрады. Атау – латын әріптерінен, цифрлардан, астын сызу
белгілерінен ғана тұратын, саны 63-тен аспайтын символдар жолы. Сонымен,
программа тақырыбының жазылуы:

Program программа атауы;

Ескерту. Турбо Паскалда программа тақырыбын жазбай кетуге де
болады. Тақырыптан кейін, программада пайдаланылатын белгілерді,
тұрақтыларды, типтерді, айнымалыларды, ішкі программаларды және т.б.
сипаттаулар бөлімі орналасуы тиіс. Содан кейін, міндетті түрде, операторлар
бөлімі болуы тиіс. Операторлар бөлімінің басына begin, ал аяғына end
сөздері жазылып, соңына нүкте қойылуы шарт. Программа құрылымы 1.1 суретте
бейнеленген.
Program at_1;
Сипаттаулар бөлімі
begin
Операторлар бөлімі
end.

1. сурет. Паскаль тіліндегі программа құрылымы
Программада операторлар бір, не бірнеше жолдарға жазылып, нүктелі
үтірлермен айырлады. Қатар тұрған екі айыру таңбасының арасында бос
оператор бар деп есептелінеді. Программа мәтінін құрғанда, оның бөлім-дері
мен күрделі элементтерінің құрылымы айқын көрінетіндей етіп жазу,
сауаттылықты көрсетіп қана қоймайды, оны оқуды да, жаңартуды да бір-шама
жеңілдетеді. Ол үшін үзіктерді, жол шегіністерін, бос жолдарды және
түсініктемелерді керегінше, ретімен пайдаланып отырған жөн. Күрделі
программаны баптау кезінде бір, не бірнеше операторларды фигуралық
жақшалармен қоршау арқылы, олардың орындалуын уақытша тоқтату тәсілі жиі
қолдданылады.
□ Айнымалыларды сипаттау мына түрде жазылады:

var a_1 , a_2 , ... , a_m : type_a;
b_1 , b_2 , ... , b_n : type_b;
. . .
c_1 , c_2 , ... , c_k : type_c;

Мұнда type_a , type_b, ... , type_c – типтеріне жататын айнымалылардың
бірнеше тізімі келтірілген. Сипаттауда, әрбір ортақ типтің айнымалылары-ның
аттары үтірлермен айырлып, соңғы аттан кейін қос нүкте жазылады. Сонан соң,
тип аты жазылып, нүктелі үтір қойылады. a_1 , a_2 , ... , a_m – type_a типті
айнымалылар тізімі, b_1 , b_2 , ... , b_n – type_b типті айны-малылар тізімі
және т.с.с.
Паскаль – типтерге бай тіл. Әзірше, программалауда жиі қолданыла-тын
үш типпен танысайық:
integer – [-32 767, 32 768] аралықтағы мәндерді қамтитын бүтін
сандардың стандартты типінің аты. Осы типтің айнымалылары көрсетілген
аралықтағы кезкелген бүтін мәндерді ғана қабылдай алады.
real – [(2,9(10-39, (1,7(1038] аралықтағы мәндерді қамтитын, нақты
сандардың стандартты типінің аты. Осы типтің айнымалылары көрсетілген
аралықтағы кезкелген нақты мәндерді ғана қабылдай алады.
string – саны 255-тен аспайтын символдар (5 тарауды қара)
тізбегінен тұратын (символдық) жолдардың стандартты типінің аты. Тип
тұрақтылары – екі жағынан апострофпен шектеліп жазылған кезкелген символдар
тізбегі.
Айнымалыларды сипаттаудың мысалы:

var san1, san2 : integer;
audan, kolem : real;
gol: string;

Мұнда san1, san2, audan, kolem - айнымалылыр, ал integer, real олардың
типтері.
□ Тұрақтыларды сипаттау мына түрде жазылады:

const p_1 = mp_1;
p_2 = mp_2;
. . .
p_n = mp_n;

Мұнда p_1, p_2 , ... , p_n - тұрақтылардың аттары, ал mp_1, mp_2,
... , mp_n – олардың сәйкес мәндері. Тұрақтыларды сипаттауда олардың аттары
мен мәндерінің арасына теңдік таңбасы қойылады. Паскаль тілінде типті және
типсіз тұрақтылар қолданылады.
Типсіз тұрақтыларды сипаттаудың мысалы:
const gyl = 2003;
g = 9.81;

Ескерту. Программада пайдаланылатын барлық айнымалылар мен тұрақ-тылар
міндетті түрде сипатталуы тиіс.
Дисплей экранының графикалық режимі
Әдетте дисплей экраны екі режимде болады: текстік және графиктік. Екі
режимде де пиксель деп аталатын дисплей экранының физикалық нүктелері
пайдаланылады. Графикалық режимде графикалық нүктелердің өзінің
координаталар жүйесі енгізіледі.
Экрандағы графикалық бейне графикалық экранның буферінің күйіне
байланысты графикалық нүктелердің жарықталуынан қралады. Экран буфері
дегеніміз – бұл графикалық экранда әрбір пиксельдің жарықталыну түсі мен
белгісі кодталған оперативті жадының бөлігі. Пайдаланылған графикалық
экранның режиміне, дисплейдің типіне және жадының көлеміне тәуелді
графикалық экран үшін бір немесе бірнеше буфер ұйымдастырылуы мүмкін.
Мұндай буферлер графикалық экрандық беттер деп аталады. Дербес жағдайда,
физикалық экран тек бір ғана бетпен байланысты болуы мүмкін. Графикалық
информацияны сол мезетте шығаруға бағытталған буфер активті бет (буфер) деп
аталады.
Визуалды, көрінетін бет (буфер) деп сол мезетте физикалық экранмен
байланысты буферді айтады. Активті және визуалды беттердің әртүрлі
буферлері болуы мүмкін. Активті бет визуалды деп аталады. Дәлірек айтсақ,
бет дегеніміз – экранның графикалық информациясы, ал буфер – осы
информацияны кодталған күйінде сақтайтын жады бөлігі.
Текстік экран тәрізді графикалық экранның да курсоры бар.
Графикалық курсордың текстік курсордан айырмашылығы графикалық курсор
барлық уақытта көрінбейді. Графикалық курсор соңғы шығарылған нүктеден
кейінгі нүктеде орналасады. Ол GRAPH модулінің кейбір функияларында
пайдаланылады.

1.2. Turbo Pascal ортасында графикалық режиммен жұмыс
Графикалық режимнің төмендегідей сипаттамалары бар мүмкіндігі
(разрешение), и палитра (бояу түрлері), фонның түсі шығарылатын графикалық
нүктенің түсі, оперативті жадыдан графикалық экрандық беттердің мөлшері.
Бұл сипаттамалар, ең алдымен, дисплейдің техникалық типімен жүйелен
графикалық режимге бөлінген видеожадының көлеміне тәуелді. Дисплей
экранының жұмысын басқаратын техникалық құрылғы адаптер деп аталады.
Қазіргі уақытта кеңінен таралған адаптерлердің түрлеріне: EGA, VGA және
SVGA жатады.
Графикалық режимде экранның жұмысын басқаруға арналған Borland (АҚШ)
фирмасы құрған программа драйверлері пайдаланылады. EGA немесе VGA
адаптерлерін басқару үшін EGAVGA.BGI драйвері пайдаланылады.
Экранның графикалық режимінің мүмкіндігі.
Экранның графикалық режимінің мүмкіндігі экрандағы х, у осі бойынша
орналасатын графикалық нүктелердің мөлшерімен анықталады. Ең жоғарғы
мүмкіндік бір графикалық нүктеге бірнеше пиксель пайдаланылса, онда
мүмкіндік төмендегідей болады. Сонымен, графикалық нүктеге пиксель
қаншалықты көп пайдаланылса, соншалықты экранның графикалық режимінің
мүмкіндігі төмен болады. Әдетте, бір нүктеге бір пиксельден келетін жоғары
мүмкіндікті режим пайдаланылады.
Графикалық экранның мүмкіндігі дегеніміз – бұл экранға шығарылатын
бейненің дәлдігі. Мысалы, экранға графикалық бейнелерді шығару мүмкіндігі
қаншалықты жоғары болса, функциялардың графигін соншалықты дәл тұрғызуға
болады.
Графикалық режимдегі политра.
Политра (бояулар) дегеніміз – бұл графикалық режимге арналған түстер
жиынтығы. Режимге арналған бірнеше политралар бар, бірақ әдетте стандартты
16 түр пайдаланылады (егер адаптер EGA немесе VGA болса).
Black -0 -қара DarkGray -8 -қара-сұр

Blue -1 -сұр LightBlue -9 -ашық көк
Green -2 -жасыл LightGreen -10 -ашық жасыл
Gegan -3 -көгілдір LightGtgan -11 -ашық көгілдір
Red -4 -қызыл LightRed -12 -алқызыл
Magenta -5 -күлгін LightMagentra -13 -таңқурай түс
Brown -6 -қоңыр Yellow -14 -сары
LightGray -7 -ақ-сұр White -15 -ақ
Кестеде келтірілген түстердің ағылшынша атауларының номерлері GRAPH
модулі үшін тұрақты (константа) болып есептеледі. Алғашқы 8 түсті (0..7)
фонның түсі үшін де, шығару түсі үшін де пайдалануға болады, ал қалған
түстер (8..15) тек графикалық бейнелерді шығару түсі үшін ғана
пайдаланылады.
Экранның беттер мөлшері.
Экрандық режимнің графикалық экрандық беттерге арналған бір немесе
бірнеше буфері болады.
Ең жоғарғы мүмкіндікті режимде тек бір ғана графикалық экрандық бет
болады, яғни оны кодтау үшін үлкен жады көлемін қажет етеді. Сөйтіп, х осі
бойынша 640 нүкте, у осі бойынша 480 нүкте және 16 түсті бояу политрасы
графикалық бетке арналған буферлік жадыдан 15 Кбайт орын алады.
Экрандық бет графикалық режимде экранға шығару буферінде кодталады. Онда
экранның барлық графикалық нүктелерінің ағымдағы күйі сипатталады. Нүктенің
күйі оның жану белгісімен және шығаруға арналған түстің номепімен
кодталады. Егер белгі нольге тең болса, онда барлық пиксельдер фонның
түсімен жарықталынған. Егер белгі 1-ге тең болса, онда ол шығару түсінің
номерімен жарықталынған графикалық бейнелерді шығаруды драйвер белгі мен
шығару түсін бүфердегі экранның активті бетінің сәйкес нүктелерінің байтына
жазады. Егер режимнің бірнеше экрандық беті болатын болса, онда бейнені
шығаратын бір бетті активті, ал қалған беттерді визуалды жасауға болады.
Қру аяқталғаннан кейін, активті бет визуалданып, бейне лезде физикалық
экранда пайда болады.
GRAPH модулінде беттерді басқару үшін екі процедура пайдаланылады:
SETACTIVAGE (N бет) – бетті активті жасауға арналған.
SETVISUALPAGE (N бет) – бетті визуалдандыруға арналаған.
Сонымен, режимдердің мөлшері мен олардың сипаттамалары дисплеймен, оның
адаптерімен анықталады. GRAPH модулі графикалық режимде барлық шыққан
дисплей адаптерлерінің жұмысын сүйемелдей алады. ( Әртүрлі адаптерлердің
режимдері туралы толық информацияны орнатылған анықтамалығынан немесе
анықтамалық әдебиеттерден алуға болады ).
VGA адаптерінің режимі үшін қысқаша нұсқау берейік:
VGAo =0-VGA-ға арналған ең төменгі мүмкіндікті графика ( 640 х 200 нүкте,
16 түс, 4 бет);
VGAMED =1 – VGA-ға арналған орташа мүмкіндікті графика ( 640 х 350 нүкте,
16 түс, 2 бет );
VGAH =2 – VGA-ға арналған жоғары мүмкіндікті графика ( 640 х 480 нүкте,
16 түс, 1 бет );
Графикалық режимді тағайындау және одан шығу.
Жалпы алғанда, компьютерде негізгі екі экран режимінің жұмысы – символдық
және графикалық экран режимдері пайдаланылады. Компьютерді қосып, Турбо
Паскаль жүйесін шақырғанда текстік режимде жұмыс істейді. Графикалық
режимді алу үшін GRAPH.TPU модулін ( Uses GRAPH – пен бірге ) қосып,
керекті графикалық режим INITGRAPH процедурасымен инициализация жасалуы
қажет. Режимді инициалазациялау дегеніміз – дисплей адаптерінің жұмысын
берілген графикалық режимнің күйіне келтіру, яғни физикалық экранды осы
режимнің жұмысына көшіру. Осы режимді тағайындағаннан кейін GRAPH модулінің
барлық командаларын пайдалануға болады.
Графикалық режимнен шығу үшін Closegraph проедурасы пайдаланылады.
Графикалық режимді инициализациялау INITGRAPH (драйвер,режим,жолы)
операторымен орындалады: мұндағы (драйвер - графикалық драйверге арналған
integer типті айнымалы: режим - адаптердің жұмыс режиміне арналған
integer типті айнымалы (тағайындалатын графикалық режимнің номері); жолы
- графикалық драйвердің файлына баратын жолды көрсететін string типті
өрнек.
Ескерту.
1. Драйвердің типі адаптердің типіне сәйкес келуі тиіс.
2. Драйвердің параметрі әдетте detect функциясымен беріледі; яғни
драйверді автоматты түрде анықтау, - оны GRAPH модулінің тұрақтысымен
беруге болады, мысалы, VGA немесе 9. Detect функциясын пайдаланғанда
жоғары мүмкіндікті режим тағайындалады.
3. Егер драйвер сол қалыпта болатын болса, Турбо Паскаль жүйесінің
фйлдары орналасқан каталогта болса, онда бос жол деп, яғни '' – 2
апострофпен көрсетуге болады.
Графикалық режимнің тағайындалуының нәтижесі екі функция модулінің
мәндерінен көрінеді: GRAPHresult:nteger, аргументсіз, инииализация
нәтижесінің коды үшін және GRAPHerror (қате коды): string –
инииализация қатесінің себебін ағылшын тілінде хабарлау үшін.
GRAPHresult функциясы кез келген функция немесе проедура модульдерінің
орындалуындағы қатенің кодын береді. Код мәндері: 0...14. Егер код нольге
тең болса, онда орындалуда қате жоқ. GRAPHresult = 0 графикалық режимінің
дұрыс тағайындалғандығын көрсетеді, яғни қатесіз тағайындау; код – 3 – BGI
графикалық драйверінің табылмағандығын көрсетеді. Көпшілік жағдайда
тағайындаудағы қате – GRAPH модулінің немесе драйвер файлының активті
каталогта орналаспағандығынан болады.
Тілді жаңадан үйренушілер үшін графикалық режимді төмендегідей
тағайындауды ұйымдастырған дұрыс:
1) Турбо Паскаль жүйесінің файлдары орналасқан каталогта GRAPH.TPU,
TURBO.TPL және BGI драйвер файлының бар екендігіне көз жеткізу
қажет. Егер қандай да бір файл болмаса, онда оны сол каталогқа
көшіліріп жазу қажет.
Программада инициализаия жасу үшін мынадай операторлар мен сөйлемдерді
жазу қажет.
YSES CRT, GRAPH;
Var driver6 regim, error: integer;
S: char;
...
Driver: = detect;
INITGRAPH (driver, regim, ''),
Error. = Graphresult;
If error 0 then
Begin
Writeln ('Графикалық режимде қате бар!');
Writeln ('tokta'),
S: = readkey
End;
...
Ескерту. CRT модулін қосу компьютердің жұмысын басқару саймандарын және
графикалық режимдегі экран жұмысын басқаруға мүмкіндік береді. Мысалы,
Readkey, Keypressce функцияларымен DELAY процедуралары тәрізді. Осындай
инициализациядан кейін, driver – драйвердің типін, номерін алады, ал regim
– жоғары мүмкіндік режимін алады. Егер VGA адаптері мен EGAVGA.BGI
драйвері пайдаланылса, онда driver =9, ал regim = 2 болады.
GRAPH модулінің жалпы сиппаттамасы.
GRAPH модулі IBM – типтес дербес компьютерлердің графикалық
адаптерлерімен жұмыс істеуіне есептелінген, графикалық процедуралар мен
функциялардың, тұрақтылардың, айнымалылар мен типтердің қуатты кітапханасы
болып табылады. TurboPaskal -7.0 ортасын қолданатын Паскаль тілінде
програмаллауда GRAPH модулінің 132 тұрақтысы, 7 қосымша типі, 2 айнымалысы,
57 процедурасы және 22 функциясы пайдаланылады.
Турбо Паскалда графикалық драйверлер деп аталатын арнайы программалар (
BGI – файлдар ) видеоадаптерлерінің қалыпты жұмысын басқарады:
драйверлер видеоадаптерлер
CGA.BGI CGA,MCGA
EGAVGA.BGI EGA,VGA
HERC.BGI Hercules (монохромды)
ATT.BGI AT&T 6300 (400 жол)
PC3270.BGI 3270 PC
IBM8514.BGI IBM - 8514

Көптеген видеоадаптерлер монитордың көрсету мүмкіндіктерін өзгерте алатын
бірнеше графикалық режимде жұмыс жасай алады. Мәтіндік режимде экранда
40(80) х 25 символ бейнелеуге болатын болса, графикалық режимде онда
бейнеленетін ең кіші объект – графикалық нүкте – пиксел деп аталынады.
Мысалы: көп қолданылатын VGA адаптерінің қалыпты режимінде экранда 640 х
480 пиксел көрінеді және олардың 16 түсін айыруға болады.
● UsesGraph операторын программа басына орналастырғанда ғана GRAPH
модулінің қызметін толық пайдалануға мүмкіндік бар.
● InitGraph (Gd, Gm, 'c:\TP7') процедурасы дербес компьютерге қойылған
видеоадаптерді автоматты түрде тауып, сәйкес графикалық драйверді іске
қосады және оын графикалық режимге көшіреді.
Мұнда 'c:\TP7' – драйвер файлына апаратын жол. Графикалық драйверлерді
анықтау (Gd) және олардың жұмыс режимдерін қою (Gm) тұрақтылары (
тәжірибеде жиі пайдаланылатын режимдер ) төмендегі кестеде берілген:

Gd Gm
Detect EGALo =0 {640х200: 16 түс; 4 бет}
=0
CGA EGAHi =1 {640х350; 16 түс; 2 бет}
=1
MCGA =2 EGA64Lo =0 {640х200; 16 түс; 1 бет}
EGA EGA64Hi =1 {640х350; 4 түс; 1 бет}
=3
EGA64 =4EGA MonoHi =3 {640х350,64К:1 бет; 256К:2
бет}
EGAMono =5 VGALo =0 {640х200; 16 түс; 4 бет}
IBM8514 =6 VGAMed =1 {640х350; 16 түс; 2 бет}
HereMono =7 VGAHi =2 {640х480; 16 түс; 1 бет}
ATT400 =8PC3270Hi =0 {720х350; 1 бет}
VGA IBM8514Lo =0 {640х480; 256 түс}
=9
C3P270 IBM8514Hi =1 {1024х768; 256 түс}
=10

• GraphResult функциясының нолден озге мәні ( қателік коды ) режимге көшу
қателігін көрсетеді.
• CloseGraph процедурасы графикалық драйверді жадтан шығарып,
видеоадаптердің мәтіндік режиміе қалпына келтіреді.

II. ГРАФИКАМЕН ЖҰМЫС

2.1. Графикалық экран мен элементтердің параметрлерін қою функциялары
Графикалық режимді тағайындағаннан кейін пайдаланушы өзінің жұмысы үшін
әртүрлі команда пайдаланады. Бұл командалар қызметі бойынша төмендегідей
топталады:
- графикалық экранды басқару үшін;
- графикалық информацияны өндеу және шығару үшін;
- графикалық режимде текст шығару үшін.
Графикалық экранды басқару командалары:
- пайдаланылған адаптер мен драйвер туралы информация алу;
- графикалық режимдердің мөлшерін және сипаттамаларын білу;
- графикалық экранның жұмысына қажетті режимді тағайындау;
- экранның графикалық беттерін басқару;
- графикалық информациямен шығаруға арналған терезені іске қосу және
ажырату;
- графикалық информациямен шығару және фон түстерін басқару;
- экранды графикалық курсормен басқару;
- экранды немесе терезені тазарту жатады.
Графикалық информациямен енгізу және шығару командалары:
- графикалық экранға нүкте, кесінді, тіктөртбұрыш, қисық сызық, шеңбер,
эллипс, доға эллипс және шеңбер секторларын шығару процедуралары;
- динамикалық жадыға графикалық экранның бөліктерін бейнелерімен сақтау
және оны қайтадан экранға шығару;
- экрандағы тұйықтары берілген түстермен бояу немесе штрихтау.
Графикалық режимде экранға текст шығару командалары – графикалық экранға
string типті текст жолын шығаруға мүмкіндік береді.
GRAPH модулінің командалары графикалық экранда кез келген бейнені
тұрғызуға мүмкіндік береді.
Графикалық координаталар жүйесі.
Графикалық координаталар экрандағы нүктенің ( пикселдің ) орнын
анықтайды. Графикалық координаталар ретінде пикселдердің реттік номері
алығады. Мысалы, 640 х 480 режимінде х, у координаталры 0 ≥ х ≥639, 0 ≥ у ≥
479 аралықта болады. х координатасының мәні оңға, ал у координатасының мәні
төмен қарай өседі. х, у шектеулі бүтін мәндерді қабылдайды.
(0,0)

Нүктені экранда бейнелеу үшін оның декарттық ( х, у ) координаталарын
графикалық ( х, у ) координаталарға
x = mx · x + dx,
y = ry – my · y – dy
формалаларын қолданып түрлендіруге болады. мұндағы dx және dy кескіннің
экранның сол жақ жоғарғы шетіне қарағандағы ығысуын қамтамасыз етеді, ал
mx, my айнымалыларының мәндері
rx = mx · x + 1,
ry = my · y + 1
шарттарын қанағаттандыру тиіс ( х және ү декарт координаталарының ең
үлкен мәндері ). Мысалы, кескінді экранның центріне орналастыру қажет болса

dx = rx div 2, d = ry div 2
деп аламыз.
Графикалық экранды басқарудың негізгі командалары.
Графикалық экранды басқарудың мынадай командалары бар:
- INITGRAPH – графикалық режимді тағайындау;
- DETECT – графикалық драйверді автоматты түрде анықтау;
- CLOSEGRAPH – графикалық режимді жабу;
- SETGRAPHMODE – жаңа графикалық режимді тағайындайды;
- SETGRAPHMODE режим , мұндағы режим – код немесе режим номері.
- CLFARDevise – процедурасы – графикалық экранды тазалайды;
- CLFARDevise – форматы;
Экранның барлық түзетулері, бастапқы қалыпқа келтіріліп, курсор экранның
0,0 нүктесіне келеді.
SetViewPort процедурасы тіктөртбұрыш терезені тағайындайды. Форматы:
SetViewPort (х1, у1, х2, у2, қиық );
Мұндағы х1, у1, х2, у2 – тіктөртбұрыштың сәйкес сол жақ жоғарғы және оң
жақ төменгі координатасы, типі integer; қиық - типі boolean, егер
true мәнін қабылдаса, терезе шекарасымен өтеді; ал false мәнін қабылдаса
керісінше.
ClearViewPort процедурасы – терезені тазалайды;
GetMaxX және GetMaxY функциясы – тағайындалған графикалық режимде
экранның х және у осьтері бойынша ең үлкен координатасының мәнін анықтайды.
Типі integer, форматы: GetMaxX GetMaxY.

Функция Қызметі
Ф: GetMaxX : integer Экранның жатық жолы бойынша ең үлкен
пиксел санын береді.
Ф: GetMaxY : integer Экранның тік жолы бойынша ең үлкен
пиксел санын береді.
Ф: GetХ : integer Көрсеткіштің ағымдағы х
коордигатасын береді.
Ф: GetУ : integer Көрсеткіштің ағымдануы координатасын
береді.
Ф: GetColor : word Суреттің ағымдық түсін береді.
Ф: GetBkColor : word Төсектің ағымдық түсін береді.
Ф: GetMaxColor : word SetColor процед. Пайдаланылатын
түстің ең көп нөмірін береді.
Ф: GetPixel (x, y: integer) : word (х, у) координаталарымен бнрілген
пикселдің түсін береді.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Turbo Pascal программалау тілі
Турбо Паскаль тіліндегі мәліметтер типі
Turbo Pasсal – программалау тілі
Turbo Pascal жүйесінде файлдармен жұмысты ұйымдастыру технологиясы
Орта мектепте программалау негіздерін оқыту
Веб – дизайн негіздері
Типтелген файл
Паскаль тілінің операторлары
Turbo Pascal 7.0 интегралдық программалау ортасын пайдалану
Turbo pascal программалау тілі туралы
Пәндер