Форматы текстовых файлов. Текстовые файлы Тестовый файл

Текстовые файлы состоят из символьных строк переменной длины. Каждая строка завершается специальной комбинацией, называемой «конец строки». Комбинация «конец строки» состоит из двух символов: «перевод каретки» (ASCII-код #13) и «перевод строки» (#10). Завершается текстовый файл символом «конец файла» (#26).

Описание текстового файла осуществляется объявлением переменной типа Text:

var файловая_переменная: Text;

Чтение из текстового файла осуществляется операторами Read и ReadLn. Чтобы прочитать данные из файла, в качестве первого параметра указывают имя файловой переменной, а далее через запятую перечисляются переменные, в которые осуществляется чтение данных из файла. В текстовом файле данные хранятся в строковом виде. Однако, если элемент данных может быть преобразован в число, это преобразование осуществляется автоматически при вводе в числовые переменные. Элементы числовых данных в строках текстового файла разделяются пробелами или символами табуляции. Если строка файла закончилась, а состоящий из числовых или символьных переменных список ввода в операторе Read не исчерпался, то ввод продолжается со следующей строки. При вводе данных из текстового файла в символьные переменные элементы данных не разделяются. Если в списке данных после числовой переменной идет строковая, то пробел, который следует после числового значения в файле, считывается в строку (это же справедливо и при считывании в символьную переменную).

Отличие операторов Read и ReadLn при чтении из текстовых файлов состоит в том, что оператор ReadLn, поместив значение в последнюю переменную списка ввода, переходит на начало следующей строки, не считывая оставшиеся в строке данные. С другой стороны, оператор Read остается готовым считывать данные со следующей позиции текущей строки. Так, предположим, что в текстовом файле f имеются две строки:

1 - 2 4

В этом случае два оператора Read(f,m); Read(f,n); поместят в целочисленные переменные m и n соответственно значений 1 и -2, а два оператора ReadLn(f,m); ReadLn(f,n); считают значения 1 и 4.

Пример. В текстовом файле f.txt через пробел и записаны целые числа. Переписать в файл f1.txt из файла f.txt все числа, за исключением максимальных (предполагается, что их может быть несколько).

var f, f1: Text; a, max: LongInt ; flag: Boolean ; begin Assign(f, "f.txt" ) ; Reset(f) ; while not Eof (f) do begin Read (f, a) ; if a>max then max : = a; end ; Assign(f1, "f1.txt" ) ; Rewrite(f1) ; Reset(f) ; while not Eof (f) do begin Read (f, a) ; if a<>max then WriteLn (f1, a) ; end ; Close(f) ; Close(f1) ; end .

В примере файл f.txt прочитывается два раза. Первый раз для определения максимального числа, второй раз - для считывания чисел и их записи во второй файл. Данный алгоритм используется, если максимальных чисел в файле несколько.

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

В которых содержатся данные, не рассчитанные на интерпретацию в качестве текстовых (например, файлы, хранящие текст в закодированном или сжатом виде, или хранящие не текст, а звук, изображение или иные данные).

Текстовый файл

MIME-тип text/plain
Противоположно двоичный файл
Расширение файла .txt или .text
Медиафайлы на Викискладе

В отличие от термина «текстовые данные» (текстовый формат данных), характеризующего содержимое данных, термин «текстовый файл» относится к файлу и характеризует его как контейнер, хранящий такие данные.

Описание

Текстовый файл содержит последовательность символов (в основном печатных знаков , принадлежащих тому или иному набору символов). Эти символы обычно сгруппированы в строки (англ. lines, rows ). В современных системах строки разделяются разделителями строк , в прошлом же применялось хранение строк в виде записей постоянной или переменной длины (см.: Перфокарта). Иногда конец текстового файла (особенно если в файловой системе не хранится информация о размере файла) также отмечается одним или более специальными знаками, известными как маркеры конца файла .

Преимущества и недостатки

Преимущества:

  • Универсальность - текстовый файл может быть прочитан (так или иначе) на любой системе или ОС , особенно если речь идёт об однобайтных кодировках вроде ASCII , которые не подвержены проблеме, характерной для других форматов файлов - для них не важна разница в порядке байтов или длине машинного слова на разных платформах .
  • Устойчивость - каждое слово и символ в таком файле самодостаточны и, если случится повреждение байтов в таком файле, то обычно можно восстановить данные или продолжить обработку остального содержимого, в то время как у сжатых или двоичных файлов повреждение нескольких байтов может сделать файл совершенно невосстановимым. Многие системы управления версиями рассчитаны на текстовые файлы и с двоичными файлами могут работать только как с единым целым.
  • Формат текстового файла крайне прост и его можно изменять текстовым редактором - программой, входящей в комплект практически любой ОС .

Недостатки:

  • У больших несжатых текстовых файлов низкая информационная энтропия - эти файлы занимают больше места, нежели минимально необходимо. Хотя эта избыточность и определяет повышенную устойчивость к сбоям в каналах передачи данных и при получении данных с носителей , например, с магнитной ленты .
  • Некоторые операции с текстовыми файлами неэффективны. Например, если в файле встретится число, вычислительная система до начала операций с ним должна будет перевести его в свой внутренний формат, применив сравнительно сложную процедуру конвертации числа; чтобы перейти на 1000-ю строку, требуется считать 999 строк, идущих до неё; сложно заменить одну строку другой и т. д. Поэтому при работе с большими объёмами данных текстовые файлы применяют только как промежуточный формат, обеспечивающий интероперабельность .

Форматы, основанные на текстовых файлах

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

Текстовый формат служит основой для многих более специализированных форматов (например, .ini , SGML , HTML , XML , TeX , исходных текстов языков программирования). В некоторых из таких форматов определённые сочетания символов могут использоваться как средства разметки текста. В таком случае файл может хранить форматированный текст, в котором для символов дополнительно может быть задан шрифт, начертание, размер и т. п. (например, Rich Text Format , HTML).

Расширения имён файлов

В DOS ,Mac os и Windows для файлов с неформатированным текстом обычно используется расширение .txt . Тем не менее, текстовыми могут являться файлы с любым другим расширением или без оного. Например, исходные коды программ обычно хранятся в файлах с расширениями, соответствующими языку программирования , на котором написаны программы (.java , .bas , .pas , .c).

Форматированный текст (текст с разметкой) обычно хранится в файлах с расширением, соответствующим формату или языку разметки - .rtf , .htm , .html .

Кодировки

8-битный текст

Исторически для кодирования текстовых файлов применялись 7-битный набор символов ASCII , а также 8-битные EBCDIC и различные расширения ASCII. В 8-битных кодовых страницах общепринято использовать в первой половине кодовой таблицы символы, соответствующие ASCII.

Преимуществом 8-битного представления текста является программная простота и независимость от проблемы порядка байтов или длины машинного слова на разных платформах. Недостаток - большое количество различных стандартов, что может приводить к несовместимости.

Unicode в текстовых файлах

Применение Unicode в текстовых файлах хотя в основном решает «проблему кодировок» и стандартизирует употребление управляющих символов, но создаёт свои проблемы. В большинстве современных систем неделимой единицей информации в потоке данных является табуляция (код 9) и перевод страницы (код 0xC). Последний использовался старыми текстовыми редакторами наподобие ЛЕКСИКОН , а также в файлах, предназначенных для распечатки на принтере.

Набор правил, по которым сохраняются данные в файле, называется форматом файла. Различные типы файлов, такие как текстовые файлы, растровая графика и т.п., используют различные форматы. В общем случае для одного типа файлов может быть определено несколько разных форматов, хотя часто под типом файла и форматом понимают одно и то же. Формат файла определяется по расширению имени файла, которое добавляется к имени файла при его сохранении в определенном формате, например, DOC, GIF и т. д.

Как правило, форматы файлов создаются для использования в строго определенной прикладной программе. Например, графические объекты, создаваемые в известном пакете векторной графики CorelDRAW, сохраняются как файлы с расширением CDR, а изображения, формируемые другим графическим пакетом, CorelXara, записываются на диск как файлы с расширением XAR. Некоторые форматы не связываются с конкретными приложениями, то есть являются универсальными. Одним из наиболее известных универсальных форматов является формат TXT (формат текстовых файлов DOS).

Часто используют сжатие компьютерных файлов для экономии места на носителе. Существует много способов сжатия файлов. Эти способы зависят от исходного формата файлов. Как правило, чем выше степень сжатия, тем медленнее выполняются операции чтения и записи.

Что касается алгоритмов сжатия, то имеются как алгоритмы сжатия без потери данных, так и алгоритмы, при использовании которых потеря данных возможна.

Сжатие без потерь гарантирует, что все данные, которые были в файле до сжатия, будут присутствовать и после распаковки файла. Механизмы сжатия без потерь используются при сохранении текста или числовых данных, например электронных таблиц или файлов документов. Примерами алгоритмов сжатия без потерь могут служить общеизвестные алгоритмы ZIP, ARJ, и другие.

Дадим краткое описание основных используемых форматов:

§ American Standard Code for Information Interchange ASCII (TXT). Формат текстовых файлов, разработанный Американским институтом стандартов (American National Standards Institute). Поддерживается всеми операционными системами и всеми программами. Представляет собой текстовый файл в DOS-кодировке, нет функции вставить рисунок, нет форматирования, работает во всех машинах, возможно создать только файлы малого объема.



§ ANSI (TXT). Формат текстовых файлов в кодировке ANSI (для кодовой страницы Microsoft Windows)

§ MsWord для DOS, Windows (.DOС). Формат документов, разработанный корпорацией Microsoft, поддерживается программами для MS-DOS и большинством текстовых процессоров. Он сохраняет исходное форматирование документов, а также стили начертания символов. Кроме текстовой информации, файлы этого формата могут содержать графические картинки с различными параметрами. Поддерживает 256 цветов. Не поддерживает сжатие. Используется в основном для обмена форматированными текстовыми данными между различными платформами и приложениями.

§ Hypertext Markup Language HTML (HTM, HTML). Язык разметки гипертекстовых документов. Все страницы, расположенные в Internet, созданы с использованием этого специального языка. HTML-документы представляют собой ASCII-файлы, доступные для просмотра и редактирования в любом текстовом редакторе. Отличием от обычного текстового файла является то, что в HTML-документах присутствуют специальные команды-теги, которые определяют правило форматирования документа. Если вам удалось освоить язык HTML, то вы можете создать страницы для Internet. Добавляя теги (метки) к обычному тексту, вы заставляете программу просмотра отображать этот текст определенным образом и размещать на странице изображения. Если вы изучили Java и JavaScript, то знаете, как расширить возможности HTML, помещая внутри тегов команды, написанные на языке сценариев.

§ Portable Document Format PDF (.PDF). Этот формат хранения документов, разработанный фирмой Adobe, претендует на роль открытого типографского стандарта для Web. Он рассматривается как альтернатива HTML. Недостатком HTML является то, что документы, переведенные в HTML, обычно не сохраняют первоначальный формат, причем HTML предлагает при просмотре очень ограниченное число гарнитур. Напротив, пользователи программы Acrobat и PDF-инструментария для создания, распространения и просмотра документов в первоначальном формате, знают, что читатели увидят публикацию именно такой, какой она была сделана. Формат PDF незаменим, если требуется получить точную копию необходимого документа. Как пример успешного применения PDF для документов на русском языке приведем сервер "Московских новостей" в Internet. Представленные на нем в электронном виде материалы полностью повторяют бумажный оригинал, отпечатанный типографским способом.

§ Standard Generalized Markup Language (SGML). Развитие HTML переводится как стандартный язык обобщенной разметки. Представляет собой инструментальный набор механизмов создания структурированных документов, размеченных с помощью дескрипторов (tags). По сравнению с HTML он обеспечивает более гибкие и разносторонние возможности форматирования в Web. Однако SGML отличается и повышенной скоростью, поэтому как более простое средство применяется PDF. Могущество SGML заключается в его межплатформенном структурном подходе к описанию содержания документов. SGML является фактически метаязыком, т.е. предназначен для описания языков разметки, применяемых при создании документов.

Принадлежащих тому или иному набору символов). Это символы обычно сгруппированы в строки (англ. lines, rows ). В современных системах строки разделяются разделителями строк , в прошлом же применялось хранение строк в виде записей постоянной или переменной длины (см.: Перфокарта). Иногда конец текстового файла (особенно если в файловой системе не хранится информация о размере файла) также отмечается одним или более специальными знаками, известными как маркеры конца файла .

Текстовой файл может содержать как форматированный , так и неформатированный текст.

Преимущества и недостатки

Преимущества:

  • Универсальность - текстовый файл может быть прочитан (так или иначе) на любой системе или ОС , особенно если речь идёт об однобайтных кодировках вроде ASCII , которые не подвержены проблеме, характерной для других форматов файлов - для них не важна разница в порядке байтов или длине машинного слова на разных платформах .
  • Устойчивость - каждое слово и символ в таком файле самодостаточны и, если случится повреждение байтов в таком файле, то обычно легче восстановить данные и продолжить обработку остального содержимого, в то время как у сжатых или двоичных файлов повреждении нескольких байтов может привести к невозможности восстановить всё содержимое файла. Многие системы управления версиями рассчитаны на текстовые файлы и с двоичными файлами могут работать только как с единым целым.
  • Формат текстового файла крайне прост и его можно изменять текстовым редактором - программой, входящей в комплект практически любой ОС .

Недостатки:

  • У больших несжатых текстовых файлов низкая информационная энтропия - эти файлы занимают больше места, нежели минимально необходимо. Хотя эта избыточность и определяет повышенную устойчивость к сбоям в каналах передачи данных и при получении данных с носителей , например, с магнитной ленты .
  • Некоторые операции с текстовыми файлами неэффективны. Например, если в файле встретится число, вычислительная система до начала операций с ним должна будет перевести его в свой внутренний формат, применив сравнительно сложную процедуру конвертации числа; чтобы перейти на 1000-ю строку, требуется считать 999 строк, идущих до неё; сложно заменить одну строку другой и т. д. Поэтому при работе с большими объёмами данных текстовые файлы применяют только как промежуточный формат, обеспечивающий интероперабельность .

Форматы, основанные на текстовых файлах

В силу своей простоты текстовые файлы нередко используются для хранения служебной информации (например, логов). Текстовый формат служит основой для многих более специализированных форматов (например, .ini , SGML , HTML , XML , TeX , исходных текстов языков программирования).

В текстовом файле текст может храниться как в неформатированном, так и форматированном или размеченном виде (например, Rich Text Format , HTML), где к каждому символу может быть применено форматирование (шрифт, начертание, размер и т. п.).

Расширения имён файлов

Unicode в текстовых файлах

Применение Unicode в текстовых файлах хотя в основном решает «проблему кодировок» и стандартизирует употребление управляющих символов, но создаёт свои проблемы. В большинстве современных систем неделимой единицей информации в потоке данных является байт (8 бит) , которых для кодирования одного символа из Юникода требуется несколько. В качестве решения применяются несовместимые между собой системы UTF-8 и две версии UTF-16 (UTF-16LE и UTF-16BE с противоположным порядком байтов). Иногда в начало файла добавляют специальный символ-маркер (U+FEFF ), позволяющий распознать формат однозначно. UTF-8 имеет преимущество обратной совместимости с ASCII, однако программная обработка текста в UTF-8 усложняется непостоянным размером символа. Также, тексты в Юникоде отличаются ещё большей избыточностью , нежели 8-битные.

Управляющие символы

Различные операционные системы придерживаются своего представления перевода строки и конца файла. В UNIX перевод строки состоит из одного символа LF (код 10), в Mac OS - из символа CR (код 13), а в DOS и Windows перевод строки кодируется последовательностью двух символов: CR и LF.

Помимо названных, в текстовых файлах применяются такие символы, как табуляция (код 9) и перевод страницы (код 12).

См. также

  • Текст как изображение

Примечания


Wikimedia Foundation . 2010 .

  • Библейские имена
  • Движение за права сексуальных и гендерных меньшинств

Смотреть что такое "Текстовый файл" в других словарях:

    текстовый файл - Файл, содержащий строки написанной информации, которую можно непосредственно вывести на экран дисплея или принтер, используя обычные команды операционной системы. Файлы, создаваемые текстовыми процессорами не являются текстовыми, т.к. содержат… …

    Файл (компьютер) - Файл (англ. file папка, скоросшиватель) концепция в вычислительной технике: сущность, позволяющая получить доступ к какому либо ресурсу вычислительной системы и обладающая рядом признаков: фиксированное имя (последовательность символов, число или … Википедия

    ТЕКСТОВЫЙ ПРОЦЕССОР - (текстовый редактор), компьютерная система, предназначенная для создания и обработки текста. Если система может применяться только для этой цели, тогда она называется специализированным текстовым процессором. Более распространен персональный… … Научно-технический энциклопедический словарь

    файл ASCII - Текстовый файл, содержащий только символы с кодами до 127 (набор символов семибитовой кодировки ASCII). Такой файл не содержит символы национальных алфавитов и символы псевдографики. Тематики информационные технологии … Справочник технического переводчика

    файл определения - Специальный текстовый файл, содержащий директивы, используемые для связывания объектных составляющих программ (или библиотеки) в выполняемый файл. [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993]… … Справочник технического переводчика

    файл инициализации - Специальный текстовый файл, используемый при загрузке среды и отдельных программ для начальной установки параметров. [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в … Справочник технического переводчика

    Файл - У этого термина существуют и другие значения, см. Файл (значения). Файл (англ. file) блок информации на внешнем запоминающем устройстве компьютера, имеющий определённое логическое представление (начиная от простой последовательности… … Википедия

    файл - сущ., м., употр. сравн. часто Морфология: (нет) чего? файла, нет? файлу, (вижу) что? файл, чем? файлом, о чём? о файле; мн. что? файлы, (нет) чего? файлов, чем? файлам, (вижу) что? файлы, чем? файлами, о чём? о файлах 1. Файлом называется массив… … Толковый словарь Дмитриева

    Файл конфигурации - или конфигурационный файл используется для хранения настроек компьютерных программ, в том числе и операционных систем. Как правило, конфигурационные файлы имеют текстовый формат и могут быть прочитаны и отредактированы пользователем программы.… … Википедия

    файл со словами, разделенными для переноса - Файл, содержащий текстовый документ, в словах которого расставлены переносы с помощью специальной функции расстановки. Тематики информационные технологии в целом EN hyphenation file … Справочник технического переводчика

Книги

  • Портфолио первоклассника. Программа внеурочной деятельности. Методическое пособие (+CD) , Умнова Марина Сергеевна , Данная рабочая программа предназначена для организации работы с портфолио обучающихся 1 класса в рамках внеурочной деятельности. Программа разработана и составлена с учетом Федерального… Категория: Учебно-воспитательная работа в школе Серия: Классное руководство Издатель:

Текстовые файлы

Текстовые файлы предназначены для хранения текстовой информации. Именно в таких файлах хранятся, например, исходные тексты программ. Компоненты текстовых файлов могут иметь переменную длину, что существенно влияет на характер работы с ними. Доступ к каждой строке текстового файла Паскаля возможен лишь последовательно, начиная с первой. К текстовым файлам применимы процедуры assign, reset, rewrite, read, write и функция eof. При создании текстового файла в конце каждой записи (строки) ставится специальный признак EOLN(end of line – конец строки). Для определения достижения конца строки существует одноименная логическая функция EOLN(<имя_ф_переменной>), которая принимает значение true, если конец строки достигнут.

Кроме процедур read и write при работе с текстовыми файлами используются их разновидности readln и writeln. Отличие заключается в том, что процедура writeln после записи заданного списка записывает в файл специальный маркер конца строки. Этот признак воспринимается как переход к новой строке. Процедура readln после считывания заданного списка ищет в файле следующий признак конца строки и подготавливается к чтению с начала следующей строки.

Пример решения задачи с файлами

Пусть нам необходимо сформировать текстовый файл, а затем переписать из данного файла во второй только те строки, которые начинаются с буквы «А» или «а».

Решение: нам понадобятся две файловые переменные f1 и f2, поскольку оба файла текстовые, то тип переменных будет text. Задача разбивается на два этапа: первый – формирование первого файла; второй – чтение первого файла и формирование второго, затем вывод на экран содержимого второго файла.

Program primer;

Var f1,f2:text;

I,n: integer;

S: string;

Begin

{формируем первый файл}

Assign(f1, ‘file1.txt’); {устанавливаем связь файловой переменной с физическим файлом на диске}

Rewrite(f1); {открываем файл для записи}

Readln(n) {определим количество вводимых строк}

for i:=1 to n do

begin

readln(s); {вводим с клавиатуры строки}

writeln(f1,s); {записываем последовательно строки в файл}

end;

close(f1); {заканчиваем работу с первым файлом, теперь на диске существует файл с именем file1.txt, содержащий введенные нами строки. На этом программу можно закончить, работу с файлом можно продолжить в другой программе, в другое время, но мы продолжим}

{часть вторая: чтение из первого файла и формирование второго}

Reset(f1); {открываем первый файл для чтения}

Assign(f2, ‘file2.txt’); {устанавливаем связь второй файловой переменной с физическим файлом}

Rewrite(f2); {открываем второй файл для записи}

{Дальше необходимо последовательно считывать строки из первого файла, проверять выполнение условия и записывать нужные строки во второй файл. Для чтения из текстового файла рекомендуется использовать цикл по условию «пока не конец файла»}

While not eof(f1) do

Begin

Readln(f1,s);{считываем очередную строку из первого файла}

If (s=’A’) or (s=’a’) then

Writeln(f2,s); {записываем во второй файл строки, удовлетворяющие условию}

End;

Close(f1,f2); {заканчиваем работу с файлами}

{часть третья: выводим на экран второй файл}

Writeln;

Writeln(‘Второй файл содержит строки:’);

Reset(f2); {открываем второй файл для чтения}

While not eof(f2) do {пока не конец второго файла}

Begin

Readln(f2,s);{считываем очередную строку из второго файла}

Writeln(s); {выводим строку на экран}

End;

End.

Задача 1: Дан текстовый файл. Посчитать количество строк в файле.

  1. Открыть файл для чтения;
  2. Организовать считывание данных из файла построчно (readln(f,s), где s-переменная типа string), насчитывая на каждом шаге считывания значение переменной-счетчика k;
  3. Вывести на экран значение переменной-счетчика;
  4. Закрыть файл.

program z1;

var k:integer;

s:string;

f:text;

begin

assign(f,"input.pas");

reset(f);

k:=0;

while not eof(f) do begin

readln(f,s); k:=k+1;end;

writeln("k=",k);

close(f);

end.

Задача 2: Дан текстовый файл. Напечатать все его строки, начинающиеся с символа «Т».

Составим алгоритм решения задачи (Создать текстовый файл данных – input.pas до начала решения задачи):

  1. Связать логический файл f с физическим файлом input.pas;
  2. Открыть файл для чтения;
  3. Организовать считывание данных из файла построчно (readln(f,s), где s-переменная типа string), проверяя на каждом шаге, удовлетворяет ли строка условию: первый символ равен «Т», и если да, то вывести эту строку на экран;
  4. Закрыть файл.

program z2;

var k:integer;

s:string;

f:text;

begin

assign(f,"input.pas");

reset(f);

while not eof(f) do begin

readln(f,s);

if s=’T’ then writeln(s);

end;

close(f);

end.

Задача 3: Дан текстовый файл. Напечатать все его строки, содержащие более 30 символов.

Составим алгоритм решения задачи (Создать текстовый файл данных – input.pas до начала решения задачи):

  1. Связать логический файл f с физическим файлом input.pas;
  2. Открыть файл для чтения;
  3. Организовать считывание данных из файла построчно (readln(f,s), где s-переменная типа string), проверяя на каждом шаге, удовлетворяет ли строка условию: длина строки больше 30, и если да, то вывести эту строку на экран;
  4. Закрыть файл.

program z3;

var k:integer;

s:string;

f:text;

begin

assign(f,"input.pas");

reset(f);

while not eof(f) do begin

readln(f,s);

if length(s)>=30 then writeln(s);

end;

close(f);

end.

Задача 4: Дан текстовый файл. Напечатать все его строки, содержащие в качестве фрагмента заданный текст.

Составим алгоритм решения задачи (Создать текстовый файл данных – input.pas до начала решения задачи):

  1. Связать логический файл f с физическим файлом input.pas;
  2. Открыть файл для чтения;
  3. Задать фрагмент текста для поиска (s1);
  4. Организовать считывание данных из файла построчно (readln(f,s), где s-переменная типа string), проверяя на каждом шаге, удовлетворяет ли строка условию: в ней содержится в качестве фрагмента заданный текст (s1), и если да, то вывести эту строку на экран;
  5. Закрыть файл.

program z4;

var k:integer;

s1,s:string;

f:text;

begin

writeln(‘введи фрагмент текста ’);

readln(s1);

assign(f,"input.pas");

reset(f);

while not eof(f) do begin

readln(f,s);

if pos(s1,s)<>0 then writeln(s);

end;

close(f);

end.

Задача 5: Дан текстовый файл. Напечатать 5 строку в новый текстовый файл, а остальные на экран.

Составим алгоритм решения задачи (Создать текстовый файл данных – input.pas до начала решения задачи):

  1. Связать логический файл f с физическим файлом input.pas, а логический файл g с физическим файлом output.pas;
  2. Открыть файл для чтения;
  3. Организовать считывание данных из файла построчно (readln(f,s), где s-переменная типа string), насчитывая на каждом шаге считывания значение переменной-счетчика k, и, проверяя на каждом шаге, равно ли значение счетчика 5, и если да, то вывести эту строку в файл g, иначе вывести на экран;
  4. Закрыть файл.

program z5;

var k:integer;

s:string;

f,g:text;

begin

assign(f,"input.pas");

reset(f);

assign(g,"output.pas");

rewrite(g);

k:=0;

while not eof(f) do begin

readln(f,s);k:=k+1;

if k=5 then writeln(g,s);

end;

close(f); close(f);