Что будет записано в файл f при выполнении оператора writeln f
Процедуры Write и WriteLn
Подпишись на новости, чтобы ничего не пропустить
Синтаксис для вывода на консоль:
procedure Write(Args : Arguments);
Синтаксис для вывода в файл:
procedure Write(var F: Text; Args : Arguments);
Аргументами (Arguments) могут быть переменные разных типов. Если используется несколько переменных, то они перечисляются через запятую. Например:
Причём, как уже было сказано, при выводе на консоль эти переменные могут быть разных типов. Также можно использовать и константы:
Если требуется перевод строки, то лучше использовать функцию WriteLn вместо Write:
Но можно использовать, например, символы перевода строки в конце списка аргументов:
При записи в файл можно работать как с типизированными файлами, так и с текстовыми файлами.
Если файл F имеет тип Text, то все необходимые преобразования будут выполнены таким образом, что выходная переменная будет в удобочитаемом формате. Это преобразование выполняется для всех числовых типов. Строки и типы PChar выводятся точно так, как они находятся в памяти.
При выводе на консоль целые числовые значения выводятся в обычном числовом формате. А вещественные числовые значения по умолчанию выводятся в научной нотации.
Чтобы выводить целые числа в поля фиксированной ширины или вещественные числа с фиксированным количеством знаков после запятой, используется специальный формат вывода. Но об этом в данной статье я говорить не буду, так как уже рассказывал об этом здесь.
Организация ввода и вывода данных с использованием файлов
Список вопросов теста
Вопрос 1
Сколько байтов памяти занимает признак конца строки в текстовом файле?
Вопрос 2
Без пробелов запишите условие описанного цикла для считывания массива чисел из файла?
Вопрос 3
В каком виде хранятся данные на устройствах внешней памяти?
Варианты ответов
Вопрос 4
Какое количество памяти занимает один символ в текстовом файле?
Варианты ответов
Вопрос 5
Укажите верный порядок следования операторов в программе?
Укажите порядок следования всех 4 вариантов ответа:
Варианты ответов
Вопрос 6
Что будет записано в файл f при выполнении оператора writeln ( f )?
Выберите один из 4 вариантов ответа:
Варианты ответов
Вопрос 7
Укажите соответствие между операторами и их описаниями.
Укажите соответствие для всех 4 вариантов ответа:
1) Назначает файловой переменной файл с указанным названием
3) Считывает данные из текстового файла, соответствующего переменной f
4) Открывает текстовый файл для чтения
Варианты ответов
Вопрос 8
При помощи какого оператора текстовый файл открывается для перезаписи?
Выберите один из 4 вариантов ответа:
Варианты ответов
Вопрос 9
Какие разновидности файлов существуют?
Выберите несколько из 4 вариантов ответа:
Варианты ответов
Вопрос 10
Какой тип в языке Pascal имеет файловая переменная, для обращения к текстовому файлу?
Выберите один из 4 вариантов ответа:
Процедура записи в текстовый файл WRITELN
Эта процедура заносит в буфер файла признак конец строки и записывает (выталкивает) содержимое буфера в текстовый файл, начиная с позиции признака конец файла. После последнего записанного в файл символа (это признак конец строки) записывается признак конец файла, буфер освобождается и связывается с этим признаком.
Стандартное обращение к процедуре имеет вид:
Пример записи в текстовый файл
В результате работы программы будет создан файл c:\tp\user\dandatt.pas. Содержимое этого файла приведено на рис. 24.4 (компоненты на рисунке располагаются слева направо, сверху вниз).
‘П’ | ‘р’ | ‘и’ | ‘м’ | ‘е’ | ‘р’ | ‘ ‘ | ‘ ‘ | ‘ ‘ | ‘ ‘ | ‘в’ | ‘ы’ | ‘в’ | ‘о’ | ‘д’ | ‘а’ | ‘ ‘ | ‘ ‘ | ‘T’ | ‘R’ | ‘U’ | ‘E’ |
‘F’ | ‘A’ | ‘L’ | ‘S’ | ‘E’ | KC | ‘ ‘ | ‘ ‘ | ‘-‘ | ‘5’ | ‘-‘ | ‘2’ | ‘5’ | ‘2’ | ‘3’ | ‘2’ | ‘7’ | ‘6’ | ‘7’ | ‘-‘ |
‘3’ | ‘.’ | ‘5’ | ‘6’ | ‘0’ | ‘0’ | ‘0’ | ‘0’ | ‘0’ | ‘0’ | ‘0’ | ‘0’ | ‘E’ | ‘+’ | ‘0’ | ‘0’ | KC | ‘ ‘ | ‘5’ | ‘.’ | ‘7’ | ‘E’ |
‘+’ | ‘0’ | ‘2’ | KC | ‘5’ | ‘6’ | ‘7’ | ‘.’ | ‘4’ | ‘2’ | ‘0’ | ‘0’ | KФ |
Рис. 24.4. –Содержимое файла
Процедура чтения из текстового файла READ
Чтение из текстового файла осуществляется с помощью обращения к стандартной процедуре
, где объект ввода это имя простой переменной:
— любого из числовых типов;
— символьного типа char;
— любого из строковых типов string
или имя простого компонента переменной структурированного типа.
Правила выполнения процедуры read
Синтаксическое ограничение при вызове процедуры: второй параметр обязательно любого целого, любого вещественного, литерного char или любого строкового типа. Правила выполнения зависят от типа второго параметра.
Вариант 1: второй параметр числового типа
(любого целого, либо любого вещественного)
1) В буфер файла считываются позиции текстового файла, начиная с позиции, с которой был связан буфер до обращения к процедуре read до первой позиции, в которой располагается либо пробел, либо символ табуляции, либо признак конец строки, либо признак конец файла. При этом начальные позиции с пробелами, символами табуляции и признаками конец строки игнорируются.
2) Прочитанные в буфер символы преобразуются в значение типа данных второго параметра. Если из файла не прочитано ни одного символа (буфер связан с признаком конец файла), то считается, что прочитан 0.
3) Если при преобразовании встретился символ, который не может быть преобразован в численное значение, то возникает ошибка ввода-вывода.
4) Если в результате преобразования получено число, не принадлежащее множеству значений типа второго параметра, то возникает ошибка выхода из диапазона значений.
5) При успешном преобразовании полученное значение заносится в оперативную память под именем второго параметра. Буфер файла освобождается. Новое положение буфера связано с позицией файла, в которой прекращено чтение (это либо пробел, либо признак конец строки, либо признак конец файла).
Вариант 2: второй параметр литерного типа char
1) В буфер считывается одна позиция текстового файла. Если это не признак конец файла, то буфер связывается со следующей позицией текстового файла. Если до выполнения процедуры read был связан с признаком конец файла, то местоположение буфера не изменяется.
2) Прочитанный символ заносится в оперативную память под именем второго параметра.
Вариант 3: второй параметр любого строкового типа
1) В буфер файла считывается столько позиций из текстового файла, сколько определено в строковом типе для второго параметра, если ранее не встретился признак конца строки или признак конца файла.
2) Если встретился признак конец строки или конец файла, то буфер связывается с позицией признака. Если при чтении эти признаки не встретились, то новое положение буфера – первая непрочитанная позиция.
3) Информация из буфера заносится в оперативную память под именем второго параметра, при этом формируется динамическая длина прочитанной строки.
Процедура пропуска очередного признака конец строки READLN
После выполнения обращения к процедуре readln( )
буфер связывается со следующей позицией за ближайшим справа признаком конец строки. Если этот признак не встретился, то буфер связывается с признаком конец строки.
Пример чтения из текстового файла
Пусть в текстовом файле c:\tp\user\inp.pas находится информация, приведенная на рис. 24.5.
‘F’ | КС | КС | ‘5’ | ‘ ‘ | ‘7’ | ‘.’ | ‘5’ | ‘e’ | ‘-‘ | ‘3’ | КС | ‘П’ | ‘Р’ | ‘И’ | ‘М’ | ‘Е’ | ‘Р’ |
‘Ч’ | ‘Т’ | ‘Е’ | ‘Н’ | ‘И’ | ‘Я’ | ‘ ‘ | ‘И’ | ‘З’ | ‘ ‘ | ‘Ф’ | ‘А’ | ‘Й’ | ‘Л’ | КФ |
Рис. 24.5. –Содержимое текстового файла
Организация ввода и вывода данных с использованием файлов
Список вопросов теста
Вопрос 1
Сколько байтов памяти занимает признак конца строки в текстовом файле?
Вопрос 2
В каком виде хранятся данные на устройствах внешней памяти?
Выберите один из 4 вариантов ответа:
Варианты ответов
Вопрос 3
Без пробелов запишите условие описанного цикла для считывания массива чисел из файла?
Запишите ответ (без пробелов):
Вопрос 4
Какое количество памяти занимает один символ в текстовом файле?
Выберите один из 4 вариантов ответа:
Варианты ответов
Вопрос 5
Укажите верный порядок следования операторов в программе?
Укажите порядок следования всех 4 вариантов ответа:
Варианты ответов
Вопрос 6
Что будет записано в файл f при выполнении оператора writeln ( f )?
Выберите один из 4 вариантов ответа:
Варианты ответов
Вопрос 7
Укажите соответствие между операторами и их описаниями.
Укажите соответствие для всех 4 вариантов ответа:
Варианты ответов
Вопрос 8
При помощи какого оператора текстовый файл открывается для перезаписи?
Выберите один из 4 вариантов ответа:
Варианты ответов
Вопрос 9
Какие разновидности файлов существуют?
Выберите несколько из 4 вариантов ответа:
Варианты ответов
Вопрос 10
Какой тип в языке Pascal имеет файловая переменная, для обращения к текстовому файлу?
Выберите один из 4 вариантов ответа:
Варианты ответов
Получите комплекты видеоуроков + онлайн версии
Комментарии 0
Чтобы добавить комментарий зарегистрируйтесь или войдите на сайт
Возможности тестов