Материал: Алгоритмический язык Turbo Pascal 7.0. Юршин Е.Д., Рог А.И

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Можно так же преобразовать программу таким образом, чтобы вычисленные результаты она выводила не на экране дисплея, а в текстовый файл; это позволит программисту иметь на диске постоянную версию (вариант) результатов работы программы. Этот файл на диске затем может быть выведен на печать (принтер), либо использован в качестве входного файла другой программой.

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

1

5

9

0

0

.

0

0

O

 

 

h

h

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J

0

h

e

s

<leln>

5

.

s

e

l

 

m

 

 

<lol

<lof>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n>

 

Рис.4.2.11. Текстовый файлпоследовательность символов.

Текстовый файл, изображенный на данном рисунке содержит с ценой 33 символов или байтов, включая цифры, точки, пробелы, буквы и два специальных символа, <LOON> и <LOF>. Первый них (<LELN>-end- of-line) вставляется после последнего символа при сохранении текстового файла. Таким образом, текстовый файл может содержать множество символов <LELN> (т.к. много строк), но только один символ

<lof>.

Хотя физически текстовый файл содержится на диске в виде одной длинной последовательности символов, разделенных символами <LONN> на троки. Если воспользоваться текстовым редактором языка Turbo Pascal (Edit) чтобы получить доступ к файлу, избранному на рис. 4.2.11., на экране он будет выглядеть так:

15900.00 Johnny Jones

5.0 sl mz

При этом на экране дисплея символы <LOLN> и <Lof> будут отсутствовать.

Файловый тип или переменную файлового типа можно описать (задать) одним из трех способов:

<имя> = FILE OF <тип>; <имя> = TEXT;

<имя> = FILE;

Здесь <имя> - имя файлового имя (правильный идентификатор);

FILE, OF – зарезервированные слова (файл, из); TEXT – имя стандартного типа текстовых файлов;

< тип > - любой тип языка Turbo Pascal, кроме файлов. Например:

Type

Product = record; name: string; code: word; const: comp;

end;

text 80 = file of string [80]; var

f1: file of char; f2: text;

f3: file; f4: text 80;

f5: file of product;

Здесь фрагмент Type – end является записью;

f1, f4 и f5 –типизированные файлы, f2текстовые файл, f3не типизированный файл.

Таким образов, в зависимости от способа объявления можно выделить три вида файлов:

-типизированные файлы (задаются предложением

FINE of);

-текстовые файлы (определяются типом TEXT);

-не типизированные файлы (определяются типом

FILE).

Доступ к файлам.

Любой программе доступны два предварительно объявленных файла со стандартными файловыми переменными: INPUT – для чтения данных с клавиатуры и OUTPUTдля вывода на экран дисплея. Стандартный Pascal требует обязательного упоминания этих файлов в заголовке программы, например:

Program Name (input, output);

В Turbo Pascal это необязательно, вот почему заголовок программы можно опускать.

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

Файловая переменная связывается с именем файла в результате обращения к стандартной процедуре

ASSIGN:

ASSIGN (< ф.п. >, < имя файла или л.у. >);

Здесь < ф.п. > - файловая переменная (правильный идентификатор, объявленный в программе как переменная файлового типа); < имя файла или л.у. > - текстовое выражение,

содержащее или файлы или логическое устройство. При этом, если имя файла задается в виде пустой строки, например: ASSIGN (f1‖), то в зависимости от направления обмена данными файловая переменная связывается со стандартным файлом INPUT или

OUTPUT.

Имена файлов.

Имена файлов - это любое выражение строкового типа, которое строится по правилам определения имен в определенной системе компьютера. При этом:

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

! # % ^ ( ) ` ~ - _

-имя может начинаться с любого разрешенного символа.

-за именем может следовать расширение – последовательность до тех трех размещенных символов (расширение, если оно есть, отделяется от имени точкой).

Перед именем может указываться так называемый путь к файлу: имя диска и (или) имя текущего каталога и имена каталогов вышестоящих уровней.

Имя диска - это один из символов A..Z, после которого ставится двоеточие. Имена A: и B: относятся к дисковому накопителю на гибких дисках, а имена C: и D: и т.д. – к жестким дискам.

Если имя диска не указано, подразумевается устройство по умолчанию – то, которое было установлено в определенной системе перед началом работы программы. Рассмотрим пример:

ASSIGN (My Data,‘ a: In Data. Dat‘);

Здесь указано полное имя файла, т.е. указано имя файла и в каком каталоге он содержится.

Таким образом, данный оператор вызова процедуры ассоциирует файловую переменную My Data с файлом In Data.. Dat, содержащейся в корневом каталоге диска

A.

Заметим, что процедура ASSIGN – единственная, которая определяет фактическим именем файла на диске. Все другие процедуры и функции используют файловую переменную. По этой причине программы называют My Data внутренним именем файла, а A: In Data.Dat – его внешним именем.

При этом, необходимо иметь в виду – никогда не следует применять процедуру ASSIGN к открытому файлу.

Источник: https://studfile.net/preview/16565609/