Использование динамических структур

  • doc
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 89. Практическая работа по теме Использование динамических структур.doc

Лабораторная работа №4

Использование динамических структур

Цель: получение знаний и навыков по созданию динамических структур, их использованию, сферам применения.

Вид работы: индивидуальный.

Время выполнения: 2 часа.

Теоретические сведения:

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

Кольцевые списки — это такие же данные, как и линейные списки, имеющие дополнительную связь между последним и первым элементами списка.

Очередь — частный случай линейного односвязного списка, для которого разрешены только два действия: добавление элемента в конец (хвост) очереди и удаление элемента из начала (головы) очереди.

Стек — частный случай линейного односвязного списка, для которого разрешено добавлять или удалять элементы только с одного конца списка, который называется вершиной (головой) стека.

Указатель объявляется с помощью специального символа каре (^), за которым записывается идентификатор типа динамической переменной:

Type имя_типа=^тип;

Var имя переменной=имя типа;

Или

Var имя переменной:^имя типа;

Например:

A,B,C:^Integer;

В этом случае переменные A,B,C являются указателями на переменные типа Integer. Для обращения к значениям этих переменных служат идентификаторы A^,B^,C^, то есть имя переменной и знак каре.

Кроме того, указатель может быть объявлен явно следующим образом:

Var p:Pointer;

Значения указателей можно сравнивать только с помощью проверки на равенство и неравенство. Допустимо также использование оператора присваивания. Для динамических переменных (A^,B^,C^) допустимы все те же операции, что и над обычными переменными данного типа.

Задания к работе:

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

2)                Создайте очередь из n элементов и стек из m элементов. Добавьте элементы очереди в вершину стека.

Контрольные вопросы:

1)                В чём заключается особенность объявления данных динамической структуры?

2)                Что выполняет операция разыменования?

3)                С помощью каких процедур происходит распределение памяти под динамические переменные?

4)                Какие состояния может принимать указательная переменная?

5)                Каким образом выражаются динамические свойства несвязанных динамических данных?

6)                В чём заключаются отличия при обработке стека и очереди?

 


Скачано с www.znanio.ru