Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Паскаль.doc
Скачиваний:
127
Добавлен:
30.04.2015
Размер:
661.5 Кб
Скачать

Контрольные задания

  1. Составить две программы. Первая из них записывает в текстовый файл N строк текста. Вторая должна выводить текст из файла на экран в виде строк заданной длины.

  2. «Роза ветров». Файл содержит информацию о том, направлении ветра в течение каждого для прошедшего года в некотором населенном пункте. Составить программу, которая определяет, в каком направлении от города нужно строить металлургический комбинат. Файл должен создаваться вспомогательной программой.

  1. «База данных». Составить программу, которая создает и обрабатывает базу данных о

    1. книгах;

    2. товарах на складе;

    3. кинофильмах;

    4. школах города;

    5. факультетах университета;

    6. сотрудниках фирмы.

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

  1. Ввод данных.

  2. Вывод данных на экран.

  3. Дополнение базы данных.

  4. Редактирование базы данных.

  5. Поиск данных.

  6. Сортировка данных.

  7. Завершение работы.

Программа должна предлагать меню, запрашивать номер требуемого режима работы, выполнять необходимые действия до тех пор, пока пользователь не выберет режим «Завершение работы».

Тема 14. Динамические переменные в языке Паскаль Краткое изложение теоретического материала Статические и динамические переменные

Переменные в тексте программы описываются в разделе описания переменных. Например:

Var a, b : integer;

s : string;

m : array [1..100] of real;

Такие «обычные» статические переменные располагаются в части оперативной памяти компьютера, называемой сегментом данных (64 Кб). Перед исполнением программы в сегменте данных резервируются участки памяти, размер которых соответствует типу переменных, описанных в разделе описания переменных (VAR).

Кроме того, программист имеет возможность использовать в своей программе динамические переменные, память для которых резервируется уже в процессе исполнения программы и затем, если в них больше нет необходимости, может быть освобождена. Такие переменные располагаются в другой части оперативной памяти компьютера. Такая динамически распределяемая память называется кучей (Heap-областью).

Необходимость в использовании динамических переменных возникает в следующих случаях:

  1. Программа должна обрабатывать большие объемы данных (более 64 Кб).

  2. Программа должна обрабатывать данные, объем памяти для хранения которых заранее неизвестен.

  3. Тип обрабатываемых данных заранее неизвестен.

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

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

Указатели

Указатель – это переменная целого типа, которая интерпретируется как адрес какого-либо элемента данных (переменной, константы, адреса другого элемента данных). Т.е. указатель – это адрес. Кроме этого, употребляют термин ссылка. Это синонимы.

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

Например, после исполнения команды присваивания

p := Addr (a);

в переменную p будет записан адрес1 переменной a. Вместо функции Addr можно использовать оператор @. То есть, вместо записанной выше команды можно написать:

p := @a;

В языке Турбо Паскаль указатели бывают двух видов – типизированные и нетипизированные.