Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
23
Добавлен:
10.12.2013
Размер:
714.24 Кб
Скачать

Министерство высшего и среднего образования РФ

Волжский университет им. В.Н.Татищева

Факультет «Информатика и телекоммуникации»

Кафедра “Информатика и системы управления”

УТВЕРЖДАЮ

Проректор по УР

___________Е.В.Филатова

«____»_____________2001г.

Методические указания

для выполнения лабораторных работ

по дисциплине “Алгоритмические языки и программирование”

на тему “Динамические переменные”

Тольятти

2001

оглавление

1. Работа с динамическими структурами данных. 4

1.1.Переменные – указатели. 4

1.2.Операции с указателями. 5

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

2.1. Односвязные списки 6

2.2.Двусвязные списки. 12

2.3.Бинарные деревья. 14

Методическое пособие предназначено для студентов дневного и заочного отделений специальностей «Информационные системы» и «Вычислительные машины, комплексы, системы и сети» для ознакомления студентов с краткими теоретическими сведениями по динамическим переменным, односвязными списками, двусвязными списками, бинарными переменными.

Составитель:

ст. преподаватель Ахмедханлы Д.М.

Рассмотрено на заседании кафедры Утверждено на заседании кафедры

«Информатика и системы управления» «Информатика и системы управления»

«____»_____________________2001г. Протокол №______

от «____»___________________2001г.

Зав.Кафедрой, к.Т.Н., доцент ___________________________с.В.Краснов

1. Работа с динамическими структурами данных.

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

Значения переменных в ходе выполнения программы могут меняться, но само количество переменных остается неизменным.

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

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

1.1.Переменные – указатели.

При работе с данными динамической структуры в разделе описаний указывается не сама переменная какого-либо типа, а указатель (ссылка) на нее.

В результате указатель будет обычной переменной, а переменная, на которую он указывает – динамической.

Например:

var.

типизированные указатели.

p4:^ pointer; - не типизированный указатель.

^ - означает переменную-указатель.

р1 – указатель на переменную целого типа.

P2 -- указатель на переменную символьного типа.

р3 – указатель на переменную вещественного типа.

р4 – используется для динамического размещения данных, структура и тип которых меняется в ходе выполнения программы.

1.2.Операции с указателями.

1. var

p:^ integer;

Указатель находится в неопределенном состоянии, после его описания.

  1. n

    ew(p);

Процедура new (p) – отводит место в оперативной памяти под хранение

переменной целого типа, и этот адрес вносится в указатель р.

  1. p: = nil;

Указатель на пустой адрес.

  1. dispose(p);

Процедура dispose освобождает память занимаемую динамической переменной и она (память) становится доступна для других динамических переменных.

Пример:

Program din_per;

type:

p=^ integer;

var

a, b: p;

begin

new (a); {Выделение памяти под а}

new (b); {Выделение памяти под b}

a^: =1; {Занесение информации в а}

b^:=2; {Занесение информации в b}

a^: =b^; {Копирование информации}

dispose (a); {Освобождение памяти}

a: =b; {Копирование адреса}

end.

a – обращение к адресу; a^ - обращение к информации.

Соседние файлы в папке Лекции