
- •Основы программирования на языке паскаль
- •1. Простейшие программы Структура Паскаль-программы
- •Данные и тип данных
- •Стандартные функции
- •Выражения
- •Организация простейших программ
- •Модуль crt
- •Задания для самостоятельной работы
- •2. Ветвления
- •Задания для самостоятельной работы
- •3. Циклы
- •Оператор цикла с постусловием используется, когда известно условие, при котором цикл будет прекращать свою. Формат оператора:
- •Задания для самостоятельной работы
- •4. Массивы
- •Сортировка
- •Задания для самостоятельной работы
- •5. Строки
- •Задания для самостоятельной работы
- •6. Процедуры и функции
- •Параметры
- •Локальные и глобальные переменные
- •Функции
- •Задания для самостоятельной работы
- •7. Записи
- •Задания для самостоятельной работы
- •8. Множества
- •Операции над множествами
- •Задания для самостоятельной работы
- •9. Файлы
- •Стандартные процедуры и функции для работы с файлами всех типов
- •Стандартные процедуры и функции для работы с типизированными файлами
- •Задания для самостоятельной работы
- •10. Модуль graph
- •Процедуры и функции модуля graph
- •Задания для самостоятельной работы
- •11. Модули, определяемые пользователем
- •Задания для самостоятельной работы
- •12. Линейные однонаправленные списки Указатели
- •Линейные однонаправленные списки
- •Задания для самостоятельной работы
- •13. Двунаправленные списки.
- •Задания для самостоятельной работы
- •14. Кольцевые списки
- •Задания для самостоятельной работы
- •15. Стеки и очереди
- •Задания для самостоятельной работы
- •16. Деревья
- •Задания для самостоятельной работы
- •Простейшие программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- •Бадмаева Энгельсина Сергеевна, Тонхоноева Антонида Антоновна
- •670000, Г. Улан-Удэ, ул. Смолина, 24-а.
9. Файлы
Файл – последовательность компонент одного типа, причем длина последовательности заранее не определяется, а конкретизируется в процессе выполнения программы. Это единственный из типов данных Паскаля, с помощью которого имеют доступ к внешней памяти, что позволит записать данные на диск или считать данные с диска.
Файлы делятся на:
типизированные файлы, у которых указывается тип компонент; все их компоненты одного размера (описываются File of <тип компонент>);
нетипизированные файлы, у которых не указывается тип компонент (описываются File);
текстовые файлы, компонентами которых являются символы, объединенные в строки неопределенной длины (описываются Text).
Работа с любым из файлов начинается с связывания файловой переменной с конкретным файлом (процедура Assign). В дальнейшем все действия с файлом будут вестись через эту файловую переменную. Затем файл должен быть открыт для чтения и/или записи (процедуры Rewrite, Reset или Append в зависимости от вида файла). После открытия файла можно организовать ввод/вывод данных (процедуры Read, Readln, Write или Writeln в зависимости от вида файла). Считывание или запись информации в файле осуществляется, начиная с позиции указателя текущей компоненты. Сразу после открытия указатель находится на первой компоненте. За последней компонентой находится признак конца файла (его можно отследить с помощью функции Eof). Помимо этого, в текстовых файлах каждая строка заканчивается признаком конца строки (его можно отследить с помощью функции Eoln).
Обычно все файлы считаются файлами последовательного доступа, т.е. доступ к некоторой компоненте файла возможен через последовательное прохождение по всем предыдущим компонентам, начиная с первой. Однако, для типизированных файлов и файлов без типа можно установить режим прямого доступа, т.е. можно непосредственно обратиться к некоторой компоненте. При этом нумерация компонентов файла начинается с нуля.
После окончания работы файл, как правило, должен быть закрыт (процедура Close). Особенно это касается файла, где производилась запись компонент.
Стандартные процедуры и функции для работы с файлами всех типов
Assign (F, Name); - связь файловой переменной F с внешним файлом. Здесь Name – строковая переменная или константа, обозначающая полное имя файла (путь и имя). Если путь не указан, то подразумевается файл, находящийся в текущем каталоге.
Rewrite (F); - открытие нового файла для записи. Если файл с таким именем уже существует, то его содержимое стирается.
Reset (F); - открытие существующего файла для считывания или для записи.
Close (F); - закрытие файла.
Rename (F, NewName); - переименование внешнего файла (файл при этом не должен быть открыт).
Erase (F); - уничтожение внешнего файла (файл при этом не должен быть открыт).
Eof (F) : Boolean – функция определения конца файла. (Eof(F)=true, если достигнут конец файла)
IOResult : Integer – функция определения ошибок, возникающих при работе с файлами. Эта функция возвращает результат последней операции ввода/вывода, если автоматический контроль за ошибками, возникающими при выполнении операций ввода/вывода, отключен с помощью директивы компилятора {$I-}. (IOResult=0, если операция ввода/вывода завершилась успешно, в противном случае >0)