Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодичкаИПлб.doc
Скачиваний:
39
Добавлен:
08.05.2019
Размер:
6.96 Mб
Скачать

Лабораторная работа ип9 обмен данными с текстовым файлом

1. Общие сведения

До сих пор, когда нашим программам требовалось получать извне какие-то данные, мы полагали, что они вводятся с клавиатуры, т.е. с непременным участием человека – интерактивно. Возможен, однако, и другой подход, основывающийся на использовании набора данных, подготовленного заранее и хранящегося в виде файла на магнитном носителе. Информация поступает в этом случае из источника, физически существующего вне программы и без непосредственного участия человека. Этот процесс обычно называют считыванием данных из внешнего файла. Не интерактивный ввод находит широкое применение при обработке больших массивов данных (данных в большом кол-ве), когда участие человека в передаче данных становится обременительным (для человека) и малоэффективным (для компьютера). Внешний файл целесообразен, также, в том случае, когда пользователю не нужно взаимодействовать с программой в ходе её выполнения. Другим мотивом использования внешних файлов являются весьма большие объёмы данных, подлежащих обработке – вводить их интерактивно слишком долго. Отдельный файл данных, какого бы он ни был размера, всегда может быть подготовлен заранее в удобной и спокойной обстановке, проверен и исправлен. Внешний файл может хранить гораздо больше информации, чем может быть размещено в Workspace. Файл с данными, используемый программой, может быть получен в результате выполнения другой программы (т.е. файл может играть роль связующего звена между двумя разными задачами). Использование внешних файлов делает программу более гибкой и универсальной. Программа может обмениваться данными сразу с несколькими файлами.

Вообще говоря, источником и приемником данных, которые обрабатывает программа, могут быть не только файлы на диске, но и файлы-устройства: монитор, клавиатура, принтер и др. Обслуживание и тех и других происходит по одинаковой схеме. Сначала файл приводится в состояние готовности к обмену данными – открывается. При этом мобилизуются дополнительные ресурсы, связанные с обслуживанием обмена данными. Затем выполняется собственно обмен – чтение данных с внешнего устройства в оперативную память (ввод) или их запись из оперативной памяти на внешнее устройство (вывод). По окончании ввода/вывода файл должен быть закрыт – освобождены выделенные ресурсы, завершены все возможно неоконченные операции, связанные с обменом данными.

К числу наиболее важных моментов, связанных с обменом информацией, следует отнести формат представления данных на внешнем носителе. Matlab допускает использование файлов двух форматов – двоичные и текстовые (символьные).

Текстовые файлы состоят из строк символов имеющих, возможно, переменную длину. Каждая строка завершается признаком конца строки, который является непечатным и образуется из пары символов CR (возврат каретки) и LF (перевод строки). На клавиатуре этой паре соответствует клавиша Enter. Из-за переменной длины строк обмен с текстовым файлом ведется построчно, а сами строки обслуживаются последовательно друг за другом. Невозможно, прочитав вторую строку текстового файла, сразу же прочитать пятую или первую. Разрешен только последовательный обмен. Информация, хранимая в текстовом файле, представлена в виде символов. И если была введена цепочка '-123', то ее нельзя непосредственно воспринимать как одно целое отрицательное число, это четыре отдельных символа. Над такими данными невозможно выполнять арифметические операции. При записи в файл числовая информация, представленная в виде последовательности символов, занимает гораздо больше памяти, чем она занимала бы в числовом (внутримашинном) формате. Таким образом, текстовое представление данных имеет ряд недостатков: оно менее эффективно по объему занимаемой памяти, требует дополнительных затрат на преобразование между внутримашинным и символьным форматами, допускает только последовательный обмен данными между программой и внешним устройством.

Главным преимуществом текстового файла является то, что данные в нем представляются в виде, удобном для восприятия человеком, и это представление не зависит ни от используемой системы программирования, ни от операционной системы, ни от компьютера. Текстовый файл можно создать вводом с клавиатуры (более того, вводом с клавиатуры никаких других файлов создать нельзя), его содержимое можно распечатывать принтером. Для просмотра текстового файла и внесения в него изменений можно использовать любой простейший текстовый редактор.