Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Labs7-12.doc
Скачиваний:
10
Добавлен:
10.05.2015
Размер:
131.58 Кб
Скачать

Лабораторная работа n 12.

Динамические переменные.

Цель и задача работы: научиться создавать, использовать и уничтожать динамические переменные (ссылки).

В данной работе требуется реализовать лабораторную работу номер 11 с помощью динамических переменных, т.Е. Сначала из файла считываются все данные в память, обрабатываются и оттуда записываются в файл.

Теоретические положения.

Использование при программировании статических объектов (объекты, порождаемые непосредственно перед выполнением программы, которые существуют в течении всего времени ее выполнения и размер значений которых (объем машинной памяти) не изменяется по ходу выполнения программы) может вызвать определенные трудности, особенно с точки зрения получения эффективной программы, а также эффективность бывает чрезвычайно важной при решении ряда задач. Дело в том, что иногда мы заранее (т.е. на этапе составления программы) не знаем не только размера значений того или иного программного объекта, но даже и того, будет ли нужен в той ситуации этот объект или нет. Такого рода программные объекты, которые возникают в процессе выполнения программы или размер которых определяется (или изменяется) при выполнении программы, называются динамическими объектами (или динамическими переменными).

В языке программирования Паскаль для работы с динамическими объектами предусмотрен специальный тип значений - так называемый ссылочный тип. Значением этого типа является ссылка на какой-либо программный объект, по которой осуществляется непосредственный доступ к этому объекту. На машинном языке такая ссылка как раз и представляeтся указателем места в памяти (адреса), соответствующего объекта.

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

^ (или стрелка вверх) - признак ссылочного типа

формат описания:

тип-POINTER - "^" идентификатор-типа.

Для переменных ссылочного типа определены следующие процедуры:

NEW(P); - создает динамическую переменную P

DISPOSE(P); - уничтожает динамическую переменную P

В некоторых случаях возникает необходимость в качестве значения указателя принять ссылку, которая не связывает с данным указателем никакого объекта, т.Е. "Пустую ссылку" - NIL.

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