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

Лабораторна робота № 12 Робота з динамічними змінними

Мета роботи: Ознайомлення з динамічною структурою даних. Отримання навиків при роботі з динамічними змінними.

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

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

Загальний вигляд опису вказівного типу:

Type

<ім’я_вказівного типу>=^<ім’я_типу>;

Для динамічних об’єктів уводиться інша область пам’яті, яка називається купою, або динамічною областю пам’яті.

Функція MaxAvail без параметрів, яка повертає в програму максимальний розмір в байтах неперервного відрізка вільної пам’ яті , що використовується для розміщення динамічних змінних.

Функція MemAvail, яка повертає сумарний розмір всіх вільних областей динамічної пам’яті.

Для вивільнення пам’яті , відведеної за допомогою процедури чи функції new, використовується обернена до неї стандартна процедура dispose.

Над змінними вказівного типу визначені лише операції, які приводять до значень того ж типу. З ними виконуються лише операції присвоєння і порівняння.

Program vkaz ;

{1}var

c1 , c2 : ^ integer; {оглошуємо два вказівники}

begin

{2}new(c1); {резервуємо пам’ять для цілого числа}

new(c2); {резервуємо пам’ять для цілого числа}

{3}c1^ :=5; {змінна c1^ отримує значення 5}

c2^ :=7; {змінна c1^ отримує значення 7}

writeln (c1^,c2^); {виводимо 5 і 7}

{4}c1 :=c2; {переадресація}

writeln (c1^,c2^); {виводимо 7 і 7}

{5}c2 :=nil; {вказівник с2 занулюємо}

{6}dispose(c2); {пам’ять , надану для с2, вивільняємо}

writeln(c1^); {виводимо 7}

end.

ЗАВДАННЯ

Ознайомитись із динамічними типами даних, які вживаються у Паскалі.

Одержати індивідуальне завдання.

Скласти блок-схему алгоритму і програму на Паскалі для реалізації поставленого завдання.

Виконати обчислення по програмі.

ЗМІСТ ЗВІТУ

  1. Мета роботи.

  2. Короткий опис методів зображення алгоритмів обчислювальних процесів та їх програмування на алгоритмічній мові ПАСКАЛЬ.

  3. Індивідуальне завдання.

  4. Блок-схема алгоритму для обчислення по індивідуальному завданню.

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

  6. Аналіз результатів, висновки.

КОНТРОЛЬНІ ЗАПИТАННЯ

  1. Які типи даних називаються динамічними?

  2. Як в розділі типів задається динамічний тип?

  3. Що робить функція MaxAvail ?

  4. Що робить функція MemAvail?

Варіанти завдань:

Скласти список підручників для N-го курсу, вказавши назву, прізвище автора, рік видання , ціну, тираж, впорядкувати його по

прізвищу автора;

року видання;

ціні;

тиражі.

Скласти список кабінеті в технікумі для М-го поверху, вказавши назву кабінету, номер, кількість місць і впорядкувати його по

назві кабінету;

по номеру;

кількості місць.