- •Оглавление
- •Тема1 41
- •Тема 2 Условный оператор, оператор выбора 41
- •Тема 4. Строки и символы 43
- •Предисловие
- •1 Основы построения программы на языке Турбо-Паскаль
- •1.1 Алфавит языка и специфика его использования
- •1.2 Этапы решения задачи на эвм
- •1.3 Общая структура программы на языке Паскаль
- •1.4 Выражения
- •1.4.1 Арифметические выражения
- •1.4.2 Логические выражения
- •1.5 Стандартные функции
- •2 Типы данных
- •2.1 Стандартные типы данных
- •2.1.1 Целочисленные типы
- •2.1.2 Логический тип (булевый тип).
- •2.1.3 Символьный тип
- •2.1.4 Перечисляемый тип
- •2.1.5 Интервальный тип
- •2.1.6 Вещественный тип
- •2.2 Объявление констант
- •2.3 Объявление переменных
- •3 Алгоритмизация вычислительных процессов
- •3.1. Понятие алгоритма
- •3.2 Операторы для записи линейных процессов
- •3.2.1 Оператор присваивания
- •3.2.2 Оператор ввода числовых данных
- •3.2.3 Оператор вывода числовых данных
- •3.2.4 Вывод числовых данных с форматом
- •4 Разветвляющиеся вычислительные процессы
- •4.1 Типы разветвляющихся алгоритмов
- •4.2 Операторы перехода
- •4.2.1 Условный оператор
- •4.2.3 Оператор выбора
- •4.2.4 Метка. Оператор перехода
- •5 Итерационные циклические процессы
- •5.1 Типы циклических процессов
- •5.2 Итерационные циклические процессы
- •5.2.1 Оператор цикла с предварительным условием
- •5.2.2 Оператор цикла с последующим условием
- •5.3 Оператор цикла с параметром
- •6 Структурированные типы данных
- •6.1 Массивы
- •6.2 Записи
- •6.2.1 Оператор присоединения
- •6.3 Множества
- •6.4 Строки
- •6.4.1 Основные операции
- •7 Подпрограммы
- •7.1 Процедуры
- •7.2 Функции
- •8 Работа с файлами
- •8.1 Инициация файла
- •8.2 Процедуры и функции для работы с файлами
- •8.3 Текстовые файлы
- •8.4 Типизированные файлы
- •8.5 Нетипизированные файлы
- •9 Указатели и динамическая память
- •9.1 Выделение и освобождение динамической памяти
- •10 Модули
- •10.1 Компиляция модулей
- •10.2 Стандартные модули
- •10.2.1 Модуль crt
- •10.2.2 Модуль Graph
- •10.2.3 Модуль Overlay
- •Индивидуальные задания
- •Тема 2 Условный оператор, оператор выбора
- •Тема 3.
- •Задание в - обработка числовых последовательностей
- •Тема 4. Строки и символы
- •Тема 5. Массивы
- •Тема 6. Файлы
- •Тестовые задания
- •Электронные образовательные интернет-ресурсы Дистанционные курсы
- •Электронные учебники
8.3 Текстовые файлы
Текстовые файлы связываются с файловыми переменными, принадлежащими стандартному типу TEXT. Текстовые файлы предназначены для хранения текстовой информации. Текстовый файл трактуется в Турбо- Паскале как совокупность строк переменной длины. Доступ к каждой строке возможен лишь последовательно, начиная с первой.
Конец строки можно определить с помощью функции:
EOLn (<ф.п.>);
Для записи данных в файл используются процедуры WRITE и WRITELN:
Write (<ф.п.>,<список вывода стрингов>);
Writeln (<ф.п.>,<список вывода стрингов>).
По предложению WRITE значения данных из списка запишутся в файл подряд, без всяких разделителей.
По предложению WRITELN в файле после каждого выведенного стрингового значения будут записаны признаки конца строки.
Для чтения данных из файла используются процедуры READ и READLN:
Read(<ф.п.>,<список выводимых стрингов>);
Readln(<ф.п.>,<список вводимых стрингов>).
По предложению READ из файла выбирается столько символов, сколько указано в описании текущего стринга, принадлежащего списку ввода. Выбранная последовательность символов присваивается текущему стрингу. Эта совокупность операций повторяется для всех элементов списков ввода. По предложению READLN из файла последовательно считываются строки и присваиваются стрингам из списков. Если выбранная строка имеет большее количество символов, чем указано в описании текущего стринга, то она обрезается до указанной длины, при этом часть информации теряется. Поэтому необходимо следить за соответствием длин стрингов, записываемых в файл и считываемых из файла.
8.4 Типизированные файлы
Длина любого компонента типизированного файла строго постоянна, что дает возможность организовать прямой доступ к каждому из них (т.е. доступ к компоненту по его порядковому номеру).
Перед первым обращением к процедурам ввода-вывода указатель файла стоит в его начале и указывает на первый компонент с номером 0. После каждого чтения или записи указатель сдвигается к следующему компоненту файла. Переменные в списках ввода-вывода должны иметь тот же тип, что и компоненты файла. Если этих переменных в списке несколько, указатель будет смещаться после каждой операции обмена данными между переменными и дисковым файлом.
Процедура READ. Обеспечивает чтение очередных компонентов типизированного файла. Формат обращения:
READ (<ф.п.>, <сп. ввода>)
Здесь <сп. ввода> - список ввода, содержащий одну или более переменных такого же типа, что и компоненты файла.
Файловая переменная <ф.п.> должна быть объявлена предложением FILE OF... и связана с именем файла процедурой RESET. Если файл исчерпан, обращение к READ вызовет ошибку ввода -вывода.
Процедура WRITE. Используется для записи данных в типизированный файл. Формат обращения:
WRITE (<ф.п.>, <сп.вывода>)
Здесь <сп. ввода> - список вывода, содержащий одно или более выражений того же типа, что и компоненты файла.
Процедура SEEK. Смещает указатель файла к требуемому компоненту. Формат обращения:
SEEK (<ф.п.>, <N компонента>)
Здесь <N компонента> - выражение типа LONGINT, указывающее номер компонента файла.
Первый компонент файла имеет номер 0. Процедуру нельзя применять к текстовым файлам.
Функция FILESIZE. Возвращает значение типа LONGINT, которое содержит количество компонентов файла. Формат обращения:
FILESIZE (<ф.п.>)
Функцию нельзя использовать для текстовых файлов. Чтобы переместить указатель в конец типизированного файла, можно написать:
seek (FileVar, FileSize (FileVar));
где FILEVAR - файловая переменная.
Функция FILEPOS. Возвращает значение типа LONGINT, содержащее порядковый номер компонента файла, который будет обрабатываться следующей операцией ввода-вывода. Формат обращения:
FILEPOS (<ф.п.>)
Функцию нельзя использовать для текстовых файлов. Первый компонент файла имеет порядковый номер 0.