48055 (608443)

Файл №608443 48055 (Побудова динамічної графіки)48055 (608443)2016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

МІНІСТЕРСВО ОСВІТИ І НАУКИ УКРАЇНИ

ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ

ФАКУЛЬТЕТ ФІТІС

КАФЕДРА КОМП’ЮТЕРНИХ СИСТЕМ

КУРСОВИЙ ПРОЕКТ

з дисципліни ”Програмування”

не тему: ”Побудова динамічної графіки”

ЧДТУ 03 ****.001 ПЗ

Пояснювальна записка

Керівник: Виконав:

асистент кафедри КС студент І-го курсу

Ярошевич Д.О. групи КМ-311

Кулинич Євгеній

допущено до захисту: _______________

”___”_________2004р. (підпис)

захищено з оцінкою:

_________________

”___”_________2004р.

_________________

(підпис)

Черкаси 2004

ЗМІСТ

1. Теоретичні відомості 2

2. Блок-схема 2

3. Текст програми 2

4. Результати роботи програми 2

1. Теоретичні відомості

  • Процедури і функції

  • Координати, вікна, сторінки

  • Багатокутники

  • Дуги, кола, еліпси

  • Фарби, палітри, заповнення

  • Збереження і видача зображень

  • Виведення тексту

  • Включення драйвера і шрифтів в тіло програми

Починаючи з версією 4.0, до складу Турбо Паскаля включена могутня бібліотека графічних підпрограм Graph, що залишається практично незмінною у всіх подальших версіях. Бібліотека містить в цілому більше 50 процедур і функцій, що надають програмісту найрізноманітніші можливості управління графічним екраном. Для полегшення знайомства з бібліотекою всі процедури і функції, що входять до неї, згруповані за функціональним принципом.

  • Процедури і функції

Процедура InitGraph. Ініціює графічний режим роботи адаптера.

Заголовок процедури:

Procedure InitGraph(var Driver,Mode: Integer; Path: String);

Тут Driver - змінна типу Integer, визначає тип графічного драйвера; Mode - змінна того ж типу, задаюча режим роботи графічного адаптера; Path - вираз типа String, що містить ім'я файлу драйвера і, можливо, маршрут його пошуку.

До моменту виклику процедури на одному з дискових носіїв інформації повинен знаходитися файл, що містить потрібний графічний драйвер. Процедура завантажує цей драйвер в оперативну пам'ять і переводить адаптер в графічний режим роботи. Тип драйвера повинен відповідати типу графічного адаптера. Для вказівки типу драйвера в модулі приречені наступні константи:

const

Detect=0;{Режим автовизначення типу}

CGA=1;

MCGA=2;

EGA=3;

EGA64=4;

EGAMono=5;

IBM8514=6;

HercMono=7;

ATT400=8;

VGA=9;

PC3270=10;

Більшість адаптерів може працювати в різних режимах. Для того, щоб вказати адаптеру необхідний режим роботи, використовується змінна Mode, значенням якої у момент звернення до процедури можуть бути такі константи:

const

{ Адаптер CGA : }

CGACO = 0;

{Низьке розширення, палітра 0}

CGAC1 = 1;

{ Низьке розширення, палітра 1}

CGAC2 = 2;

{ Низьке розширення, палітра 2}

CGAC3 = 3;

{ Низьке розширення, палітра 3}

CGAHi = 4;

{ Високе розширення }

{Адаптер MCGA:}

MCGACO = 0;

{Емуляція CGACO}

MCGAC1 = 1;

{Емуляція CGAC1}

MCGAC2 = 2;

{Емуляція CGAC2}

MCGAC3 = 3;

{Емуляція CGAC3}

MCGAMed = 4;

{Емуляція CGAHi}

MCGAHi = 5;

{640x480}

{Адаптер EGA :}

EGALo = 0;

{640x200, 16 кольорів}

EGAHi = 1;

{640x350, 16 кольорів}

EGAMonoHi = 3;

{640x350, 2 кольори}

{Адаптери HGC і

HGC+:}

HercMonoHi = 0;

{720x348}

{АдаптерАТТ400:}

ATT400CO = 0;

{Аналог режиму CGACO}

ATT400C1 = 1;

(Аналог режиму CGAC1}

ATT400C2 = 2;

{Аналог режиму CGAC2}

ATT400C3 = 3;

{Аналог режиму CGAC3}

ATT400Med = 4;

{Аналог режиму CGAHi}

ATT400H1 = 5;

{640x400, 2 кольори}





{Адаптер VGA:}

VGALo = 0; {640x200}

VGAMed = 1; {640x350}

VGAHi = 2; {640x480}

PC3270H1 = 0; {Аналог HercMonoHi}

{Адаптер 1ВМ8514}

IBM8514LO =0; {640x480, 256 кольорів}

IBM8514H1 = 1; {1024x768, 256 кольорів}

Нехай, наприклад, драйвер CGA.BGI знаходиться в каталозі TP\BGI на диску З і встановлюється режим роботи 320x200 з палітрою 2. Тоді звернення до процедури буде таким:

Uses Graph;

var

Driver, Mode : Integer;

begin

Driver := CGA;{Драйвер}

Mode := CGAC2;{Режим роботи}

InitGraph(Driver, Mode,' З:\TP\BGI');

.......

Якщо тип адаптера ПК невідомий або якщо програма розрахована на роботу з будь-яким адаптером, використовується звернення до процедури з вимогою автоматичного визначення типу драйвера:

Driver := Detect;

InitGraph(Driver, Mode, 'C:\TP\BGI');

Після такого звернення встановлюється графічний режим роботи екрану, а при виході з процедури змінні Driver і Mode містять цілочисельні значення, що визначають тип драйвера і режим його роботи. При цьому для адаптерів, здатних працювати в декількох режимах, вибирається старший режим, тобто той, що закодований максимальною цифрою. Так, при роботі з CGA -адаптером звернення до процедури із значенням Driver = Detect поверне змінній Driver значення 1 (CGA) і в Mode -значення 4 (CGAHi), а також звернення до адаптера VGA поверне Driver = 9 (VGA) і Mode = 2 (VGAHi).

Функція GraphErrorMsg.

Повертає значення типу String, в якому за вказаним кодом помилки дається відповідне текстове повідомлення.

Заголовок функції:

Function GraphErrorMsg(Code: Integer): String;

Тут Code - код помилки, що повертається функцією GraphResult.

Частіше за все причиною виникнення помилки при зверненні до процедури InitGraph є неправильна вказівка місцеположення файлу з драйвером графічного адаптера (наприклад, файлу CGA.BGI для адаптера CGA). Настройка на місцеположення драйвера здійснюється завданням маршруту пошуку потрібного файлу в імені драйвера при виклику процедури InitGraph. Якщо, наприклад, драйвер зареєстрований в підкаталозі DRIVERS каталога PASCAL на диску D, то потрібно використовувати виклик:

InitGraph(Driver, Mode, 'd:\Pascal\Drivers');

Процедура CloseGraph.

Завершує роботу адаптера в графічному режимі і відновлює текстовий режим роботи екрану.

Заголовок:

Procedure CloseGraph;

Процедура RestoreCRTMode.

Слугує для короткочасного повернення в текстовий режим. На відміну від процедури CloseGraph не скидаються встановлені параметри графічного режиму і не звільняється пам'ять, виділена для розміщення графічного драйвера.

Заголовок:

Procedure RestoreCRTMode;

Функція GetGraphMode.

Повертає значення типу Integer, в якому міститься код встановленого режиму роботи графічного адаптера.

Заголовок:

Function GetGraphMode: Integer;

Процедура SetGraphMode.

Встановлює новий графічний режим роботи адаптера.

Заголовок:

Procedure SetGraphMode(Mode: Integer);

Тут Mode - код встановлюваного режиму.



Процедура DetectGraph.

Повертає тип драйвера і режим його роботи.

Заголовок:

Procedure DetectGraph(var Driver,Mode: Integer);

Тут Driver - тип драйвера; Mode - режим роботи.

На відміну від функції GetGraphMode описувана процедура повертає змінній Mode максимально можливий для даного адаптера номер графічного режиму.

Функція GetDriverName.

Повертає значення типу String, що містить ім'я завантаженого графічного драйвера. Заголовок:

Function GetDriverName: String;

Функція GetMaxMode.

Повертає значення типу Integer, що містить кількість можливих режимів роботи адаптера.

Заголовок:

Function GetMaxMode: Integer;

Функція GetModeName.

Повертає значення типу String, що містить розширення екрану і ім'я режиму роботи адаптера по його номеру.

Заголовок:

Function GetModName(ModNumber: Integer): String;

Тут ModNumber - номер режиму.

Процедура GetModeRange.

Повертає діапазон можливих режимів роботи заданого графічного адаптера. Заголовок:

Procedure GetModeRange(Drv: Integer; var Min, Max: Integer);

Тут Drv - тип адаптера; Min - змінна типа Integer, в якій повертається нижнє можливе значення номера режиму; Мах - змінна того ж типу, верхнє значення номера.

  • Координати, вікна, сторінки

Багато графічних процедур і функції використовують покажчик поточної позиції на екрані, який на відміну від текстового курсора невидимий. Положення цього покажчика, як і взагалі будь-яка координата на графічному екрані, задається щодо лівого верхнього кута, який, у свою чергу, має координати 0,0. Таким чином, горизонтальна координата екрану збільшується зліва направо, а вертикальна - зверху вниз.

Функції GetMaxX і GetMaxY.

Повертають значення типу Word, що містять максимальні координати екрану в поточному режимі роботи відповідно по горизонталі і вертикалі.



Функції GetX і GetY.

Повертають значення типу Integer, що містять поточні координати покажчика відповідно по горизонталі і вертикалі. Координати визначаються щодо лівого верхнього кута вікна або, якщо вікно не встановлено, екрану.

Процедура SetViewPort.

Встановлює прямокутне вікно на графічному екрані.

Заголовок:

Procedure SetViewPort(XI,Y1,X2,Y2: Integer; ClipOn: Boolean);

Тут X1...Y2 - координати лівого верхнього (XI,Y1) і правого нижнього (X2,Y2) кутів вікна; СНрОп - вираз типа Boolean, що визначає «відсічення» елементів зображення, що не уміщаються у вікні.

Координати вікна завжди задаються щодо лівого верхнього кута екрану. Якщо параметр ClipOn має значення True, елементи зображення, що не уміщаються в межах вікна, відсікаються, інакше межі вікна ігноруються. Для управління цим параметром можна використовувати такі певні в модулі константи:

const

ClipOn = True; {Включити відсічення}

ClipOff = False; {He включати відсічення}

Процедура GetViewSettings.

Повертає координати і ознаку відсічення поточного графічного вікна.

Заголовок:

Procedure GetViewSettings(var Viewlnfo: ViewPortType);

Тут Viewlnfo - змінна типа ViewPortType. Цей тип в модулі Graph визначений таким чином:

type

ViewPortType = record

x1,y1,x2,y2: Integer; {Координати вікна}

Clip : Boolean {Ознака відсічення}

end ;

Процедура MoveTo.

Встановлює нове поточне положення покажчика.

Заголовок:

Procedure MoveTo(X,Y: integer);

Тут X, Y - нові координати покажчика відповідно по горизонталі і вертикалі.

Координати визначаються щодо лівого верхнього кута вікна або, якщо вікно не встановлено, екрану.

Процедура MoveRel.

Встановлює нове положення покажчика у відносних координатах.

Procedure MoveRel(DX,DY: Integer);

Тут DX,DY- прирости нових координат покажчика відповідно по горизонталі і вертикалі.

Прирости задаються щодо того положення, яке займав покажчик до моменту звернення до процедури.

Процедура ClearDevice.

Очищає графічний екран. Після звернення до процедури покажчик встановлюється в лівий верхній кут екрану, а сам екран заповнюється кольором фону, заданим процедурою SetBkColor.

Заголовок:

Характеристики

Тип файла
Документ
Размер
2,63 Mb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6551
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее