- •Содержание
- •Раздел 1.Подпрограммы Общие сведения
- •Процедуры Описание процедур
- •Вызов процедур
- •Процедуры без параметров
- •Процедуры с параметрами
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Параметры-переменные без типа
- •Параметры процедурного типа
- •Использование производных типов в качестве параметров подпрограмм
- •Принцип локализации имен
- •Функции Описание функций
- •Вызов функции
- •Рекурсивные подпрограммы
- •Директивы
- •Библиотечные модули пользователя Общие сведения
- •Структура модуля Unit
- •Особенности работы с модулями
- •Подключение к программе внешнего файла
- •Раздел 2.Простейший ввод-вывод Процедуры ввода из стандартного текстового файла Input
- •248 15 4 70 Значения 1-й строки
- •11 Значения 2-й строки
- •Процедуры вывода в стандартный текстовый файл Output
- •Раздел 3.Записи Структура записи
- •Записи без вариантной части
- •Записи с вариантами
- •Оператор присоединения With
- •Константа-запись
- •Раздел 4.Множества Общие сведения
- •Конструктор множества
- •Задание множественного типа
- •Операции над множествами
- •Ввод / вывод значения множественной переменной
- •Типизованные константы-множества
- •Раздел 5.Файлы Общие сведения
- •Процедура Assign
- •Файлы с типом
- •Процедура Assign
- •Процедура Rewrite (f)
- •Процедура Write (f, v1 [, v2, … , vn])
- •Процедура Reset (f)
- •Процедура Read (f, V [, v2, …, vn])
- •Функция Eof(f)
- •Процедура Seek (f, n)
- •Функция Filepos (f)
- •Функция Filesize(f)
- •Процедура Close (f)
- •Текстовые файлы
- •Процедура Assign (f, Name)
- •Процедура AssignСrt(f)
- •Процедура Append (f)
- •Процедура Rewrite (f)
- •Процедура Reset (f)
- •Процедура Read ([f,] v1 [, v2, …, vn])
- •Процедура Readln [([f] [,] [v1, v2, …, vn])]
- •Процедура Write ([f,] e1 [, e2, …, en])
- •Процедура Writeln([f,][e1,e2, …,en])
- •Процедура Close(f)
- •Процедура SetTextBuf (f, Buf [, Size])
- •Процедура Flush (f)
- •Сравнительная характеристика представления информации в файлах с типом и текстовых файлах
- •I. Представление числовой информации.
- •II. Представление текстовой информации.
- •Файлы без типа
- •Процедуры Reset и Rewrite
- •Процедура Blockread
- •Процедура Blockwrite
- •Проверка операций ввода-вывода
- •Раздел 6.Ссылочный тип (тип указатель) Общие сведения
- •Методы работы с динамическими переменными
- •Процедуры New и Dispose
- •Процедуры Getmem и Freemem
- •Процедуры Mark и Release
- •Раздел 7.Динамические структуры данных Динамические цепочки Структура динамической цепочки
- •Формирование цепочки
- •Поиск элемента в цепочке
- •Удаление элемента из цепочки
- •Вставка элемента в цепочку
- •Линейный однонаправленный список
- •Двунаправленные списки
- •Вставка элемента
- •Создание двунаправленного кольцевого списка с заглавным звеном
- •Удаление элемента
- •Поиск элемента
- •Очереди и стеки
- •Очередь lifo
- •Очередь fifo
- •Общие сведения
- •Способы организации таблиц
- •Однонаправленный список.
- •Однонаправленный список с упорядоченными записями.
- •Однонаправленный список с отдельным хранением текста записи.
- •Представление в виде массива.
- •Двоичное дерево.
- •Двоичные деревья Структура двоичного дерева
- •Построение дерева
- •Поиск записи в дереве
- •Включение записи в дерево
- •Удаление записи из дерева
- •Раздел 8.Оверлеи Общие сведения
- •Правила оформления оверлейных программ
- •Инициализация работы оверлеев
- •Включение администратора оверлеев
- •Обработка ошибок администратора
- •Размещение оверлейного файла в ems-памяти
- •Управление оверлейным буфером
- •Литература Основная и дополнительная литература
- •Перечень наглядных пособий, методических указаний, методических материалов и используемых в учебном процессе технических средств
Константа-запись
Одним из видов структурных типизованных констант являются константы-записи.
Синтаксис задания константы-записи иллюстрирует Рисунок 3 .28.
Рисунок 3.28 – Синтаксическая диаграмма
задания константы-записи
Как и остальные типизованные константы, константы-записи могут использоваться в качестве инициированных переменных типа запись (переменных, которым при запуске программы присваивается начальное значение).
Пример 3.10.
Объявление константы-записи.
Type
Fam = (Ivanov, Petrov);
Data = Record
God: 1900..2000;
Mes: (Jn, Fb, Mr, Ap, Ma, Jn, Jl, Ag, Sp, Oc, Nv, Dc);
Den: 1..31
End;
Ank = Array[Fam] Of Data;
Const
D: Data = (God: 1950; Mes: Jn; Den: 3);
A: Ank = ((God: 1970; Mes: Dc; Den: 7), (God: 1945; Mes: Ma; Den: 15));
В данном примере D – это типизованная константа-запись, А – массив из двух типизованных констант-записей А[Ivanov] и А[Petrov]. В константе А внутренние скобки относятся к константам-записям, внешние – к типизованным константам-массивам.
В типизованных константах-записях поля должны указываться в том же порядке, как они следуют в объявлении типа запись.
Если запись содержит вариант, то можно указывать только поля выбранного варианта. Если вариант содержит поле признака, то его значение должно быть определено.
Использование компонент файлового типа в структурных константах- записях запрещено.
Задание для самостоятельной подготовки. Константы-записи с вариантами (примеры объявления и использования).
Раздел 4.Множества Общие сведения
Множественный тип (тип Set) соответствует понятию множества в математике.
В Паскале допускаются только конечные множества. Максимальное количество элементов в множестве – 256. Все элементы множества должны быть значениями одного типа. Тип элементов множества называется базовым типом множества.
Базовым типом множества может быть любой скалярный тип, за исключением вещественных типов. Целочисленные типы в качестве базового типа могут использоваться только в виде диапазона 0 .. 255 или его поддиапазонов.
Данные типа Set хранятся в памяти в унитарном коде и могут занимать от одного до 32-х байтов. Объем памяти, занимаемый одним элементом множества, равен одному биту. Каждому элементу во множестве жестко соответствует свой номер бита.
Пример 4.1.
Пусть множество может содержать набор элементов 0..7, а его конкретное значение равно множеству элементов 0, 3, 4. В памяти компьютера оно будет представлено в виде, который иллюстрирует Таблица 4 .1.
Таблица 4.1 – Представление множества в памяти компьютера
0-й бит |
1-й бит |
2-й бит |
3-й бит |
4-й бит |
5-й бит |
6-й бит |
7-й бит |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
Таким образом, элементу 0 соответствует 0-й бит поля памяти, занимаемого множеством, элементу 1 – 1-й бит и т.д. Если в значении множества элемент присутствует, то соответствующий бит устанавливается в единицу, в противном случае – в ноль.