Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
програмування - екзамен.doc
Скачиваний:
4
Добавлен:
09.09.2019
Размер:
162 Кб
Скачать
☆

24.Графічні засоби turbo pascal. Модуль graph. Ініціалізація графічного режиму. Основні процедури та функції.

Задання графічного режиму:

<розділи описів та оголошень конкретної програми>

var driver,mode: integer; {для характеристик дисплея}

begin

driver:=detect;

initgraph (driver, mode, ‘’); {задання графічного режиму}

if graphresult<>0 then

begin

writeln(’графічний режим задати не вдалось’);

halt; {стоп} end;

<текст конкретної програми з графічними командами> end.

Програми, що виконують графічні побудови, переважно є лінійними і складаються з викликів стандартних графічних процедур та функцій, зібраних у модулі Graph.tpu. Сам модуль може бути в бібліотеці Turbo.tpl або в деякому каталозі на диску. Модуль треба приєднати командою uses на початку програми. Основні процедури модуля Graph: setcolor(колір) – колір зображення; setbkcolor(колір) – колір тла; bar – зафарбований прямокутник; circle(x, y, R) – рисує коло з центром (x, y) та радіусом R; floodfill(х, у, колір межі) – заповнює замкнену область, що містить точку (х,у); outtextxy – виводить текст у заданому місці. Функції модуля Graph: getmaxx – значення розміру екрана уздовж осі ОХ; getmaxy – повертає значення розміру екрана уздовж осі ОY; getx, gety – повертають координати поточного пікселя; getcolor – повертає значення поточного кольору. Кількість точок на екрані може бути різною, що залежить від якості екрана.

25.Вказівний тип. Створення динамічних об’єктів. Операції над змінними вказівного типу та покажчиками. Знищення динамічних об’єктів.

Змінні, які описуються директивою var і їх значення зберіг. в ділянках ОЗУ, є статичними; а ті, які створ. і знищ. в процесі виконання програми – динамічними.

Для роботи з динамічними змінними використовують тип даних – вказівник(покажчик) Покадчик – адреса на дані певного типу. Під довільний покажчик виділяється 4 байти статичної пам’яті. Існують типізовані та нетипизовані покажчики. Типизований вказує на дані строго визначеного типу і описується за допомогою «^» у розділі type так:

type <назва типу> = ^ <базовий тип>; Нетипизований покажчик не зв’язується з певним типом даних і огол. так: var <покажчик>:pointer;

Розрізняють операції над вказівником на динамічну змінну та операції над самою динамічною змінною. Над вказівниками визначені 3 операції : 1)присвоєння <вказівник 1>:=<вказівник 2>; 2)порівняння - вказівник можна порівнювати лише на рівність та нерівність. Результатом порівняння є false або true. 3)розіменування - щоб отрим. значення, на яке посилається покажчик, потрібно викон. розіменування покажчика. Ця операція позн. символом «^», який запис. після ідентифікатора покажчика. Над динам. змінними можна викон. всі ті операції, які визн. для базового типу. При оголош. покажчика його поч. значенням є nil. Для типізованого покажчика можна виділити динам. пам’ять через процедуру new(тип покажч.) та вивільнити динам. пам’ять через процедуру dispose(тип покажч.). Для нетипизованих покажчиків: виділення – getMem, вивільнення – freeMem.

26.Організація динамічних структур даних. Динамічні рядки символів. Дії з динамічними рядками. Списки. Алгоритм введення, вилучення та пошуку елементів.

Динамічні структури – структури даних, розмір яких (об’єм пам’яті, що вони займають) може змінюватись у процесі виконання програми. Для організації динамічних структур використовуються динамічні змінні, які створюються та знищуються в процесі виконання програми. Характеризуються: ці змінні явно не описуються, до них неможливо звернутись за допомогою ідентифікатора; пам’ять для цих змінних не виділяється під час формування коду програми, вона виділяється у спеціальній області оперативної пам’яті; доступ до тих змінних виконується за допомогою покажчиків (чи посилань), які стають активними після визначення динамічного об’єкту та містять адресу. Список – це динамічна структура даних, що містить скінчене число аргументів, які між собою пов'язані через вказівники (покажчики). Розрізняють такі види списків: однозв'язний лінійний список; двозв'язний лінійний список; однозв'язний циклічний список; двозв'язний циклічний список, стеки, черги.

Алгоритм створення нового елемента в списку: 1)виділити динамічну пам'ять: new(elem); 2)заповнення поля даних: readln(elem^.fio); в поле вказівника на наступний елемент вказати nil, якщо це останній, або вказівник на наступний елемент: elem^.next:=nil; new(elem^.next).