
- •Билет 2 Лексическая структура языка Pascal.
- •Билет 3 Структура Pascal-программы. Составной оператор. Константы. Переменные.
- •Билет 4. Концепция переменной языка паскаль.
- •Билет 5 Концепция типа данных языка Pascal.
- •Билет 6 Простые типы.
- •Билет 7 Стандартные типы языка Pascal.
- •Билет 8 Тип Boolean
- •Билет 9 Перечисляемый тип.
- •Билет 10. Ограниченные типы (диапазоны).
- •Билет 11 Условный оператор
- •Билет 12 Оператор варианта
- •Билет 13 Оператор цикла с постусловием
- •Билет 14 Оператор цикла с предусловием
- •Билет 15 Оператор цикла с параметром
- •Билет 16 Составные типы
- •Билет 17 Массивы, примеры использования
- •Билет 18 Записи, примеры использования
- •Билет 19 Оператор сцепления
- •Билет 20 Записи с вариантами
- •Билет 21 Множества (определение, примеры, операции).
- •Билет 22 Представления множеств, примеры использования.
- •Билет 22. Представления множеств.
- •Билет 23 Файловые типы
- •Билет 24 Операции с файлами
- •Билет 25 Текстовые файлы
- •Билет 26 Типизированные файла
- •Билет 27 Нетипизированные файлы
- •Билет 28 Процедуры и функции
- •Билет 29 Описание процедур и функций
- •Билет 30 Локальные и глобальные переменные
- •Билет 31 Параметры процедур и функций
- •Билет 32 открытые параметры.
- •Билет 33. Нетипизированные параметры.
- •Билет 34. Необходимость и преимущества модульного программирования. Структура модуля в языке Pascal.
- •Билет 35. Процедурный тип. Передача процедур и функций в качестве параметра.
- •Билет 36. Рекурсия.
- •Билет 37. Рекурсия и итерация.
- •Билет 38. Линейный поиск.
- •Билет 39. Поиск делением пополам.
- •Билет 40. Сортировка.
- •Билет 41. Сортировка простыми включениями.
- •Билет 42. Сортировка бинарными включениями
- •Билет 43. Сортировка простым выбором.
- •Билет 44. Сортировка простым обменом(пузырек).
- •Билет 45. Шейкер-сортировка.
- •Билет 46. Сортировка шелла.
- •Билет 47. Сортировка с разделением(быстрая сортировка).
- •Билет 48. Ссылочные типы.
- •Билет 49. Динамические структуры данных.
- •Билет 50. Создание и уничтожение динамических переменных.
- •Билет 51. Связные списки.
- •Билет 52. Связные списки. Создание очередного элемента. Просмотр списка.
- •Билет 53. Добавление компонента в середину списка.
- •Билет 54. Исключение компонент из середины списка.
- •Билет 55. Рекурсивная обработка списка.
- •Билет 56. Двусвязные кольца.
- •Билет 57. Деревья. Двоичные деревья. Двоичные деревья поиска.
- •Билет 58. Добавление узла к двоичному дереву поиска.
- •Билет 59. Поиск в двоичном дереве.
- •Билет 60. Просмотр двоичного дерева.
- •Билет 61. Удаление из дерева.
- •Билет 62. Деревья общего вида.
Билет 24 Операции с файлами
Перед тем как файловая переменная может быть использована, она должна быть ассоциирована (связана) с внешним файлом при помощи процедуры ''Assign''. Внешний файл – это поименованный дисковый файл, но также это может быть внешнее устройство(клавиатура, дисплей).
Процедура Assign имеет 2 параметра: 1) имя файловой переменной: 2) строковое выражение, образующее имя файла; Assign (f , ' d:\mydin\myfile.dat');
После того как связь с внешним файлом установлена, файловая переменная должна быть "открыта", чтобы подготовить ввод/вывод. Под "открытием", в данном случае, понимается поиск файла на внешнем носителе, образование специальных системных буферов для обмена с ним и установка текущего указателя файла на его начало(т.е. на нулевой элемент). С каждой переменной файлового типа связано понятие текущего указателя, т.е. текущий указатель можно понимать как скрытую переменную, т.е. неявно описанную вместе с файловой переменной, которая обозначает некоторый элемент файла. Как правило, все действия с файлом(чтение, запись) производятся поэлементно, причем в этих действиях участвует тот элемент файла, который обозначен текущим указателем. В результате выполнения операций указатель может перемещаться, все элементы файла считаются пронумерованными, начальный элемент имеет номер 0.
Существующий файл может быть открыт при помощи процедуры Reset. Новый файл может быть создан процедурой Rewrite. Если существующий файл открыт процедурой Rewrite, то он очищается.
Текстовые файлы, открытые процедурой Reset, можно только читать, а текстовые файлы, открытые rewrite и append используются только для записи. Append аналогично rewrite, но не очищает файл, а только устанавливает текущий указатель файла в его конец.
Для типизированных и нетипизированных файлов разрешены чтение и запись независимо от того, какой процедурой они открыты.
Процедуры Reset, rewrite и append всегда имеют один параметр – файловую переменную, связанную с определенным файлом.
Для нетипизированных файлов reset и rewrite имеют еще один параметр – длину записи при передаче файлов. Если этот параметр опущен, то длина записи считается равной 128 байтов.
Когда программа завершит работу с файлом его необходимо закрыть, используя процедуру Close. После того как файл закрыт файловая переменная может быть ассоциирована с другим внешним файлом. Используется процедура Flush для завершения обмена с файлом без его закрытия. Обмены с файлами реализуются через некоторые буферы в оперативной памяти, поэтому в процессе записи в файл последние записываемые элементы могут еще находится в этом буфере . эта процедура вызывает принудительный сброс этих элементов в файл из буфера.
Билет 25 Текстовые файлы
Структура текстовых файлов отличается от структуры обычных файлов (линейная последовательность элементов 1 типа), тем, что содержимое текстового файла рассматривается как последовательность символьных строк произвольной длины, разделенных комбинацией «конец строки»(2 кода: переход в начало строки(#10) и переход на следующую строку (#13)). В конце файла есть код конца файла (#26). Поскольку строки могут быть различной длины, текстовые файлы могут обрабатываться только последовательно. Существующий файл может быть открыт процедурой reset. Новый файл может быть создан процедурой rewrite. Если существующий файл открывается процедурой rewrite, то он очищается. Текстовые файлы, открытые процедурой reset можно только читать, а rewrite и процедурой с append используются только для записи. Append аналогичен rewrite, но, в отличии от rewrite, append не очищает файл, а только устанавливает текущий указатель файла в его конец. Пример:
type Sequence=file of char;
var F1, F2: Sequence;
Table: file of string [20];
DataBase: file of Person;
InputData: file of real;
DataFile: file;
TextFile: text; ( текстовый файл)