Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_Pascal_Lesya Ugryn.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.83 Mб
Скачать

7.3. Контрольні запитання з теми

  1. Що розуміють під записом у мові Turbo Pascal ? Наведіть приклад запису.

  2. Чим відрізняється запис від масиву ?

  3. Як описати тип запис ? Наведіть приклад.

  4. Як здійснюється доступ до полів запису ? Наведіть приклади.

  5. Які дії можна виконувати над записом в цілому ?

  6. Які дії можна виконувати над полями запису ?

  7. Чи всі поля запису повинні бути різних типів?

  8. Яке призначення оператора приєднання ?

  9. Як описати запис з варіантною частиною ? Наведіть приклад.

  10. Перерахуйте способи, як можна ввести інформацію у змінну типу запис.

Лабораторна робота № 8

Тема:

Графічні операції.

Мета:

Навчитись складати програми з використанням графічних операцій.

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

Для роботи в графічному режимі Pascal, фірма Borland створила спеціальний модуль Graph, який реалізує бібліотеку підпрограм графічних процедур та функцій самого широкого профілю. Розглянемо коротко основні підпрограми цього модуля.

8.1.1. Ініціалізація графічного режиму

Для використання бібліотеки графічних підпрограм, до програми необхідно підключити модуль Graph за допомогою директиви Uses Graph.

Графічні режими роботи комп‘ютера залежать від типу відіоадаптера, який встановлено. Основні характеристики найбільш розповсюджених адаптерів подано в таблиці 8:

Таблиця 8

Назва

Режим

Розмір екрану

(в піксилях)

Кількість

Кольорів

Кількість

відеосторінок

CGA

CGAC3=3

CGAHI=4

320 х 200

640 х 200

4

2

1

1

EGA

EGALO=0

EGAHI=1

640 х 200

640 х 350

16

16

4

2

VGA

VGALO=0

VGAMED=1

VGAHI=2

640 х 200

640 х 350

640 х 480

16

16

16

4

2

1

IBM8514

IBM8514=1

1024 х 768

256

1

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

InitGraph( <ім‘я драйвера>, <режим>, <шлях до драйвера>);

Для першого параметра в модулі Graph визначаються такі константи:

Direct = 0;

CGA = 1;

EGA = 3;

IBM8514 = 6;

VGA = 9.

При цьому можна вживати або ім‘я константи, або відповідне число. В першому випадку, коли тип адаптера невідомий, або програма використовується на різних комп‘ютерах, на місці першого параметра задають Direct.

Параметр <Режим> вибирається з таблиці, наприклад VGAHI або число 2.

На місці третього параметра треба вказати шлях до каталогу, де зберігається відповідний драйвер підтримки вибраного режиму.

Приклад:

InitGraph(VGA, 2, ‘D:\PAS\BGI’); Якщо ініціалізація пройде успішно, можна планувати зображення на екрані з розрахунку 640 х 480 пікселів.

InitGraph(Detect, Regim, ‘’); Після тестування буде визначено тип адаптеру і вибрано режим, який задекларовано найбільшою цифрою. Так, якщо буде виявлено адаптер EGA, то для нього вибрано режим EGAH=1, тобто 640 х 350 пікселів. Тут на місці третього параметра вказано пустий рядок, який означає, що відповідний драйвер повинен розміщуватися в поточному каталозі.

В розгляненому прикладі на місці третього параметра вказано пустий рядок, це значить, що відповідний драйвер повинен розміщуватися у каталозі разом з компілятором Turbo Pascal, інакше виникне помилка. Драйвери зберігаються у файлах з розширенням .bgi (cga.bgi, egavga.bgi та інші).

Рекомердується завжди перевіряти результат роботи процедури InitGraph, для чого використовується функція GraphResult. Якщо вона повертає значення 0, значить ініціалазація пройшла успішно, інакше виявлено помилку.

Інша функція GraphErrorMsg повертає код помилки.

Приклад:

Типова ініціалізація:

Var Driver, Reg, Error: Integer;

Begin

Driver:=Detect;

InitGraph(Driver, Reg, ‘’);

Error:=GraphResult;

If Error<.0 then begin

Writeln(GraphErrorMsg(Error));

Halt;

end

else … { продовжувати працювати в графічному режимі.}

End.

Якщо, наприклад, з’явився код помилки, рівний числу 8, значить не знайдено графічного драйверу.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]