• Преподавателю
  • Информатика
  • Информатика пәнінен ғылыми жұмыс тақырыбы: Паскаль программалау тілінде графикалық режиммен жұмыс жасау

Информатика пәнінен ғылыми жұмыс тақырыбы: Паскаль программалау тілінде графикалық режиммен жұмыс жасау

Раздел Информатика
Класс 11 класс
Тип Научные работы
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Қазақстан Республикасы Білім және ғылым министрлігі

Оңтүстік Қазақстан облысы Шымкент қаласы

Ы.Алтынсарин атындағы №65 мектеп - гимназия








Әжіхан Есберген Рахманбердіұлы

11 «Ә» сынып оқушысы




Тақырыбы:


Паскаль программалау тілінде графикалық

режиммен жұмыс жасау.


Информатика пәнінен ғылыми жұмыс тақырыбы: Паскаль программалау тілінде графикалық режиммен жұмыс жасау



Жетекшісі: информатика пәнінің

мұғалімі Қасымова Нұрзия





Шымкент қаласы



Мазмұны




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


  1. Турбо Паскаль программалау тілі

1.1 Турбо Паскаль тілінің шығу тарихы.......................5

  1. Турбо Паскальда жұмысты бастау...........................6


  1. Турбо Паскаль тілінде стандартты фигураларды сызу

2.1 Graph модулін қолдану ..............................................7

2.2 Паскаль тілінің графикалық мүмкіндіктері ...............9

2.3 Graph модуліне мысалдар .........................................13


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

  2. Пайдаланылған әдебиеттер тізімі ..............................28





Кіріспе


Қазіргі әлемнің ғылыми бейнесінің негізгі сипаттамасы қоғамдағы және табиғаттағы информациялық процестер мен фактордың фундаментальді ролін мойындау болып табылады. Өткен ғасырда әлемнің ғылыми бейнесі 2 негізгі ұғым төңірегінде құрылғаны белгілі болды: зат және энергия. Сөйтіп, ғылыми көзқарасты қалыптастыруда негізгі рольді осы ұғымдарды сипаттайтын ғылымдар атқарды: физика, химия, математика т.б.

Бұл жағдайда әлемнің бейнесін жаңаша тұжырымдайтын идеяның тууына байланысты өзгере бастады. Мысалы: алдыңғы кезекке жеке пәндер немесе құбылыстар ғана емес олардың өзара байланысы, өзара әсерлесу мәселесі қойылды. Бұл мәселемен айналысатын ғылым информатика деп аталады.

Информатиканың компьютердің көмегімен информация іздеу, сақтау, жинақтау, тарату, өлшеу мен өңдеудің әдістері тәсілдері мен заңдылықтарын қарастыратын математикалық ғылым екені белгілі.

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

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

Компьютерлік графика - кез - келген материалдық объектінің бір өлшемді түріне өзгерте алатын мүмкіндіктерін айтады.

Ғылыми жұмыстың мақсаты: Паскаль тілінің Турбо Паскаль түріндегі берілуінің GRAPH модулінің графикалық мүмкіндіктерін көрсету.

Ғылыми жұмыс кіріспеден, екі бөлімнен, қорытындыдан және пайдаланылған әдебиеттер тізімінен тұрады.

1-ші бөлімде Турбо Паскаль прграммалау тілімен таныстыру мәселесі қарастырылады.

2-ші бөлімде - Турбо Паскаль тілінің графикалық мүмкіндіктерін қолдана отырып стандартты фигураларды сызу мәселесі қарастырылады.





1.Турбо паскаль тілі



  1. Турбо Паскаль тілінің шығу тарихы

Паскаль программалау тілі XVII ғасырда өмір сүрген француз ғалымы Блез Паскальдің құрметіне аталып отыр.

Блез Паскаль1623 жылы Франция мемлекетінің КлермонИнформатика пәнінен ғылыми жұмыс тақырыбы: Паскаль программалау тілінде графикалық режиммен жұмыс жасау- Ферран қаласында дүниеге келген. Ол жастайынан - ақ білімділігімен, алғырлығымен, зеректігімен, әсіресе математика саласына бейімдігімен баршаның көзіне түсті. 1662 жылы Блез Паскаль қайтыс болған соң, әлем білген қайталанбас аса дарынды матиматиктердің бірі болып тарихқа кірді. Ол матиматика ғылымының дамуына үлес қоса отырып, математика ғылымының бір саласы - ықтималдар теориясының ірге тасын қалады.

Осы жоғарғы программалау тілдерінің бірі - Паскаль тілінің құрастырушысы Швейцария мемлекетінің Цюрих информатикалық институтының профессоры, жоғарғы политехникалық мектептің оқымысты адамы -Никалаус Вирт (1968-1971).

Паскальтілі жөніндегіалғашқы дерек 1971 жылы пайда болды ,содан бері бұл жыл тілдің дүниеге келген жылы болып бекітілді. Ол Алго 60 тілінің жетілдірілген түрі болды. 1983 жылы Паскаль тілі Халықаралық стандартқа :ISO:7185:1983 болып енгізілді.

Қазіргі кезде Паскаль тілінің кеңейтілген ондаған диалектісі бар. Оның ішінде IMB PS -ге үйлесімді дербес компьютерлер жұмыс істей алатын Турбо Паскаль диалектісінің варианттары да жеткілікті. Келесі қатарда оның соңғы (7.0) вариантымен жұмыс істеу тәсілдері қарастырылған. Бұл вариант Турбо Паскальдың алғашқы вариантыменде үйлесімді жұмыс істейді.

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

Паскаль тілінің мынадай ерекшеліктер бар:

  • Тілдің қарапайымдылығы оны тез арада жете меңгеруге мүмкіндік береді ;

  • Тіл алгоритімді сақтап құрылған. Мұнда программаны бірте-бірте дамыту арқылы жеке блоктар түрінде құруға болады. Ол программалау тілін үйрену үшін өте қажет ;

  • Деректердің құрлысына қарай сандық, белгілік, және екілік информациямен жұмыс жүргізуге және күрделі алгоритімді бағдарлама жасауға қызмет етеді ;

  • Тілге дамытылған берілгендер типтері енгізілген. Олар өңделетін берілгендер элементтерін толық сәйкестендіріліп сипаттауға және берілгендер типтерін енгізуге мүмкіндік береді ;

  • Жүйелік бағдарламауда кеңінен қолданылуына оның өте тиімді бағдарламау құру мүмкіндігі септігін тигізеді ;


  1. Турбо Паскальда жұмысты бастау

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

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

Әдетте Турбо Паскаль Norton Commander жүйесінің С : түбірлік каталогына енгізіліп қойылады.

Турбо Паскальдың интегралдық ортасы пайдаланушының сұраныстарын операциялық жүйесіз-ақ қамтамасыз етеді.

Интегралдық ортаға кіру. DOS-тың командылық қатарында C:\TP\TURBO EXAMPLE1.PAS «ТР-әдеттегі Турбо Паскаль директориясының атауы), деп теріп, Enter пернесін басу керек. Бір сәттен кейін экранның жоғарғы бөлігінде Example1.pas жазуы бар Текстік Редактор терезесі пайда болады. Егер программа аты көрсетілмесе бос терезе жиегінде Noname00.pas - стандартты атауы тұрады.

Редактордың терезеде терілетін программа мәтінін қабылдауға немесе бұрынғы бар программаны редакциялауға дайындығын жанып - өшіп тұратын курсор арқылы білуге болады. Редактордан шықпай-ақ, программаны компиляциялау немесе орындау командасын бере аламыз

Белсенді терезе. ТР интегралдық ортасы бірнеше тереземен жұмыс жасауға мүмкіндік береді. Егер ортада бірнеше терезе ашылған болса, онда біреуі ғана , яғни қос жиекті терезе белсенді деп есептеледі. Жоғарыдағы әрекеттердің барлығы белсенді тереземен орындалады. F6 пернесін басып, кез-келген терезені белсенді етуге болады.

Белсенді терезеде программа мәтінін көру. Егер терезеге программа мәтіні сыймаса, онда оны PgDn(«алға»), PgUp(«кейін қарай») пернелерін басу арқылы парақтап көруге болады.

Прогамманы сақтау. Терілген (редакцияланған) программа белсенді терезеден F2 пернесін басу арқылы файлға сақталады. Егер файлға атау берілмеген болса, онда ТР файлы атауын енгізуді сұрайды. F2 пернесін әрдайым басып отырған жөн.

Программаны компиляциялау. F9 не alt="Информатика пәнінен ғылыми жұмыс тақырыбы: Паскаль программалау тілінде графикалық режиммен жұмыс жасау"+F9 пернесін басылғанда компилятор программаны тексереді. Егер қате табылса, әдетте терезе шекарасында, хабарлама шығады. Ал қате жоқ болса "Compile successful. Press and key" хабарламасы шығады.

Программаны орындау. Программаны орындау командасы Ctrl+F9 пернелер комбинациясымен іске асады. Нәтиже alt="Информатика пәнінен ғылыми жұмыс тақырыбы: Паскаль программалау тілінде графикалық режиммен жұмыс жасау"+F5 пернелері арқылы көрінеді (редактор терезесі «ашылады»). Редакторға қайта өту үшін кез-келген литерлік перне шертілуі керек.

Көшірме алу. Жұмыс соңында дискіде файл көшірмесін алған дұрыс. alt="Информатика пәнінен ғылыми жұмыс тақырыбы: Паскаль программалау тілінде графикалық режиммен жұмыс жасау"+F пернелерін шертіп, пайда болған "File" мәзірінен "save as . . ." қатары таңдалынып, Enter шертілген соң, файлдың толық атауын теру керек. Мысалы a:\Example1.pas деп, теріп Enter пернесі басылса, белсенді терезе мазмұны көшірмесі дискетке жазылады.



2. Турбо Паскаль тілінде стандартты фигураларды сызу



2.1 Graph модулін қолдану.


Дербес компьютерлерде екі негізді режим қолданданылады , біріншісі - симвлодық(белгілік), екіншісі - графикалық. Қазіргі кездегі 6,7 версияларындағы графикалық режимде жұмыс істеу өте ұқыптылықты, еңбекті талап етеді. Себебі өмірдің талабына сай тілдің графикалық мүмкіндіктері тез дамып компьютерлік графика деген өз алдына үлкен сала пайда болды.

  • Компьютерлік графика кез-келген материалдық объектінің бір өлшемді түрінен көп өлшемді түріне өзгерте алатын мүмкіндіктерін айтады.

Бұл тақырыпта графикалық мүмкідіктермен алғашқы таныстыру қарастырылады

Графикалық режимдегі координаталар системасы текстік режимдегі системамен сәйкес келеді. Текстік режимде экранға 80бағаннан, 25 қатар(80*25) шығады. Графикалық режимде нүктелерді әр түрлі мүмкіндіктермен шығарады, яғни экранның 200 нүктелік қатардан тұратын әрбір кез-келген 320 нүктесін кескіндеуге болады (320*200), (640*480), т.б. Бұл жерде нүкте деп алып отырғанымыз 0,8*1 ммИнформатика пәнінен ғылыми жұмыс тақырыбы: Паскаль программалау тілінде графикалық режиммен жұмыс жасау ауданы өте кішкентай тіктөртбұрыш. Әрбір нүкте бүтін сандар жұбымен анықталған, біріншісі - қатардағы реттік саны, екішісі - экрандағы қатардың реттік саны. Нүктенің ең үлкен мүмкін реттік саны 199-ға тең болады.

Жолдар мен бағаналардың нөмірі графикалық тәртіпте нүкте координаттары ретінде қолданылады, демек кординаттар әрдайым бүтін санды болып келеді. Графикалық тәртіпте координат басы экранның сол жақ жоғарғы бұрышында орналасқан, х осі - оңға, у осі - төмен бағытталған.

  • Дисплей жұмысын басқару платасы адаптер делінеді. Адаптерде орналасқан видеожад экран образын (беті, парағы )сақтайды. Кеңінен тараған адаптерлер - EGA, VGA, SVGA, т.б.

  • Адаптер арқылы видеожадты қолдануды драйвер программа қамтамасыз етеді.

Турбо Паскаль графикалық режимін іске қосудың мүмкін 80-ге жуқ процедуралары мен функциялары бар. Олар жүйелік программаның GRAPH модулінде жазылып қойылған. Модульді ашу нұсқауы - Uses graph, оны CRT модулін ашу нұсқауымен бірге программаның басына енгізіп қойса болғаны, мысалы:

Uses graph ,crt;

GRAPH модулінің функциялары мен процедураларының параметрлері INTEGER типті болуы тиіс.

Initgraph (GDriver, GMode, Path) - экранды графикалық режимге көшіру. Мұндағы:

GDriver - драйвер номері, компьютерге енгізілген integer типті айнымалы, оған видеоадаптер түрі беріледі. Модульде әр түрлі адаптерлерге тұрақтылар анықталған, олар бізді сандарды жаттаудан құтқарады.

GMode - режим номері, сол сияқты integer типті айнымалы, таңдалған жұмыс істеп тұрған видеоадаптерге тәртіп береді. Әрбір видеоадаптер әр түрлі тәртіпте жұмыс істей алады.

Path - қажетті драйверге жол сілтеу, тармақты параметр. Бұл параметрде драйверлер сақталынатын каталог көрсетіледі. Мысалы, 'c:\tp\bgi' (bgi - графикалық драйвердің кеңейтілуі).

Драйвер автоматты түрде анықтау үшін әдетте мәні 0-ге тең Detect атаулы тұрақты пайдаланылады. Олардың дұрыс енгізілуін, мәні тұрақты болатын және ол дұрыс кезінде 0 мәнін қабылдайтын режимді орнату функциясы (GraphResult) арқылы тексеруге болады. Мысалы:

Uses grph ;

Var gdriver,gmode,ErrCode:integer;

Begin

gdriver:=detect;

initgraph (gdriver6 gmode,");

ErrCode:=GraphResult

if ErrCode < > 0 then

Writeln ('Графикалық режим қате орнатылған, оның номері'',ErrCode) else closegraph;

End.

Графикамен жұмысты аяқтау үшін және текстік тәртіпке шығу үшін Closegraph процедурасын қолданады.


2.2 Паскаль тілінің графикалық мүмкіндіктері


Графикамен жұмыс координат жүйесі басын (0,0) нүктесінен экранның жоғарғы сол бұрышынан бастайды. Х-осі оңға, У-осі төмен бағытталған. Экранның барлық нүктелері бүтін сандардың координаталарынан құралады.

GRAPH модулінде қарапайым элементтердің бейнелерін салу үшін,текст жазу үшін келесі функциялар мен процедуралар қолданылады:

  • Setbkcolor(<түс>) - экран кеңістігінің түсін орнату. Бұл оператор программаға енгізілмесе, экран ағымдық қара не көгілдір түске боялып көрсетіледі.

  • Setcolor (<түс>) - кескін түсін орнату. Оператор енгізілмесе,кескін ақ түске боялып көрсетіледі.

  • GetColor (<түс>) - Setcolor операторы орындалған соң ағымдық түсті қайта орнату .

  • GetMaxColor - политрадағы максималды түстің кодын анықтайды.

  • GetMaxX, GetMaxY - экран координаталарының ең үлкен мәндерін береді .

  • CloseGraph - графикалық режимді жауып, текстік режимге өту.

  • RestoreCRTMode - уақытша текстік режимге өту.

  • SetGraphMode (<режим>) - графикалық режимге қайта өту.

  • ClearDevice - экранды тазалайды.

  • GraphResult - жүйенің графиктік режимге дұрыс өтуін тексеру (функция). Ол integer типті және, қате болмаса, оның мәні 0-ге тең.

  • Line (x1,y1,x2,y2) - (х1,у1) нүктесінен (х2,у2) нүктесіне дейін түзу кесінді сызу.

  • Rectangle (x1,y1,x2,y2) - сол жақ жоғарғы төбесі (х1,у1), оң жақ төменгі төбесі (х2,у2) болатын тік төртбұрыш сызу.

  • Circle (x,y,R) -орталық нүктесі (х,у), радиусы R-ге тең дөңгелек доғасын сызу.

  • Arc (x,y,gr1,gr2,R) - градуспен берілген gr1, gr2 бұрыштарының аралығында орталық нүктесі (x,y), радиусы R-ге тең дөңгелек доғасын сызу.

  • Pieslice (x,y,gr1,gr2,R) - градуспен берілген gr1,gr2 бұрыштардың аралығында орталық нүктесі (x,y), радиусы R-ге тең дөңгелек секторын сызу.

  • Ellipse (x,y,gr1,gr2,Rx,Ry) - градуспен берілген gr1,gr2 бұрыштардың аралығында орталық нүктесі (x,y), биіктігі мен ені Rx,Ry болатын эллипс сызу.

  • PutPixel (x,y,<түс>) - <түс>-ке боялған (x,y) нүктесін орнату.

  • FloodFill (X,Y, <шекара түсі>) - шектелген фигураны бояу. Мұндағы X,Y фигура ішіндегі кез-келген нүкте <Шекара түсі> - боялатын фигураның шекара контурының түсімен бірдей болады.

  • Bar (x1,y1,x2,y2) - боялған тіктөртбұрышты салады.

  • SetTextStyle (<шрифт>,<бағыты>,<шрифт өлшемі >) - текст стилін орнатады. <Шрифт> параметрдің мәні 0..4, яғни 0-матрицалық (DefaultFront), 1-триплекс (TriplexFront), 2-ұсақ (SmallFront), 3-тік (SansSeriFront), 4-готикалық (GothicFront). <Бағыты> параметірінің мәні 0 (солдан-оңға қарай) немесе 1 (төменнен жоғары қарай). <Шрифт өлшемі > параметірінің мәні 1..10.

  • OuttextXY (x,y,'текст' ) - (х,у), нүктесінен бастап дәйекшелер ішінде жазылған тексті экранға шығару.

  • SetTextJustifу (<Горизанталь>,<Вертикаль>) - текстің курсорға қатысты орнын анықтайды. <Горизанталь> - мәні 0-көрсетілген позиция жолдың сол жағы (LeftText), 1-позиция шығарылатын жолдың ортасы (CentеrText), 2-жолдың оң жағы (RightText). <Вертикаль> - мәні 0 - позиция бейненің төменгі жағында (BottomText), 1 - ортасында (CentrText), 2 - позиция бейненің жоғарғы жағында (TopText).

  • SetLineStyle (<Сызық түрі>,<үлгісі>,<сызық қалыңдығы>) - фигуралар кескіндерінің контурлары және басқа да сызықтардың қалыңдықтарын орнатады. <Сызық түрі> - мәні 0..4, 0-үздіксіз, бір түкте түріндегі, 2-штрих пунктирлі, 3-пунктирлі, 4-пайдаланушы анықтайтын ерекше сызық түрі. <Үлгісі> - әдетте мәні 0-ге тең, тең <Сызық түрі> - мәні 4-ке тең болғанда оның сызық үлгісі көрсетіледі. <Сызық қалыңдығы> - мәні 1..3.

  • DrawPoly (n,P) - n қабырғадан тұратын көпбұрыш салады, ал жоғарғы нүкте туралы мәліметтер типтелмеген Р параметірінде сақталған.

  • MoveTo (х,у) - Экрандағы (х,у) позициясын еске сақтайды, кейін ол позициядан кесінділер сызуға болады.

  • LineTo (х,у) - сол позициядан кесінді алады.

  • MoveRel (dx,dy) - (х,у) - тен (х+dx,у+dy) - ке дейін кесінді салады.

  • GetX, GetY - өткен көрсеткіш кординатасын қайтарады.

  • FillEllipse (x,y,rx,ry) - боялған элипс салады.

  • FillPoly (n,P) - боялған көпбұрыш салады.

  • Sector (x,y,gr1,gr2,rx,ry) -эллиптикалық секторды бояйды.

  • OutText ('текст') - дәйекшелер ішінде жазылған тексті экран бетіне шығарады. Бұл процедураның кемшілігі, текст шығаратын бастапқы нүктені беруге болмайды.

Видеожадтың немесе оның бір бөлігінің мазмұнының оперативті жадқа көшірмесін алуға болады. Қажет болса көшірмені видеожадтың сол орнына немесе жаңа орнына қайтаруға, координаталарын циклде өзгерте отырып жылжытуға болады. Кескіндердің тек тіктөртбұрыш үзінділерін сақтауға болады. Ал оған сәйкес байт түріндегі жад өлшемі ImageSize (x1,y1,x2,y2) программасымен алынады. Мұнда (x1,y1) -тіктөртбұрыштың сол жақ жоғарғы төбесі, (x2,y2) - оң жақ төменгі төбесі. Бұл үзіндінің көшірмесі негізгі жадқа орналастыратын процедура - GetImage(X1,Y1,X2,Y2,<Жaд бөлігі>). <Жaд бөлігі> - параметірі кәдімгі не динамикалық айнымалы түрінде беріледі. Сақталған кескін көшірмесі экран бетіне шығаратын процедура - PutImade (X,Y,<Жад бөлігі>,<Тәсілі>). Мұндағы X,Y - экранға шығатын тіктөртбұрыш үзіндісінің сол жақ жоғарғы төбесі. Кескін экранға бірнеше тәсілмен: 0-сақталған күйінде, 4-"негатив" (қарама - қарсы түске боялған) түрде, 1,2,3-логикалық операциялар (Xor, Or, And) әрекеттеіне сай шығарылады.

Бірнеше экран парақтарын уақыт өткен сайын кезекпен - кезек белсенді ете отырып, мултипликация жасауға болады. Көрсетілген парақты белсенді ететін процедура - SetActivePage (<парақ номері>). Парақты көрінетін процедура - SetVisualPage (парақ номері).

Фигураның ішкі аймағы ақ түспен боялатын болады, бояу біркелкі ақ түсті. Бояудың түсі мен түрін бағыттау үшін SetFillStyle (style, color) EmptyFill, SolidFill, LineFill, LtSlashFill, SlashFill, BkSlashFill, LtBkSlashFill, HatchFill, XhatchFill, InterleaveFill, WideDotFill, UserFill тұрақтылары ескерілген. Біріншісі - бояудың жоғын, екінші біркелкі, кейінгілері бояудың неше түрлі спецификалық түрлерін, ең соңғысы - қолданушы таңдаған бояуды білдіреді. Қолданушының бояуы үлгісін беру үшін SetFillPattern(Pattern:FillPattern Type, Color) процедурасын қолдану керек. FillPatternType array [1..8] of byte сияқты анықталады, әрбір массив әлементі бояу үлгісінің (сызыққа сияқты) бір жолын кодтайды, ал ондай жолдың барлығы 8. Нәтижеде бояуы 8х8 бірдей квадраттар арқылы боялады.

Түсті манитордың мәтіндік режимде әр символдың түсін не экранды 16 түрлі түстің біреуі арқылы CRT модулінде жазулы операторлар бойынша бояп көрсетуге болады.

Режим пайдаланылатын түстер мен оларға сәйкес келетін кодтар:

Код

Түс

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Қара (black)

Көк(blue)

Жасыл(green)

Көгілдір(cyan)

Қызыл(red)

Күлгін сары(magenta)

Қоңыр(brown)

Ашық сұр(light gray)

Күңгірт сұр(dark gray)

Ашық көк

Ашық жасыл

Ашық көгілдір

Ашық қызыл

Ашық күлгін сыры

Сары(yellow)

Ақ(white)

















2.3 GRAPH модуліне мысалдар

Денесі эллипстен, басы дөңгелектен, екі аяғы, екі қолы таяқшадан тұратын балапанның суретін салып бояу.

Program a1;

uses graph, crt;

var graphdriver, graphmode:integer;

begin gd:=detect;

initgraph ( graphdriver, graphmode,'c:\tp7\bgi');

ellipse(300,200,0,360,40,60);

circle(300,120,20);

line (275,150,230,180);

line (325,150,365,180);

line (275,250,230,300);

line (325,250,365,300);

readln;

closegraph;

end.

Үй салу

Program suret;

Uses crt, graph;

Var gd,gm:integer;

Begin Clrscr;

gd:=detect;

initgraph (gd, gm, 'c:\tp 7\bqi');

Rectangle(40, 65, 140, 145);

Line(40, 65, 90, 20);

Line(140, 65, 90, 20);

Rectangle(50, 80, 80, 100);

Line(65, 80, 65, 100);

Line(115, 80, 115, 100);

Rectangle(100, 80, 130, 100);

Rectangle(80, 115, 100, 145);

readln;

closegraph;

end.

mishka

Program mishka;

uses crt,graph;

var graphdriver, graphmode:integer;

begin clrscr;

graphdriver:= detect;

initgraph ( graphdriver, graphmode,'c:\tp7\bgi');

circle(118,40,16);

line(127,27,130,25);

line(130,25,135,22);

line(135,22,140,24);

line(140,24,141,26);

line(141,26,140,30);

line(140,30,136,34);

line(106,28,107,25);

line(107,25,97,24);

line(97,24,94,25);

line(94,25,95,28);

line(95,28,97,32);

line(97,32,100,35);

line(130,29,135,27);

line(135,27,137,28);

line(137,28,134,33);

line(105,30,100,27);

line(100,27,99,27);

line(99,27,98,28);

line(98,28,98,29);

line(98,29,100,31);

line(100,31,102,33);

circle(111,37,2);

circle(124,37,2);

rectangle(116,37,120,45);

line(118,45,118,48);

line(118,48,120,47);

line(120,47,125,46);

line(125,46,128,44);

line(118,48,115,47);

line(115,47,110,46);

line(104,51,100,53);

line(100,53,95,56);

line(95,56,90,57);

line(90,57,85,60);

line(85,60,80,62);

line(80,62,76,64);

line(76,64,77,69);

line(77,69,77,73);

line(77,73,80,72);

line(80,72,85,70);

line(85,70,90,68);

line(90,68,92,68);

line(92,68,95,66);

line(95,66,100,64);

line(90,58,92,62);

line(92,62,93,67);

line(133,49,135,50);

line(135,50,140,53);

line(140,53,144,54);

line(144,54,150,56);

line(150,56,155,57);

line(155,57,160,58);

line(160,58,163,59);

line(163,59,162,67);

line(162,67,161,67);

line(161,67,155,66);

line(155,66,150,65);

line(150,65,145,65);

line(145,65,140,64);

line(140,64,135,63);

line(145,65,144,60);

line(144,60,150,54);

line(100,64,100,70);

line(100,70,100,75);

line(100,75,100,80);

line(100,80,100,85);

line(135,64,135,70);

line(135,70,135,75);

line(135,75,135,80);

line(135,80,135,85);

line(135,85,130,85);

line(130,85,125,85);

line(125,85,120,85);

line(120,85,115,85);

line(115,85,110,85);

line(110,85,105,85);

line(105,85,100,85);

line(100,85,100,90);

line(100,90,100,95);

line(100,95,100,100);

line(100,100,100,105);

line(100,105,100,110);

line(100,110,105,110);

line(105,110,110,110);

line(110,110,113,110);

line(113,110,113,105);

line(113,105,110,105);

line(113,105,110,105);

line(110,105,105,105);

line(105,105,100,105);

line(135,85,135,90);

line(135,90,135,95);

line(135,95,135,100);

line(135,100,135,105);

line(135,105,135,110);

line(135,110,130,110);

line(130,110,125,110);

line(125,110,122,110);

line(122,110,122,105);

line(122,105,125,105);

line(125,105,130,105);

line(130,105,135,105);

line(122,105,120,100);

line(120,100,118,95);

line(118,95,115,100);

line(115,100,113,105);

line(163,58,165,60);

line(165,60,167,65);

line(167,65,165,67);

line(165,67,162,68);

line(76,64,73,66);

line(73,66,71,69);

line(71,69,72,72);

line(72,72,75,74);

line(75,74,76,73);

line(103,110,104,114);

line(104,114,108,114);

line(108,114,109,113);

line(109,113,109,110);

line(127,110,127,112);

line(127,112,128,114);

line(128,114,131,115);

line(131,115,133,113);

line(133,113,133,110);

readln;

closegraph;

end.

Көп қабатты үй салу.

Program esso;

uses crt,graph;

var gd,gm : integer;

begin clrscr;

gd:= detect;

initgraph (gd,gm, 'c:\tp7\bgi');

Rectangle (15 ,30 ,265 ,175 );

Rectangle (40 ,20 ,80 ,25 );

Rectangle (100 , 20,135 ,25);

Rectangle (155 ,20 ,190 ,25 );

Rectangle (210 ,20 ,245 ,25 );

Rectangle (25 ,40, 40,55 );

Rectangle (25 ,65 ,40 ,80 );

Rectangle (25 ,90 ,40 ,105);

Rectangle (25 ,115 ,40 ,130 );

Rectangle (25 ,140 ,40 ,155 );

Rectangle (45 ,40 ,60 ,55 );

Rectangle (45 ,65 ,60 ,80 );

Rectangle (45 ,90 ,60 ,105 );

Rectangle (45 , 115, 60, 130);

Rectangle (45 ,140 ,60 ,155 );

Rectangle (70 ,35 ,95 ,95 );

Rectangle (80 ,35 ,85 ,95);

Rectangle (80 ,100 ,95 ,135 );

Rectangle (0 ,175 ,280 ,190 );

Rectangle (105 ,40 ,120 ,55 );

Rectangle (105 ,65 ,120 ,80 );

Rectangle (105 ,90 ,120 ,105 );

Rectangle (105 ,115 ,120 ,130 );

Rectangle (105 ,140 ,120 ,155 );

Rectangle (125 ,40 ,140,55 );

Rectangle (125 ,65 ,140 ,80 );

Rectangle (125 ,90 ,140 ,105 );

Rectangle (125 ,115 ,140 ,130 );

Rectangle (125 ,140 ,140 ,155 );

Rectangle (150 ,35 ,175 ,95 );

Rectangle (160 ,35 ,165 ,95 );

Rectangle (150 ,100 ,175 ,135 );

Rectangle (160 ,100 ,165 ,35 );

Rectangle (150 ,140 ,175 ,175 );

Rectangle (240 ,140 ,265 ,175 );

Rectangle (185 ,40 , 200 ,80 );

Rectangle (185, 65, 200, 55);

Rectangle (185 ,90 ,200 ,105 );

Rectangle (150 ,140 ,175 ,135 );

Rectangle (205 ,40 ,220 ,55 );

Rectangle (205 ,65 ,220 ,80 );

Rectangle (205 ,90 ,220 ,105 );

Rectangle (205 ,115 ,220 ,130 );

Rectangle (205 ,140 ,220 ,155 );

Rectangle (240 ,35 ,265 ,95 );

Rectangle (240 ,100 ,265 ,135 );

Rectangle (250 ,35 ,255 , 95);

Rectangle (250 ,100 ,255 ,135 );

Rectangle (185 ,115 ,200 ,155 );

Rectangle (185,115,200,135);

Rectangle (70,140, 95,175);

Line(240 ,55 ,265 ,55 );

Line(240 ,120 ,260 ,120 );

Line(150 ,55 ,175 ,55 );

Line(150 ,80 ,175 ,80 );

Line(84 ,140 ,84 ,175 );

Line(70 ,175 ,60 ,190 );

Line(95 ,175 ,105 ,190 );

Line(175 ,175 ,185 ,190 );

Line(240 ,175 ,230 ,190 );

Line(265 ,175 ,275 ,190 );

Line (70,55,95,55);

line (70,80,95,80);

Line(30 ,15 ,15 ,30 );

Line(30 ,15 ,250 ,15 );

Line(250 ,15, 265, 30 );

Line (163, 140, 163,175);

Line (150,120,175,120);

circle (93 ,23 ,5 );

circle (143 ,23 ,5 );

circle (203 ,23 ,5 );

circle (80 ,160 ,2);

circle (85 ,160 ,2);

circle (160 ,160 ,2 );

circle (165 ,160 ,2 );

circle (245 ,160 ,3 );

readln;

closegraph

end.

Жұлдыз

Program esso;uses crt,graph;

Var Gd,Gm :integer;

begin

Gd:=Detect;

Initgraph(gd,gm,'c:\tp\ bgi');

setbkcolor (2);

Cleardevice;

Line (55,154,77,121);

line(77,121,83,161);

line(83,161,89,121);

line(89,121,113,154);

line(113,154,100,115);

line(100,115,135,136);

line(135,136,107,106);

line(107,106,148,109);

line(148,109,110,95);

line(110,95,148,41);

line(148,81,107,83);

line(107,83,136,55);

line(136,55,100,74);

line(100,74,112,36);

line(112,36,88,69);

line(88,69,82,30);

line(82,30,76,69);

line(76,69,54,36);

line(54,36,66,74);

line(66,74,30,54);

line(30,54,59,82);

line(59,82,18,80);

line(18,80,57,94);

line(57,94,17,109);

line(17,109,60,105);

line(60,105,31,135);

line(31,135,67,115);

line(67,115,55,154);

line(96,265,102,237);

line(102,237,120,260);

line(120,260,111,236);

line(111,236,136,248);

line(136,248,116,228);

line(116,228,145,231);

line(145,231,117,221);

line(117,221,144,209);

line(144,209,117,215);

line(117,215,133,192);

line(133,92,109,206);

line(109,206,119,178);

line(119,178,103,201);

line(103,201,100,175);

line(100,175,94,203);

line(94,203,79,180);

line(79,180,85,205);

line(85,205,62,192);

line(62,192,81,208);

line(81,208,61,192);

line(61,192,81,208);

line(81,208,61,192);

line(61,192,81,212);

line(81,212,52,209);

line(52,209,79,219);

line(79,219,53,229);

line(53,229,81,228);

line(81,228,62,247);

line(62,247,88,235);

line(88,235,77,262);

line(77,262,94,239);

readln;

closegraph;

end.


Графикалық құрылымдарды тұрғызу.

Program E1;

uses graph, crt;

var graphdriver, graphmode:integer;

begin clrscr;

initgraph ( graphdriver, graphmode,'c:\tp7\bgi');

line (150,100,67,100);

line (67,100,102,68);

line (102,68,150,100);

floodfill (100,90,15);

delay(2000);

clearviewport;

bar(73,49,141,109);

delay(2000);

clearviewport;

line (73,49,103,79);

line (103,79,92,120);

line (92,120,50,120);

line (50,120,31,79);

line (31,79,73,49);

floodfill(90,90,15);

delay(2000);

clearviewport;

line(73,49,111,49);

line(111,49,132,71);

line(132,71,111,93);

line(111,93,73,93);

line(73,93,52,71);

line(52,71,73,49);

floodfill (100,90,15);

repeat;

until keypressed;

closegraph;

end.

Москиттердің түндегі қозғалысын бейнелеу.

program mosguitoes;

uses graph, crt;

const

population=150;

type

mosguito=object

xy,vx,vy,x,y,color:integer;

procedure init;

procedure draw;

procedure erase;

procedure new_parm;

procedure live;

end;

var

m:array[1.. population] of mosguito;

gd,gm,i:integer;

procedure mosguito. Init;

begin

x:=random(getmaxx);

y:= random(getmaxy);

vx:=3

vy:=3

color:=random(7)+8;

draw;

end;

procedure mosguito. Draw;

begin

setcolor(color);

line(x,y,x+vx,y+vy);

line(x-1,y+1,x+vy,y-vx+1);

line(x,y,x-vy,y+vy);

end;

procedure mosguito.erase;

begin

end;

procedure mosguito.new_parm;

begin

x:=x+random(9)-4;

y:=y+random(9)-4;

end;

procedure mosguito.live;

begin

erase;

new_parm;

draw;

end;

begin

gd:=detect;

initgraph(graphdriver, graphmode,'c:\tp7\bgi');

setfillstyle(1,yellow);

fillellipse(95,95,55,55);

setwritemode(xorput);

for i:=1 to population do m[1].init;

repeat;

for i:=1 to population do

begin

sound(1000);

m[i].live;

nosound;

end;

until keypressed;

closegraph;

end.

Грибок

program ex3; uses graph, crt;

var gd,gm,errc:integer; R,i,j, width:integer;

x0,y1,y2,x1,x2:integer; P:pointer; Size:Word;

begin

gd:=detect; initGraph(gd,gm,'');

setbkcolor(8);

errc:=GraphResult; if errc=grOK then begin

FillEllipse(getmaxX div 4, getmaxy div 5, 60,30);

FillEllipse(getmaxX div 4-50, getmaxy div 5+10,60,30);

FillEllipse(getmaxX div 4+40, getmaxy div 5-30,30,14);

FillEllipse(getmaxX div 4-18, getmaxy div 5+25,40,30);

size:=ImageSize(getmaxX div 4-150, getmaxy div 5-45, getmaxX div 4+70, getmaxy div 5+60);

GetMem(P,Size);

GetImage(getmaxX div 4-150, getmaxy div 5-45, getmaxX div 4+70, getmaxy div 5+60,p^);

setcolor(green); setfillstyle(3,green); bar(0,350,650,450);

setfillstyle(1,15);

for j:=5 to 40 do begin

putImage(getmaxX div 4-250+j*25, getmaxy div 5-45, p^,0);

For I:=1 to j do begin setcolor(yellow);

ellipse(280,350,0,360,5+i,15+i);

FillEllipse(280,330-i,5+i*2,3+i);

end; Delay(100); end; readln; end else Halt(10);

end.

«65 анимация»

uses crt,graph;

var d,m,e,dx,dy,xd,yd,i:integer;

begin

d :=Detect;

initgraph(d, m, '');

e := graphresult;

if e <> grok then

writeln(grapherrormsg(e))

else

begin

dx:=0;

dy:=200;

xd:=600;

yd:=200;

settextstyle(4,0,8);

repeat

for i:=1 to 270 do begin

if dx>=0 then begin dx:=dx+1;

outtextxy(dx,dy,'A');

end;

if xd<=600 then begin xd:=xd-1;

outtextxy(xd,yd,'s');

end;

delay(800);

if dx=269 then begin

setcolor(red);

outtextxy(xd,yd,'s');

outtextxy(dx,dy,'A');

delay(25000);

setcolor(yellow);

outtextxy(xd,yd,'s');

outtextxy(dx,dy,'A');

delay(25000);

setcolor(green);

outtextxy(xd,yd,'s');

outtextxy(dx,dy,'A');

delay(25000);

setcolor(white);

end;

cleardevice;

if keypressed then break

end;

for i:=1 to 270 do begin

if dx<=270 then begin dx:=dx-1;

outtextxy(dx,dy,'A');

end;

if xd>=330 then begin xd:=xd+1;

outtextxy(xd,yd,'s');

end;

delay(800);

cleardevice;

if keypressed then break;

end;

until keypressed;

end;

end.





Қорытынды

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

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

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


Пайдаланылған әдебиеттер тізімі


  1. О.Камардинов. Паскаль тілінде программалау. Алматы: Республикалқ баспа кабинеті, 1994ж.

  2. Е.Б.Шаметов. Паскаль тілін үйренейік. Шымкент, 1993ж.

  3. Нұрмұханбетова Г.К., Әмірбекұлы А., Сүлейменова Л., Турбо Паскаль тілінен практикум, Республикалық баспа кабинеті, Шымкент - 2003.

  4. Федеров А.Г. Особенности программирования на Borland Pascal Киев, 1994г.

  5. Васюкова Н. Д., Туляева В.В. Практикум по основам прораммированиям ЯЗЫК ПАСКАЛЬ. - М., Высшая школа, 1991г.

  6. Кауфман В.Ш. Языки программирования. Концепций и принцыпы. М.1993г.

  7. О.Камардинов, С.Азаматов. Информатика негіздері. Алматы, Рауан, 1993ж.

  8. Ж. Джонсон. К. Харрау. Решение задач в системе Турбо Паскаль. Москва Финансы и Статистика, 1991г.

  9. Фаронов В. В. Программирование на персональных ЭВМ в среде Турбо-Паскаль. Москва изд-во МГТУ6 1990г.



Ы.Алтынсарин атындағы 65 мектеп -

гимназиясының 10 «Ә» сынып оқушысы

Әжіхан Есбергеннің «Паскаль

программалау тілінде графикалық

режиммен жұмыс жасау» атты ғылыми

жұмысына

П І К І Р


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

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

Бұл тақырыпты қарастыра отырып, сызбалар мен суреттерге анимация жасау мүмкіндігіне ие болған. Есбергеннің бұл шығармашылық туындысын қалалық, облыстық шығармашылық сайысқа ұсынуға болады.





Аннотация


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

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





Аннотация

В нынешнее время есть различные виды программирования и с каждым днём всё развиваются и усовершенствуются. Ученик в своём научно - исследовательской работе поставил перед собой задачу научиться работать в графическом режиме Турбо Паскаля, которая широко известна в сфере информатики.

Ученик, создавая свои программы, получал результаты на компьютере . Он познакомился с функциями каждой операции и научился передвигать изображения в графическом режиме Турбо Паскаля. Это научное изыскание - еще один вклад для тех, кто начинает овладевать языком программирования.





Abstract

At the present time there are different types of programming every day and develop improved. The student in his research - research work on the challenge to learn to work in graphical mode, Turbo Pascal, which is widely known in the field of informatics.

The student, creating their own programs, getting results on the computer. He became acquainted with the functions of each operation, and learned to remove the image in graphical mode Turbo Pascal. It is a scientific research - another contribution for those who are beginning to master a programming language.


33


© 2010-2022