Рефераты. Основы программирования на языке Паскаль

Если поле, соответствующее какой-либо метке, является пустым, то оно записывается следующим образом:

список констант выбора: ( );

         Program Prim46;

    Type zap=record

              nomer:byte;

              artikul:integer;

           case flag:boolean of

              true:(cena1:integer);

              false:(cena2:real); end;

    Var h,s:zap;

  BEGIN  with h do

    Begin nomer:=1; artikul:=2345; flag:=true; cena1:=25;

      writeln('nomer=',nomer,' artikul=',artikul,' cena1=',cena1);

          flag:=false; cena2:=3.2;

      writeln('cena2 ',cena2);

       end; readln; END.

10. Файлы

 

10.1. Общие замечания


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

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

Файл может быть связан с внешним носителем информации, т.е. располагаться на магнитном или СД диске, магнитной ленте, клавиатуре при вводе информации или на экране, принтере и при выводе её и т.д.

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

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

Определение файлового типа строится по такой схеме:

Туре имя типа=file of тип компонент;

Var идентификатор,.., идентификатор: имя типа;

Например:

Туре zap=record

Nom: integer;

FIO: string [20];

oklad: real; end;

Ft=file of zap;

Var a, b, с: Ft;

Описаны три файла с именами а, b, с типа Ft. Компонентами файлов служат записи типа zap. Другими словами, файл схематично можно представить в виде «ленты» компонент, каждая из которых является записью типа zap. Доступ к компонентам файла может быть последовательным и прямым. Последовательный доступ – это когда для обращения к n-й компоненте необходимо «посмотреть» n-1 компонент; прямой доступ – обращение к компоненте идет прямо по «ключу» (номеру компоненты), без «просмотра» предыдущих компонент.

При работе с файлом «внимание» машины сосредоточено на компоненте, определенной указателем файла (этой компонентой будет работать машина при следующем обращении к файлу).

Имя файла должно быть уникальным и состоящим из собственного имени и необязательного расширения – типа файла, содержащего три символа и отделенного от основного имени точкой. Расширение, как правило, указывает в мнемонической форме на содержимое файла: pas, ехе, txt и т.д. В некоторых случаях тип файла присваивается автоматически операционной системой или используемым пакетом.

Каждый диск, содержащий файлы, имеет оглавление, в которое помещается информация о его имени, расширении, времени и дате его создания, о местонахождении на физическом носителе (например, на диске С или D).

Для поиска файла необходимо указать диск, каталог, подкаталог, имя файла, его расширения.

Например: C:\TURBO\Prim\Prim46.pas.

Здесь файл Prim 46.pas находится в подкаталоге Prim каталога TURBO диска С.

 

10.2. Стандартные процедуры и функции для работы с файлами


Далее примем обозначения: FV - имя файловой переменной или просто имя файла, str - строковое выражение, Р - имя структурной компоненты файла, n - целое выражение.

Assig и (FV, str); – процедура присвоения имени файла.

Имя файла, которое является значением str, присваивается переменной файлового типа FV. Далее все действия над этой переменной будут эквивалентны действиям над файлом, определенным именем str. Например: Assign (books, 'c:\bibl.dos'); позволяет работать не с именем 'c:\bibl.dos', которое может быть достаточно длинным (если имеются каталоги и подкаталоги), а с именем books.

Rewrite (FV); – процедура создания нового файла с именем FV на диске. Имя файла должно быть предварительно определено процедурой Assign. Если на диске уже был файл с таким именем, то он уничтожается. Указатель файла устанавливается в первую позицию с номером 0. Файл еще не содержит ни одной компоненты, а только подготовлен к загрузке.

Reset (FV); – процедура открытия (разрешение работать с файлом именем FV) уже имеющегося файла. Указатель устанавливается на начало файла, в позицию с номером 0.

Read (FV, Р); – процедура чтения компоненты файла, на которую установлен указатель, ее содержимое помещено в область памяти с именем Р.

Write (FV, Р); – процедура записи информации из области памяти Р в файл FV и компоненту, на которую установлен указатель.

Seek (FV, n); – процедура установки указателей на компоненту с номером n.

Flush (FV); – очищение буфера сектора. Выполнение процедуры приводит к выталкиванию содержимого внутреннего буфера (области памяти) в файл.

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

Erase (FV); – процедура уничтожения файла. Если производится уничтожение открытого файла, его необходимо предварительно закрыть.

Rename (FV, str); – процедура переименования файла. Файлу FV присваивается имя str.

Truncate (FV); – процедура уничтожения всех компонент файла, начиная с места текущего положения указателя и подготовки файла к записи.

Eof (FV) – функция проверки маркера конца файла. Значение функции равно True, если указатель файла находится за последней компонентой, и False – в противном случае.

Filepos (FV) – функция определения положения указателя.

Filesize (FV) – функция определения длины файла. Функция возвращает целочисленное значение, равное количеству компонент файла: если File Size (FV) = 0, то файл пуст.

Loresult (FV) – функция проверки результата последней операции ввода- вывода на наличие ошибок. Если ошибка обнаружена, возвращается код ошибки, если нет, то код = 0.

 

10. 3. Стандартные файлы

Con: – консоль (клавиатура или экран дисплея). Турбо-Паскаль устанавливает различия между этими устройствами по направлению передачи данных: чтение данных возможно только с клавиатуры, а запись - только на экран. Ввод с клавиатуры буферизуется: символы по мере нажатия клавиш помещаются в буфер, содержимое которого передается в ЭВМ только после нажатия клавиши ENTER, поскольку вводимые и буферизированные символы отображаются на экране. Con применяется «по умолчанию» для ввода с помощью операторов READ и Readln и для вывода на экран – операторов write и writeln, если не указано имя файла FV.

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

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

Kbd: – клавиатура, используемая только для ввода с клавиатуры, при вводе информация не отображается на экран.

PRN: – построчно печатающее устройство (принтер), используемое только для вывода.

Aux: – вспомогательное устройство, подключающееся через порты.

Usr: – устройство пользователя, применяемое при написании собственных драйверов для организации нестандартного ввода-вывода.

10.4. Файлы последовательного доступа, созданные пользователем

Работа с файлом последовательного доступа предполагает его создание, обработку и корректировку. Для создания файла последовательного доступа необходимо:

-                   объявить файловую переменную;

-                   «привязать» файл к физическому носителю информации (присвоить файлу имя). (Assign);

-                   открыть новый файл (Rewrite);

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

-                   записать в файл компоненту (Write);

-                   повторить п. 4, 5 необходимое количество раз;

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.