Паскаль програмалау тілі туралы түсінік

Мазмұны

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ... 3

1 Турбо Паскаль програмалау тілі туралы түсінік ... ... ... ... ... ... ... ... ... . 4
1.1. Программа туралы түсінік ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...4
1.2.Турбо Паскаль программалау тілінің негізгі элементтері ... ... ... ... ... .4
1.3.Турбо Паскаль программалау тілінің құрылымы ... ... ... ... ... ... ... ... ..6

2.Турбо Паскаль праграммалау тіліндегі графиктік режим ... ... ... ... ... ... 8
2.1. Graph модулі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .8
2.2.Экранды басқаратын процедуралар ... ... ... ... ... ... ... ... ... ... ... ... ... ... .16
2.3.Графиктік режимде қолданылатын процедуралар мен функциялар ... 19

3. Турбо Паскальда графикалық обьектілерді қозғалту ... ... ... ... ... ... ... ..24
3.1.Обьектілерді қозғалту ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..24

Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...27

Пайдаланылған дерек көздер тізімі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 29

Практикалық бөлім ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..30
Кіріспе

Тақырыптың өзектілігі: Бүгінгі менің курстық жұмысымның тақырыбы «Турбо Паскальда обьектілерді қозғалту». Бұл кадрларды қозғалтуда мен арнайы объектілерді қозғалтуға арналған Turbo Pascal атымен аталатын программалау тілін қолдандым. Бұл програмалау тілінінің соңғы версиясын пайдаланған өте тиімді деп ойлаймын. Себебі Turbo Pascal арқылы экран бетіне тек әріптік- сандық мәліметтерді шығарып қана қоймай, сонымен бірге графиктік мәліметтерді, мысалы схемалармен сызбаларды шығаруға болады.
Graph модулінде қолданылатын процедуралар мен функциялар графиктік режимде негіз болып табылады.
Қазіргі ғылыми-техникалық даму кезеңінде инженерлік, экономикалық, басқару, ғылыми және басқа түрлі есептерді тиімді түрде шешу, медициналық болжам қою және т.б зерттеу нәтижелерін жоғары дәлдікпен анықтауды сонымен қатар объектілерді, кадрларды және де басқа графикалық схемаларды сызуда арнайы электронды-есептеуіш машиналарынсыз ұйымдастырып, қолданып нәтижесін алу мүмкін емес. Өйткені барлық деңгейдегі мамандар, студенттер өз білімін одан әрі тереңдетуге жыл сайын дамып отырған электронды –есептеуіш машинасымен жүзеге асыруда. Соңғы жылдары есептеуіш техниканың қарқындап дамуына байланысты, осы курстық жұмысқа Турбо Паскальдың соңғы версиясы тікелей қатысты.
Курстық жұмысымның тақырыбы: «Турбо Паскальда обьектілерді қозғалту». Курстық жұмысым кіріспеден, 3бөлімнен, қорытындыдан, және пайдаланылған дерек көздер тізімінен, практикалық бөлімнен тұрады.

Зерттеу мақсаты: Студенттерге Graph модулінің мүмкіншіліктерін, графиктік режимде жұмыс жасап, түрлі сызбалар, нүктелер, обьектілерді құрып, оларды қозғалтуға болатыны туралы мағұлмат беріп таныстыру.

Міндеттері:
- Турбо Паскаль програмасын оқыту;
- Графикалық мүмкіншіліктерімен танысу;
- Процедуралар мен функцияларды қолдана отырып есептер шығару;
-
Зерттеу обьектісі:Алия Молдағұлова атындағы Актөбе гуманитарлық колледжінің компьютер классында өткізілді.

Зерттеудің ғылыми болжамы: Паскаль тілінің оңайлығы оның алгаритмдік тілге ұқсастығында. Бұл тілде программа жазуды оңайлататын көптеген стандарт модульдері мен библиотекалары бар. Жәнеде қолданушы өз модульдерін жазып оларды библиотекаларға біріктіре алады. Паскаль тілі берілгендерді динамикалық түрде де көрсетуге мүмкіндік береді.
Кез келген программист жүйемен практикалық жұмысқа кірісуде, алдымен Турбо Паскаль ортасымен соқтығысады. Себебі, жоғарыда айтып кеткендей, Паскаль тілі кез-келген саладағы күрделі есептері шешу үшін пайдалануға болатын кең таралған стандартты программалау тіліне айналды.

Зерттеу әдістері: Турбо Паскальда әр түрлі граф бейнелерді салыстыру арқылы қарастырдым. Талдау, практикалық, қорытындылау.
Пайдаланылған дерек көздер тізімі.

1. Абрамов А.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. М., Наука, 1988.
2. Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию. М., Наука, 1988.
3. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М., Мир, 1979.
4. Вирт Н. Алгоритмы и структуры данных. М., Мир, 1989.
5. Епанешников А., Епанешников В. Программирование в среде Turbo Pascal 7.0. М., Диалог-Мифи, 1993.
6. Зуев Е.А. Система программирования Turbo Pascal. М., Радио и связь, 1992.
7. Зуев Е.А. Программирование на языке Турбо-Паскаль 6.0,7.0. М. Радио и связь. Веста. 1993.
8. Йодан Э. Структурное программирование и конструирование программ. М.: Мир, 1979.
9. Кенин А.М., Печенкина Н.С. Работа на IBM PC. М., АО "Книга и бизнес", 1992.
10. Кнут Д. Искусство программирования на ЭВМ. М.: МИР, т.1, 1976; т.2, 1977; т.3, 1978.
11. Абралеов С.А. Зима Е.В. Начало программирования на языке Паскаль М.1987 г.
12. Бөрібаев Б., Нақысбеков Б., Мадиярова Г. «Информатика және есептеуіш техника негіздері» Алматы «Мектеп» 2005 ж.
13. Бурин Е.А «Программирование на языке Турбо Паскаль» Уч. Пособие, АГУ, Алматы, 2000г.
14. Гусева А.И. «Учимся информатике: задачи и метод их решения» М:. Диалог – МИФИ, 1999 г.
15. Зуева Е.А. «Система программирования Турбо Паскаль»
16. Культин Н.Б. «В Turbo Pascal 7.0 и Delphi» Дюссельдарф Киев, Москва Санкт-Петербург 1999г.
17. Қазақша-орысша, орысша-қазақша теминологиялық сөздік «Информатика және есептеуіш техника» Алматы «Рауан» -1999ж.
18. Немнюгин С.А. «TURBO PASCAL Практикум 2-е издание» Питер 2005г.
        
        Қазақстан Республикасы Білім және Ғылым министрлігі
Ақтөбе гуманитарлық колледжі
КУРСТЫҚ ЖҰМЫС
(Алгоритмдеу және бағдарламалау негіздері пәні ... ... ... ... ... ... және ақпараттық жүйелер
пәндер бірлестігінің жетекшісі
____________А.Ж.Бөрібай
қолы
« ____» ______________ 2010ж
Ақтөбе 2010ж.
Мазмұны
Кіріспе.....................................................................
..................................... ....3
1 ... ... ... тілі ... 4
1.1. ... ... ... ... ... ... ... ... ... ... ... праграммалау тіліндегі ... Graph ... ... ... ... процедуралар мен функциялар....19
3. ... ... ... ... ... ... дерек көздер
тізімі................................................................29
Практикалық
бөлім.......................................................................
...................30
Кіріспе
Тақырыптың өзектілігі: Бүгінгі менің курстық жұмысымның ... ... ... ... Бұл ... ... ... объектілерді қозғалтуға арналған Turbo Pascal атымен аталатын
программалау тілін қолдандым. Бұл ... ... ... ... өте тиімді деп ойлаймын. Себебі Turbo Pascal арқылы экран
бетіне тек ... ... ... ... қана ... ... ... мәліметтерді, мысалы схемалармен сызбаларды шығаруға болады.
Graph модулінде қолданылатын ... мен ... ... ... болып табылады.
Қазіргі ғылыми-техникалық даму кезеңінде инженерлік, ... ... және ... ... есептерді тиімді түрде шешу, медициналық
болжам қою және т.б зерттеу ... ... ... анықтауды сонымен
қатар объектілерді, кадрларды және де басқа графикалық ... ... ... ... ... ... ... мүмкін емес. Өйткені барлық деңгейдегі мамандар, студенттер өз ... әрі ... жыл ... ... отырған электронды –есептеуіш
машинасымен жүзеге асыруда. ... ... ... техниканың қарқындап
дамуына байланысты, осы курстық жұмысқа Турбо Паскальдың ... ... ... ... тақырыбы: «Турбо ... ... ... ... ... ... қорытындыдан, және
пайдаланылған дерек көздер тізімінен, практикалық бөлімнен тұрады.
Зерттеу мақсаты: Студенттерге Graph ... ... ... жұмыс жасап, түрлі сызбалар, нүктелер, обьектілерді
құрып, оларды ... ... ... ... беріп таныстыру.
Міндеттері:
- Турбо Паскаль програмасын оқыту;
- Графикалық мүмкіншіліктерімен танысу;
- Процедуралар мен ... ... ... ... ... ... Молдағұлова атындағы Актөбе гуманитарлық
колледжінің компьютер классында өткізілді.
Зерттеудің ғылыми болжамы: ... ... ... оның ... ұқсастығында. Бұл тілде программа жазуды оңайлататын көптеген
стандарт модульдері мен библиотекалары бар. ... ... өз ... ... ... ... ... Паскаль тілі берілгендерді
динамикалық түрде де көрсетуге ... ... ... программист жүйемен практикалық жұмысқа кірісуде,
алдымен Турбо Паскаль ортасымен соқтығысады. Себебі, ... ... ... тілі ... ... ... ... шешу үшін
пайдалануға болатын кең таралған стандартты программалау тіліне айналды.
Зерттеу ... ... ... әр түрлі граф бейнелерді
салыстыру арқылы қарастырдым. Талдау, практикалық, қорытындылау.
1.Турбо Паскаль програмалау тілі туралы түсінік.
1.1.Программа туралы ... ... ... ... ... бірі- Паскаль тілі. Оны
оқып ... және ... ... өте ... ... жеңіл. Паскаль
программалаудың структуралық тәртібін және программалаудың басқа тілдерге
қарағанда мысалы,Бейсик тіліне қарағанда ... ... ... Оның қызықты рекурсивтік мүмкіндіктері,сонымен қатар әділ жөн
сілтеу технологиясы да қолдау жасап отыр.
Енді бірер ауыз сөз ... ... ... ... ... ... ... жылдары өңделді. Паскаль ... ... ... Оны ... ... ... ... профессоры
Никлаус Вирт болды. Ол бұл тілді дүние жүзінде алғаш есептеу машинасын
жасаған ұлы ... ... Блез ... ... ... деп атаған.
Паскальдың туған уақыты 70 жылдардың басы болатын. АЛГОЛ-мен ... ... әрі өте ... ... жоқ ... нәрселердің барлығы
Паскальда бар. Онда көптеген жақсы өңделген мәліметтер және қорытылып ... ... ... бар.
Турбо Паскаль Borland фирмасының кеңейтілген стандартты тілі болып
табылады,сонымен қатар интегралдау ... ... және ... ... ... ... сақтайды. Турбо Паскаль 7.0 пайда
болғанша,бұл программалық өнім жеті ... ... ... ... ... негізгі элементтері.
Программалау ортасында негізгі жұмыс пернетақтасы немесе маус көмегімен,
меню жүйесі және сұхбат терезелер арқылы жүзеге асады.
Паскаль ... ...... терезе элементтерінен құрылады:
➢ Меню қатары
➢ Терезе номері
➢ Программаны редакторлеу терезесі
➢ Қалып күй қатары.
Меню қатары
ТУРБО ПАСКАЛЬ жүйелік меню ... ... ... тұрады: File, Edit,
Search, Run, Compile, Debug, Tools, Options, Windows, Help.
Fail(файл) ішкі ... Open, Save, Save аs, Save all, Change dir, Change ... Revert ... Print, Printer setup, Dos shell, ... ішкі менюі
Undo, Redo, Cut, Paste, Copy, Clear, Show clipboard.
Search ішкі менюі.
Find, Direction,Forward, Backward, Scope, From curso, Entire ... Search again, Go to line number, Show last compiler error, ... Find ... (орындау) ішкі менюі
Run, Step over, Trace into, Go to cursor , Program reset, Parameters.
Compile ішкі менюі
Compile, Make, Build, Destination, Primary file, Clear primary file ... ... ішкі ... Call stack, ... Watch, Output, User ... Expression, Result, New value, Add watch, Add breakpoint
Condition, Pass ... name, Line ... ішкі ... Go to next, Go to previous, Grep.
Options (опциялар) ішкі менюі
Code generation, Run-time errors, Syntax options, Debugger, ... ... ... ... Display ... None
, Smart, Always, Directories, EXE & TPU directory, Include directories,
Unit ... Object ... Tools, ... Preferences,
Screen sized, Source tracking , Auto save, Options, Disktor file, Editor,
Create backup files, Insert mode, Auto indent mode , Use tab ... fill, ... ... Cursor through tabs, Group ... blocks, Overwrite blocks, Colors, Open .
Windows ішкі менюі
Tile, Cascad, Close all, Refresh display, ... Zoom, Next, ... ... (көмек) ішкі менюі
Help (көмек) менюі жұмыс барысында Turbo Pascal туралы (командалар,
меню, программалау және т.б) ... алу ... ... қолданылады.
Терезе номері
Терезенің оң жақ жоғарғы жетінде орналасады және File менюіндегі ... жаңа ... ... ... ... ... ... орнына реттелген сандарда бірге өзгеріп отырады.
Программаны редакторлеу терезесі
Программаны редакторлеу терезесінде Turbo Pascal ... ... ... ... ... күй ... күй ... F1 Help, F2 Save, Ғ3 Open, Alt+F9, Compile F9
Make Alt+F10 Local menu командалары орналасқан.
1.3. Турбо Паскаль программалау тілінің құрылымы.
Программа ... ... және ... ... құрылады.
Программа тақырыбы: program кілттік сөзінен және қолайлы ... ... (input ... ... (блок) алты бөліктен құрылады:
- белгілерді сипаттау бөлімі;
- тұрақтыларды сипаттау бөлімі;
- мәліметтер ... ... ... ... ... бөлімі;
- процедуралар және функцияларды сипаттау бөлімі;
- операторларды сипаттау бөлімі.
Бөліктердің орналасу ... ... ... ... ... басқасы) жоқ бола алады.
Белгілерді сипаттау бөлімі
label (қызметші ... ... ... үтір ... ... label 3, 11 , 48, ... ... бөлімі
const (қызметші сөзі)
Әрбір тұрақтыны анықтау үшін қандайда бір тұрақты мәнді белгілейтін
идентификатор ... ... Б ... ... сипаттау бөлімі
tupe (қызметші сөзі)
Жұмыс барысында мәліметтердің стандартты типі жие қолданылады:
byte – бүтін (0-ден 255-дейін)
integer - ... ... ...... ... - нақты (2,9Е-39 дан 1,7Е+38-дейін)
char - символьдық (кез-келген символ. Мысалы: f немесе №)
string – жолдық тип (кез-келген ... 0 ден ... 255 ... – логикалық тип {екі мәнді қабылдайды: FALSE (жалған) және TRUE
(ақиқат)}
Айнымалыларды сипаттау бөлімі
var (қызметші ... ... ... ... барлық типі көрсетілген айнымалылар
болу керек. Бірдей типтегі айнымалылар идентификаторы үтір ... ... kl, l: ... b: ... ... және функцияларды сипаттау бөлімі
Бөлімде бірнеше процедуралар және функциялар болуы мүмкін. ... ... ... ... ... Function сөзінен басталады..
Процедура және функцияның құрылымы өзінше бір ... ... ... ... денесі
end.
2. Турбо Паскаль праграммалау тіліндегі графиктік режим.
2.1.Graph модулі
Ол процедуралар мен ... ... ... ... үшін ... ... ... орындау қажет:
USES қызметші сөзінде GRAPH модулі жазылады:
USES Graph;
VAR
d1,d2:Integer;
BEGIN
dl:=Detect;
I ... d2, ... - ... ... орнату процедурасы,
d1- графиктік режим драйверініңтипін,
d2 - видеоадаптердің жұмыс режимінің нөмірін анықтайтын тұрақтылар.
Бұл ... ... мен ... ... ... ... ... графиктік режим драйверінің типіне Detect стандартты тұрақты
шамасы берілсе, онда InitGraph процедурасы автоматты түрде ... ... ... типін және монитор мен ... ... ... ... ... ... ... алады. Апострофтардың ішінде
орналасқан үшінші параметр Graph.tpu файлының дискіде орналасқан жолын
көрсетеді. Егер ол Turbo Pascal ... ... Turbo. Ехе ... ... ... орналасатын болса, онда Graph.tpu файлының орналасқан жолы
орнына бос екі апостроф қойылып кетеді.
Компьютерлерде экран үшін негізінен екі ... ... ... ... және ... . Компьютерді жұмысқа қосқан кезде экран
текстік режимде жұмыс жасап тұрады. ... ... ... ... ... ... жазу үшін, дисплей адаптерін
графиктік режимде жұмыс істеуге даярлау керек.
Адаптерді дисплейдің графикалық ... ... ... қамтамасыз
ететін құрылғысы деп қарастырсақ, бұл құрылғыны іске қосу үшін арнаулы
программалар қажет. Мұндай ... ... ... деп ... әр ... ... мысалы CGA – адаптері, ЕGA- адаптері, VGA-
адаптері және т.б., сол ... ... ... ... ... ... Әдетте бұл драйверлер BGI каталогында жинақталады да және ... файл ... ... ... ... ... графиктік
режимдегі экранның мүмкіндіктері де түрліше болады, мысалы CGA – адаптер
болған жағдайда ... ... ... 320*200 ... үш ... ... ... екі түстен тұрады), ал EGA- адаптер ... ... ... ... және тағы да ... ... палитра-16 түс, 4 беті бар ), (640*350, палитра-16 түс, 1 беті
бар ) / бере ... ... ... ... ... даярлау
• Uses GRAPH бұл сөйлем міндетті түрде программа тақырыбынан
кейін жазылады және ... ... ... GRAPH ... ... Init Graph ... адаптер жұмысындағы графиктік режимді
тағайындайды, процедура тақырыбының жазылуы:
Procedure InitGraph ( var Driver, Mode: integer; Path: String); ... D: ... BP/BGI ... сақталған деп есептесек, онда
драйвер типін автоматты түрде анықтауды жүзеге асыратын программа ... ... ... ... Close Graph ... ... ... режиміндегі жұмысын аяқтап
текстік режимді қалпына келтіреді. Жазылуы: Procedure Close Graph;
• Graph Result процедурасы соңғы ... ... ... ... integer ... ... береді.Егер нәтиже қате
болмаса,онда бұл ... мәні 0-ге тең ... ... ... ... бар
жағдайларда) -1 мен 14-аралығындағы бүтін теріс ... ... ... ... әрқайсысына сәйкес төмендегідей мағынада тексттер
тағайындалған.
CONST
Grok =0; {қате ... -1 ; ... ... тағайындалмаған}
GrNotDetect =-2 ; {драйвер типі анықталмаған }
GrFileFind= -3; {графиктік драйвер табылмады}
GrInvalidDriver=-4; {драйвер типі ... ... ... ... жады ... ... ... жады жетпейді}
GrNoFloodMem=-7; {облысты бояуға жады жетпейді}
Gr onNotFound= -8 ; {шрифт са0тал5ан файл табылмады}
GrNotFondMem= -9 { ... ... жады ... ... -10 { ... ... ... емес}
GrError= -11; {жалпы қате}
GrloError = -12 ; {енгізу-шығаруда қате бар}
GrInvalidFond = -13; ... ... ... ... -14; ... ... ... емес}
• GraphErrorMsg функциясы көрсетілген кодқа сәйкес тексті қамтитын STRING
типті мән береді, тақырыбы: Function ... ... , ... ... ... ... жұмыс жасайтын
программаларда төмендегідей фрагменттің болғаны дұрыс:
USES GRAPH;
VAR
DRIVER, MODE:INTEGER ;
BEGIN
DRIVER=DETECT; {}
INITGRAPH (DRIVER, MODE,’ \BP\BGI’);
Error:= Graph Result; {Нәтиженің кодын ... Error < > Grok Then ... бар ... ... ... ... Қате ... хабарлау
... ... ...
End
Else {қате жоқ, программа әрі қарай жалғаса береді}
... ... ...
Графикалық режимді инициализациялау
Турбо Паскальда графикамен жұмыс ... үшін ... ... ... ... ... (Crt, ... режимдерді
(GraphMode, CloseGraph) қосуымыз қажет.
Графикалық тәртіп инициализациясы Init процедурасы және ... ... ... ... ... ... мынадай түрде
болады:
| InitGraph (Драйвер : Integer; Режим :Integer; драйвер файлына ... ... ... екі ... ... ... графиктік драйверлермен
және режимдермен анықталады. Автоматты драйвер және тәртіппен графикалық
режимді инициализациялау үшін, Detect ... 0 ... ... ... ... ... ... жағдайда болмасын осы жағдайда
өзгертуді талап етпейді.Үшінші параметр String типі Ms-Dos- пен, ... ... ... файлдарында өзімен синтаксистікте
болатын мағына алуы тиіс.
Турбо ... ... ... салу үшін ... ... модулі арналған. Ол әр түрлі адаптерлі дисплейлерде графикалық
режимдерді толығымен ... ... ... ... Ал Crt ... ... ... шығаруды, пернетақтадан
берілгендерді енгізуді, сол сияқты терезелермен жұмыс істеуді, ... мен ... ... ... ... ... ... Сурет;
Uses Graph,  Crt;
Var
GraphDrіver,    {Графикалықдрайвер}                                         
             
Graphmode: іnteger; {Графикалық режим}
Begіn
Clrscr;    {Экранды тазалау}
 GraphDrіver := 0;  {Графикалық ... ашу} ... ... ‘ ‘);  ... ... ... және ... режимге ауыстырады}
  Іf  GraphResult 0 then     {Қате пайда болды}
  Begіn
  Wrіteln;         {Графика қатесінің нициализациясы}
     Wrіteln;      {Программа жұмысын тоқтату}
Halt;     {Тоқтату}
  End;
{Осы жолдан ... ... ... орындау процесі басталады ... {Enter ... ... ... ... ... тұру} CloseGraph;                                           
{Графикалық режимді жабу}
End.
 GraphDrіver сөзін (G) деп, ал GraphMode сөзін (RGM) деп ... ... ... Graph; {Graph ... ... ... { Графикалық драйвер}
GraphMode : Integer ; (Графикалық режим)
Begin
GraphDriver := Detect; ... ... Gm ... ... ... жағдайда қабылданбайды}
InitGraph := (GraphDriver , GraphMode , ... ... ... ... BP ... BGI каталогында}
{С: дискісінде}
{Графикалық әрекет}
Line (0, 0, GetMaxX, GetMaxY);
Readln; {Экранда соңғы суреттің кідіруі}
CloseGraph ; {графикалық ... ... ... және ... ... ... ... кезде қате болса, онда Turbo Pasсal
|Графиканың қате |Қателер |Қате туралы ... ... ... ... | ... |0 ... жоқ ... |-1 ... ... ... |-2 |Графикалық құралдар ... ... |-3 ... ... ... Driver |-4 ... ... ... |-5 ... ... ... |-6 |Жад ... қате ... |-7 ... ... қате ... |-8 ... ... ... |-9 ... ... ... ... |-10 ... режим ... |-11 ... ... ... |-12 ... ... ... |
|grInvalidFont |-13 ... ... ... |-14 ... ... ... ... Graph InitDemo;
Uses Graph; { Графикалық модульді қолдану }
Var GraphDriver, { Графикалық драйвер }
GraphMode : Integer { ... ... := Integer { Қате коды ... ... Detect; ... ... GraphMode, ‘C:\BP\BGI’ );
ErrorCode := GraphResult; { Инициализация нәтижесі }
If ErrorCode grOk then { Қатенің кетуі ... (‘ ... ... ... ‘, ... жұмыс үзілген ‘);
Halt (1);
End;
End;
Begin
MyGraphInit;
{}
Line ();
Readln;
CloseGraph;
Graph Result функциясымен келетін қателер кодын генерациялайды. ... код ... ... ... ... Графиканы
инициализациялауды- қателердің өңделуімен көрсетіп өтейін. Графикалық
процесті ... ... ... программада жеке-жеке
ашылу үшін, оны MyGraph Init процедурасымен ... ... ... ... ... ... ... және ағымдағы сызық түсін құратын
процедурасымен көрсетіледі.
Program SimpleFigureDemo;
Uses Graph; {Graph модулін қолдану}
Var
GraphDriver, ... ... ... режим}
ErrorCode :Integer; {Қате коды}
Procedure MyGraphInit;
Begin
GraphDriver := Detect ... ... ... ... ... ... ErrorCode < > grOK then { Қатенің кетуі}
Begin
Writeln (`графикалық инициализацияның қатесі : ‘ ,
GraphErrorMsg(ErrorCode));
Writeln (`Бағдарламамен жұмыс үзілген`);
Halt ... ала ... ... ... ... алдын ала анықталған тұрақтылармен, типтермен,
процедуралармен және Graph модулінің стандартты ... ... ... ... түсі Crt ... ... ... тұрады.
Сызықтардың тұрақтылар типі және олардың жуандықтары
|Тұрақты ... ... ... |0 ... ... |
|DottedLn |1 ... ... ... |2 ... ... ... |3 ... сызық ... |4 ... |
| | ... ... ... Widt |1 ... жәй ... |
|Thick Width |3 ... ... ... ... ... және ... процедураларымен
қолданылады.
Бояу үлгілерінің тұрақтылары
|Тұрақты ... ... ... |0 |Бір ... ... бояу ... |1 ... жайпаң бояу |
|LineFill |2 ... бояу ____ ... Fill |3 ... бояу ///// ... |4 ... ... бояу/// |
|BkSlashFill |5 ... ... ... |
|LtBkSlashFill |6 ... ... ... |7 ... ... бояу ... |8 |Жиі ... бояу |
|InterleaveFill |9 ... ... бояу ... |10 ... ... ... ... |11 ... ... |12 |Жиі ... ... бояу |
| | ... |
| | ... бояу ... тұрақтылар GetFillSettings және SetFillStyle- мен қолданылады.
Қаріп үлгі тұрақтылары және мәтін текстеуі
|Тұрақты ... ... ... |0 |8*8 ... қаріп ... |1 ... ... ... |2 ... қаріп |
|SansSerifFont |3 ... ... ... |4 ... ... ... |0 ... оңға ... ... |1 ... ... нұсқау |
|UserCharSize |0 ... |
| | ... ... ... константалар SetTextStyle және ... ... ... ... ... ... ... ... |0 |Сол жақ ... ... |1 ... ... |2 |Оң жақ ... ... мәтін тегістеу тұрақтылары
|Тұрақты ... ... ... |0 ... ... ... |1 ... ... |2 ... ... |
SetViewPort процедурасы үшін тұрақтылар
| | ... ... ... |True ... |False ... ... ... шығару шекарасындағы бейнелеп кесуді басқарады.
Bar3D процедурасы үшін тұрақтылар
|Тұрақты ... ... |True ... |False ... ... Bar3D ... ... тік ... ... ... елестетумен басқару үшін қолданылады.
|Тұрақты ... ... ... |0 |MOV ... |0 |Mov ... |1 |Xor ... |2 |Or ... |3 |And ... |4 |Not ... ... көмегі арқылы суреттермен жұмыс істеу алдында осы
тұрақтылар логикалық операцияларды ... ... ... құру ... ... = 15; ... ... = record ... Byte; ... array ... of ... ... ... ... құру үлгісі
|LineSettingsType = record ... Word; ... : Word; ... : Word; ... ... ... құру ... = record ... :Word ; ... Word; ... : Word; ... : Word; ... : Word; ... ... ... құру ... = array [1…8] of Byte; ... = record ... Word; ... Word; ... ... ... басқаратын процедуралар .
Экранның фоны SETBKCOLОR процедурасының көмегімен орнатылады, жазылуы:
SETBKCOLOR(C);
мұндағы: С - түс коды 0-ден 15-ге ... ... Бұл ... ... ... С ... ... боялып шығады. Бұл ... түс ... ... ... ... ... анықтауға
болады.
Экрандағы барлық салынған графиктік объектілерді өшіріп тастау үшін
параметрсіз CLEARDEVICE процедурасы қолданылады. Бұл ... ... ... ... ... ... параметрлер(фон түсі,
курсор орны, терезелер т.б.) күшін жойып, экран тазарып ... ... (0,0) ... экранның сол жақ жоғарғы бұрышындағы нүктеге
апарылады.
Графикалық режимнің көзге көрінбейтін сілтеме- көрсеткіш ... ... ... үшін MOVETO және MQVEREL ... ... ... координаттары өзінде көрсетілген орынға
апарып қояды, мысалы:
MOVETO(X,Y); ... ... ... апарып қояды
MOVEREL процедурасы курсорды бұрынғы тұрған жерінен X және Ү осі
бойынша өзінде көрсетілген ... ... тең ... жылжытып апарып
қояды, мысалы:
MOVEREL(X1,Y1);//курсорды А(Х,Ү) нүктесінен А1(Х+Х1,Ү+Ү1)
нүктесіне апарып қояды
Курсордың тұрған жерін анықтау үшін GET функциясы қолданылады, мысалы:
A:=CetX; ... ... ... X ... координатын анықтау
B:=GetY; //курсор түрған жердің Ү ... ... ... және Ү осіндегі барлық нүктелер санын анықтау үшін GETMAX функциясы
қолданылады. Бүл ... ... мен ... ... ... ... мысалы:
A:=CetmaxX; //А - X осінің ең үлкен мәнін меншіктейді
B:=GetmaxY;//B - Y осінің ең үлкен мәнін меншіктейді
Бұдан басқа Getmax функциясын экран ... ... ... де ... ... ... Div 2; ... Div 2; Putpixel(Xc, Yc, 5);
//экранның қақ ортасынан нүкте шығару ... Div 2, GetmaxY Div ... қақ ... шеңбер шығару
Текстік режимдегідей графиктік режимде де графиктік фигураларды бөлек
терезелер ішіне салуға болады. Терезе орнату үшін ... ... ... ... кейін координаттар басы ретінде терезенің
сол жақ жоғарғы бұрышы(0,0) алынады, жазылуы:
SETVIEWPORT(X1, Y1,X2, Y2, Clip);
мұндағы: Х1.Ү1 - орнатылатын ... сол жақ ... ... Х2.Ү2 - орнатылатын терезенің оң жақ төменгі бүрышының
координаттары;
Clip - ... ... ... ... ... шығатын
бөлігін экранда көрінуін анықтайтын бульдік ... Егер ... ... ол ... ... кесіліп қалады, егер Clip:=False болса - көрініп
тұрады.
Ағымдағы терезенің ішін тазалау үшін ... ... ... ... ... ... ... курсор терезенің сол жақ жоғарғы бүрышына барып
орнапасады.
SETVIEWPORT процедурасының көмегімен орнатылған ... тек ... ... процедурасымен орнатылған түсімен шығады. Сондықтан ол
терезе көзге көрінбейді. Терезе көзге көріну үшін ... ... ... іші ... ... бөлек түспен боялған тіктөртбұрыш
шығарып алынады.
Орнатылған терезе параметрлерінің ... ... ... шығып
GETVIEWSETTING процедурасынының көмегімен алуға болады,
Графикалық режимнен шығу үшін ... ... ... Бұл ... ... ... ... жадынан
орнатылған графиктік режим драйверлері тазаланып, экранның графиктік режим
орнатылар алдындағы жұмыс режимі қайта орнайды.
Кей жағдайлардатекстік режимнен ... ... одан ... ... ... рет ... ... құру керек болады. Ол үшін
экранда орнатылған графиктік және текстік режимдерді қалыпқа келтіретін
SETGRAPHMODE және ... ... ... ... ... текстік режимге өтіп, одан қайтадан графиктік
режимге өтіп ... ... ... ... 'Graph ... ... ... Writeln('Text Rejim');
Readln;
Setgraphmode(d2);
Setbkcolor(2);
Circle(GetmaxX Div 2, GetmaxY Div 2,150);
Line( 100, GetmaxY Div 2, 500, GetmaxY Div 2);
LinefGetmaxX Div 2, 50, ... ... ... қолданылатын процедуралар мен функциялар.
Геометриялық объектілерді құру процедуралары
Экранның кез келген жеріне нүкте салуға болады, Graph ... ... ... ... ... оның ... (X,Y : integer; color: word);
Мұндағы X,Y – ... color оның ... ... ... ... ... ... анықтау үшін:GetPixel (X,Y : integer;) word;
функциясы ... ... салу ... ... екі ... ... ... сызуды атқарады.Оың пішімі:
Line (X1,X1,Y1,Y2:interer);
Да ағымдағы түс бойынша координаторлары Х1,Y1 ... Х2,Y2 ... ... ... ... , Line (1,1,600,1). Бастапқы ... , онда мына ... Lineto ( X,Y: integer ); ... ... ... координалар өсімшесіне DX,DY сәйкес болатын жаңа нүктеге
дейін түзу ... ... ... ... ... , қалың , штрихті ,
пунктирлі т.б. сызықтар сызылады.Сызық стилі мына ... ... ... - ... ... мен ... ... Т-сызық
түрі, Р – сызық үлгісі, Th – сызық қалдығы. Р ... ... ... ... кесінді сызады, ол орындаушы тағайындайтын типте жұмыс
атқарса, мәні, стандартты ... ... мәні 0 ... Th ... екі тұрақты мәннің бірін ғана қабылдайды:
NormWidth= 1; (қалыңдығы бір пиксель сызық)
ThickWidth= 3; (қалыңдығы үш пиксель сызық)
Мысалы:
SetLineStyle ... салу ... оның түсі ... ... ... ... ... үшін:
SetColor (Color: word); процедурасы қолданылады, мұндағы Color- жаңадан
орнатылған орнатылған түрінің аты немесе нөмірі. ... SetColor ... түсі ... ... ... түсі боз ьолады}
SetBkColor (Color: word); процедурасы ... ... яғни рең ... мұндағы Color – жаңадан орнатылатын түстің аты немесе нөмірі.
EGA / VGA адаптерлері үшін рең ... 0....63 ... ... ... { ... түсі көк болады}
SetBkColor(4);{Экран түсі қызыл боады}
Көпбұрыш сызу процедуралары
Көпбұрыштың бірнеше түрін сала алады, ... ... ... ... ... SetColor т.б ... арқылы орнатылады.
Rectangle (x1,y1,x2,y2: integer);- сол жақ жоғарғы (х1, у1) және оң ... ... ... ... бойынша төртбұрыш сызады. Оның
іші боялмай, экран түсімен бірдей болады. Боялған тіктөртбұрыштар келесі
процедура ... ... ... ... - ... ... түспен іші боялған
тіктөртбұрыш сызылады. Бояу ... ... ... ... ... ... word)- ... ішін бояйды, толтыру стилі
мен түсін көрсетеді. Мұндағы Pattern – толтыру стилі , ол ... ... ... ... Color- ... ... ... стилі тұрақты арқылы
жазылады немесе 0-ден 12-ге дейінгі мәндермен белгіленеді.
Floodfill(x,y: integer; Bor word)- ... ... ... ... ... бояйды. Мұндағы х,у- фигураның ішінде жатқан кез ... ... Bor – ... ... ... шеңбер және эллипс сызу ... ... салу ... ... жүйесін қолданады. Бұл жүйеде ... ... ... ... ... ... ... (x,y: integer; r: word);- шеңбер сызу процедурасы, мұндағы ... ... r- ... ... ... ... радиусы.
Arc (x,y: integer; B1,B2,R: word); - доға сызу процедурасы, ... ... ... B1, B2- ... ... ... алғашқы және соңғы
мәндері, R – радиусы.
Ellipse (x,y : integer ; ... word);- ... ... ... х,у – ... координаталары, B1, B2- алғашқы және соңғы ... RX,RY – ... ... және тік радиустары. Эллипс доғасы
бастапқы B1 =0 жане B2=360 болса, онда ... ... ... ... ... ... ... процедуралары арқылы орындалады.
Мысалы:
SetColor (LtghtRed); { Эллипс сызығының ... ... ... ... ... сызуы}
Эллипс іші экран түсімен бірдей бірдей, оның іші ... салу ... ... XR,YR: WORD); - іші ... ... сызу, мұндағых,у-
центрдің координаталары, XR,YR- эллипстің жарты осьтері. ... ... ... ... ... эллипс қызғылт түспен сызылып , оның іші ... ... ... ... циклдік процестермен жүзеге
асырылады. Цикл денесінде бірінші фигураны бояу стильдері орнатылады, одан
кейін ... дене ... ... ... ... ... ... соң фигураның экранда кішкене уақыт
көрініп түруы үшін Delay процедурасы
қолданылады. Одан ... ... ... ... ... ... де цикл ... шығару процедурасының кемінде бір параметрі цикл параметрімен
байланысты болуы ... ... ... әр ... ... жаңа орынға
шығарылып тұрады. Ал циклдік программа ... ... ... ... ... уақыт көрінгеннен кейін өшіріліп қалып, циклдің ... ... жаңа ... ... ... ... ... қалып, әрі
қарай циклдің әр келесі мәндерінде дәл осындай процестер жүріп отырады ... ... ... жылжып бара жатқан сияқты көрінеді.
Графиктік режимде текст шығару үшін OUTTEXT және ... ... OUTTEXT ... ... ... ... ... шығарады. Сондықтан бұл процедураны қолданғанда алдымен Moveto
процедурасымен курсордың ... ... ... кету ... Көп ... ... қолданған ыңғайсыз болғандықтан OUTTEXTXY процедурасы
қолданылады, процедураның жазылуы:
ОUТТЕХГХҮ(Х, Ү, 'text');
мұндағы: Х,Ү - ... ... ... ... ... модулінде сандық шамаларды шығару процедуралары ... ... ... ... олар Str ... көмегімен
жолдық қатарлы айнымапыларға айнапдырып алынады. Сонан соң ол ... ... ... ... ... ... ... текспен + амалының көмегімен біріктіріліп ... ... ... ... ... қарастыруға болады.
PROGRAM Gr10;
USES
Graph;
VAR
d1,d2,X: Integer;
Y:Real;
Z:String;
BEGIN
d1:=Detect;
InitGraphfdl, d2, ");
Setbkcolor(2);
X:=150;
Str(X,Z);
Outtextxy( 100,100, 'X= l+Z);
Y:=231.25;
Str(Y:4:2,Z);
Outtextxy(100,110,Z);
ReadLn;
CloseGraph;
END.
Экранға текстерді әртүрлі ... және ... өзі ... де ... ... ол үшін SETTEXTSTYLE процедурасы
қолданылады, жазылуы:
SETTEXTSTYLE(F, D, ... F- ... ... ... - ... 1 - ... 2 - кіші, 3 -
сансериф, 4 -готикалықшрифт), D – тексттің жазылу бағыты(0 - горизонтальді,
1 – ... ... С - ... ... - биттік, 2 - екі еселенген,
т.с.с. 10-ға дейін)
|Тұрақты атауы |Коды ... (.CHR) ... ... ... |0 | |AaBbCc 12345 ... |1 |TRIP |AaBbCc 12345 ... |2 |LITT |AaBbCc 12345 ... |3 |SANS |AaBbCc 12345 ... |4 |GOTH |AaBbCc 12345 |
| |5 |SCRI | |
| |6 |SIMP | |
| |7 |TSCR |AaBbCc 12345 |
| |8 |LCOM | |
| |9 |EURO | |
| |10 |BOLD | ... ... ... өзі SETUSERCHARSIZE процедурасының
көмегімен орнатса да болады, жазылуы:
SETUSERCHARSIZE(MX, DX, MY, ... MX, DX, - ... ... ... ... ... қатынасының қалыпты жағдайдағы шрифтің еніне көбейтіндісі жаңа
шрифтінінің шамасын береді. MY, DY - ... ... ... ... MY/DY қатынасының қалыпты жағдайдағы шрифтің биіктігіне
көбейтіндісі жаңа ... ... ... ... Бұл ... ... ... және енін TEXTWIDTH фунщияларын қолданып есептеуге
болады, мысалға:
X:=Textwidth(T);
Y:=Textheight(T));
Бір қатарда жазылған символдардың орналасуын ... ... ... ... ... V);
мұндағы:
Н - символдарды горизонтальді бағытта түзеу:
- символды солға қарай қозғалту,
- орталықгандыру,
- оңға ... ... - ... ... бағытта түзеу:
- символды төменге қарай қозғалту,
- орталықтандыру,
- төменге қарай қозғалту
PROGRAM Gr111;
USES
Graph;
VAR
d1,d2: Integer;
BEGIN
d1:=Detect;
InitGraph(d1,d2,'');
Setbkcolor(2);
Settextstyle(1,0,1);
Setusercharsize(2,1,2,1);
Outtextxy(100, 100, 'TEXT');
Setusercharsize(1,2,1,2);
Outtextxy( 100,200, 'TEXT');
Setusercharsize( ... ... ... ... ... обьектілерді қозғалту.
3.1.Объектілерді қозғалту.
Инкапсуляция алаңымен алготимдердің әдісін тек графиктік объектілерге ғана
емес , барлық программаға да қолдануға болады. ... ... ... және оның 3 ... ... инкапсуляция, маңызды жұмыстың
орындалуы және жабылуымен танысып оқуға ешқандай кедергі жоқ.
Init этапында экран графикалық режім жұмысына ... және ... ... ... ... ... және пернетақта көшірмесі іске
асырылады.
Done этапында экран текстік режімге ауысады да, бүкіл программа жабылады.
Есеп.От шашу көрінісінің ... ... crt, ... N=300; ... ... array [1..N] of real;
col: array [1..N] of byte;
Gm,Gd: integer;
i,j,Xc,Yc: integer;
w: word;
procedure Put;
begin
for i:=1 to N do ... ... ... i:=1 to N ... ... V,Vmax,c: word;
a: real;
begin
Xc:=random(GetMaxX-200)+100;
Yc:=Random(GetMaxY-200)+100;
for i:=GetMaxY downto Yc do
begin
PutPixel(Xc,i+1,0);
PutPixel(Xc,i,random(15)+1);
Delay(200)
end;
Vmax:=Random(20)+20;
w:=Random(10);
c:=random(15)+1;
for i:=1 to N do
begin
X[i]:=Xc;
Y[i]:=Yc;
a:=Pi*Random(360)/180;
V:=Random(Vmax-5)+2;
Vx[i]:=V*Cos(a);
Vy[i]:=V*Sin(a)-5;
if wsqrt(N) then
begin
c:=1;
b:=b+k;
end;
c:=c+1
end;
end;
procedure Put;
begin
SetColor(green);
for i:=1 to N ... div ... ... i:=1 to N do
Circle(round(Xo[i]),round(Yo[i]),d div 2);
end;
procedure Euler;
var m,z: real;
begin
for i:=1 to N do
begin
accelx[i]:=0;
accely[i]:=0
end;
for i:=1 to N-1 ... j:=i+1 to N ... ... r grOk then
Begin
Writeln (‘Графиктік режимнің инициализациялау қатесі’);
Writeln (‘жұмысты аяқтау үшін басыңыз’);
Readln;
Halt (l);
End;
X:=0; {шеңбердің бастапқы орналасуы}
Y:=100;
R:=10; {шеңбердің радиусы}
Dx:=2; {жылжыту ... ... ... x < 639 do
Begin
{шеңбер салу}
SetColor (yellow);
Circle (x, y, r);
{ұстап қалу}
Delay (dt);
{шеңбер өшіру}
SetColor (0);
Circle (x, y, r);
{шеңбер ... ... ... + ... (‘жұмысты аяқтау үшін басамыз’);
CloseGraph;
End.
5-есеп.Сағаттың қозғалу программасы.
program sagat;
uses Graph,crt;
var
d,r,r1,r2,rr,k,x1,y1,x2,y2,x01,y01:integer;
Xasp,Yasp:word;
begin
d:=detect;
InitGraph(d,r,'C:\BP\BGI\ELPOKA');
k:=GraphResult;
if kgrOk ... ... div ... div ... k:=0 to 59 ... k mod 5=0 then
rr:=r1 else
rr:=r2;
x01:=x1+round(rr*sin(2*pi*k/60));
y01:=y1-round(rr*Xasp*cos(2*pi*k/60)/Yasp);
x2:=x1+round(r*sin(2*pi*k/60));
y2:=y1-round(r*Xasp*cos(2*pi*k/60)/Yasp);
line(x01,y01,x2,y2);
end;
SetwriteMode(XORPUT);
SetlineStyle(Solidln,0,Thickwidth);
r:=0;
repeat
for k:=0 to 59 ... not ... ... r=12*60 ... KeyPressed;
if ReadKey=#0 then k:=ord(ReadKey);
CloseGraph
end
end.
6-есеп.Жұлдыздар мен ұшатын планета көрінісі.
program ... ... egrOk ... div ... div 4;
ellipse(x,y,0,360,r,r div 3+2);
ellipse(x,y-4,190,357,r,r div 3);
line(x+7,y-6,x+10,y-12);
line(x-7,y-6,x-10,y-12);
circle(x+10,y-12,2);
circle(x-10,y-12,2);
floodfill(x+1,y+4,white);
lx:=x+r-l;
ly:=y-14;
rx:=x+r+l;
ry:=y+r div 3+3;
width:=rx-lx+1;
height:=ry-ly+1;
size:=imagesize(lx,ly,rx,ry);
getMem(saucer,size);
getimage(lx,ly,rx,ry,saucer^);
putimage(lx,ly,saucer^,xorput);
rectangle(xm,ym,3*xm,3*ym);
setviewport (xm+1,ym+1,3*xm-1,3*ym-1,clipon);
xm:=2*xm;
ym:=2*ym;
for i:=1 to 200 do
PutPixel(Random(xm),Random(ym),white);
x:=xm div 2;
y:=ym div 2;
dx:=10;
dy:=10;
Repeat
Putimage(x,y,Saucer^,XorPut);
Delay(pause);
Putimage(x,y ,Saucer^,XorPut);
Loop:x:=x+dx;
y:=y+dy;
if(xxm)or(yym)then begin
x:=x-dx;
y:=y-dy;
dx:=GetMaxX div ... div ... div ... div ... ... KeyPressed;
if readkey=#0 then x:=ord(readkey);
closegraph
end;
end.

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









Ұқсас жұмыстар
Тақырыб Бет саны
Алгоритмдерді Паскаль программалау тілінде әзірлеу10 бет
Бейсик және Паскаль тiлдерiнде программа құру ерекшелiктерi23 бет
Орта мектепте Паскаль программалау тілін оқытуды жетілдіру жолдары55 бет
Орта мектептегі паскаль тілі программасын оқытудың әдістемелік ерекшеліктері61 бет
Паскаль программалау тілі35 бет
Паскаль программалау тілі. Массивтер7 бет
Паскаль программалау тілі. Мәлiметтердi енгiзу және шығару операторлары6 бет
Паскаль программалау тілі. Программалау тілі командаларының ортасы7 бет
Паскаль программалау тілі. Шығу тарихы5 бет
Паскаль программалау тілінің негізі9 бет


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


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

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

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

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

Email: info@stud.kz

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

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