Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Основные понятия алгоритмического языка

роцедуры файл готов к записи в него первого  элемента.
       Процедура Close( var  f )  закрывает  открытый до этого логический
    файл. Вызов процедуры Close необходим при завершении работы с файлом.
    Если  по  какой-то  причине  процедура Close не будет выполнена, файл
    все-же  будет создан на внешнем устройстве,  но содержимое последнего
    буфера в него  не будет перенесено.  Для входных файлов использование
    оператора закрытия файла необязательно.
       Логическая функция EOF( var f ): Boolean возвращает значение TRUE,
    когда при чтении достигнут конец файла.  Это означает, что уже прочи-
    тан последний элемент в файле или файл после открытия оказался пуст.
       Процедура Rename( var f; NewName: String ) позволяет переименовать
    физический файл на диске, связанный с логическим файлом f. Переимено-
    вание возможно после закрытия файла.
       Процедура Erase( var f )  уничтожает физический файл на диске, ко-
    торый был связан с файловой переменной f.  Файл к моменту вызова про-
    цедуры Erase должен быть закрыт.
       Функция  IOResult: Integer возвращает целое число, соответствующее
    коду последней ошибки ввода - вывода.  При нормальном завершении опе-
    рации функция вернет значение 0. Значение функции IOResult необходимо
    присваивать какой - либо переменной,  так как при каждом вызове функ-
    ция обнуляет свое значение. Функция IOResult работает только при вык-
    люченном режиме проверок ошибок ввода - вывода или с ключом  компиля-
    ции {$I-}.


    31.   Т Е К С Т О В Ы Е   Ф А Й Л Ы

       Особое место в языке ПАСКАЛЬ занимают текстовые файлы,  компоненты
    которых имеют символьный тип.  Для описания текстовых файлов в  языке
    определен стандартный тип Тext:

             var    TF1, TF2: Text;

       Текстовые файлы  представляют  собой  последовательность строк,  а
    строки - последовательность символов.  Строки имеют переменную длину,
    каждая строка завершается признаком конца строки.
       С признаком конца строки связана функция EOLn(var T:Text):Boolean,
    где Т - имя  текстового  файла.  Эта функция принимает значение TRUE,
    если достигнут конец строки, и значение  FALSE, если  конец строки не
    достигнут.
       Для операций над текстовыми файлами,  кроме перечисленных, опреде-
    лены также операторы обращения к процедурам:

       ReadLn(T) - пропускает строку до начала следующей;

       WriteLn(T) -  завершает  строку файла,  в которую производится за-
    пись, признаком конца строки и переходит к началу следующей.
       Для работы с текстовыми файлами введена расширенная форма операто-
    ров ввода и вывода. Оператор

        Read(T,X1,X2,...XK)

     эквивалентен группе операторов

        begin
          Read(T,X1);
          Read(T,X2);
          ...........
          Read(T,XK)
        end;

       Здесь Т - текстовый файл, а переменные Х1, Х2,...ХК могут быть ли-
    бо  переменными  целого, действительного или символьного  типа,  либо
    строкой. При чтении значений переменных из файла они преобразуются из
    текстового представления в машинное.
       Оператор

        Write(T,X1,X2,...XK)

    эквивалентен группе операторов

        begin
          Write(T,X1);
          Write(T,X2);
          ...........
          Write(T,XK)
        end;

       Здесь Т  -  также текстовый файл,  но переменные Х1,Х2,...ХК могут
    быть целого, действительного, символьного, логического типа или стро-
    кой. При записи значений переменных в файл они преобразуются из внут-
    реннего представления в текстовый.
       К текстовым файлам относятся стандартные файлы INPUT, OUTPUT.
       Рассмотренные ранее операторы ввода - вывода являются частным слу-
    чаем операторов обмена с текстовыми файлами, когда используются стан-
    дартные файлы ввода - вывода INPUT, OUTPUT.
       Работа с этими файлами имеет особенности:
       -имена этих файлов в списках ввода - вывода не указываются;
       -применение процедур  Reset,  Rewrite и Close к стандартным файлам
    ввода - вывода запрещено;
       -для работы с файлами INPUT,  OUTPUT введена разновидность функции
    EOLn без параметров.
       TURBO PASCAL вводит дополнительные процедуры и функции, применимые
    только к текстовым файлам,  это SetTextBuf,  Append, Flush, SeekEOLn,
    SeekEOF.
       Процедура SetTextBuf( var f: Text; var Buf; BufSize: Word ) служит
    для увеличения  или уменьшения буфера ввода - вывода текстового файла
    f. Значение  размера буфера для текстовых файлов по  умолчанию  равно
    128 байтам.  Увеличение размера буфера сокращает количество обращений
    к диску.  Рекомендуется изменять разиер буфера до открытия файла. Бу-
    фер файла начнется с первого байта переменной Buf.  Размер буфера за-
    дается в необязательном параметре BufSize,  а если этот параметр  от-
    сутствует, размер буфера определяется длиной переменной Buf.
       Процедура Append( var f:  Text )  служит для специального открытия
    выходных файлов. Она применима к уже существующим физическим файлам и
    открывает из для дозаписи в конец файла.
       Процедура Flush(  var  f: Text )  применяется  к открытым выходным
    файлам. Она  принудительно записывает данные из буфера в файл незави-
    симо от степени его заполнения.
       Функция SeekEOLn( var f: Text ): Boolean возвращает значение True,
    если до конца строки остались только пробелы.
       Функция SeekEOF( var f:  Text ): Boolean возвращает значение True,
    если до конца файла остались строки, заполненные пробелами.


    32.   К О М П О Н Е Н Т Н Ы Е   Ф А Й Л Ы

       Компонентный или типизированный файл - это файл с объявленным  ти-
    пом его компонент. Компонентные файлы состоят из машинных представле-
    ний значений переменных,  они хранят данные в том же виде,  что и па-
    мять ЭВМ.
       Описание величин файлового типа имеет вид:

             type M= File Of T;

    где М - имя файлового типа, Т - тип компоненты. Например:

             type
               FIO= String[20];
               SPISOK=File of FIO;
             var
               STUD, PREP: SPISOK;

       Здесь STUD,   PREP  - имена файлов,  компонентами которых являются
    строки.
       Описание файлов можно задавать в разделе описания переменных:

             var
                fsimv: File of Char;
                fr: File of Real;

       Компонентами файла могут быть все скалярные типы,  а из структури-
    рованных - массивы, множества, записи. Практически во всех конкретных
    реализациях языка ПАСКАЛЬ конструкция "файл файлов" недопустима.
       Все операции  над  компонентными  файлами  производятся  с помощью
    стандартных процедур:

       Reset, Rewrite, Read, Write, Close.

        Для ввода - вывода используются процедуры:

         Read(f,X);
         Write(f,X);

       где f - имя логического файла,  Х - либо переменная,  либо массив,
    либо строка,  либо множество, либо запись с таким же описанием, какое
    имеет компонента файла.
        Выполнение процедуры  Read(f,X)  состоит в чтении с внешнего уст-
    ройства одной компоненты файла и запись ее в X.  Повторное применение
    процедуры Read(f,X) обеспечит чтение следующей компоненты файла и за-
    пись ее в X.
       Выполнение процедуры Write(f,X) состоит в записи X на внешнее уст-
    ройство как   одной  компоненты.  Повторное применение этой процедуры
    обеспечит запись X как следующей компоненты файла.
       Для работы  с компонентными файлами введена расширенная форма опе-
    раторов ввода и вывода:

        Read(f,X1,X2,...XK)

        Write(f,X1,X2,...XK)

       Здесь f - компонентный файл, а переменные Х1, Х2,...ХК должны
    иметь тот-же тип, что и объявленный тип компонент файла f.


    33.   Б Е С Т И П О В Ы Е   Ф А Й Л Ы

       Бестиповые файлы позволяют записывать на диск произвольные участки
    пвмяти ЭВМ и считывать их с диска в память.  Операции обмена с бести-
    повыми   файлами   осуществляется   с  помощью  процедур  BlokRead  и
    BlockWrite. Кроме  того,  вводится расширенная форма процедур Reset и
    Rewrite. В остальном принципы работы остаются такими же, как и с ком-
    понентными файлами.
       Перед использованием логический файл

       var  f: File;

    должен быть  связан  с  физическим с помощью процедуры Assign.  Далее
    файл должен быть открыт для чтения или для  записи  процедурой  Reset
    или Rewrite, а после окончания работы закрыт процедурой Close.
       При открытии файла длина буфера устанавливается по умолчанию в 128
    байт. TURBO  PASCAL  позволяет изменить размер буфера ввода - вывода,
    для чего следует открывать файл расширенной записью процедур

       Reset(var f: File; BufSize: Word )

    или

       Rewrite(var f: File; BufSize: Word )

       Параметр BufSize задает число байтов, считываемых из файла или за-
    писываемых в него за одно обращение. Минимальное значение BufSize - 1
    байт, максимальное - 64 К байт.
       Чтение данных из бестипового файла осуществляется процедурой

      BlockRead( var f: File; var X; Count: Word; var QuantBlock: Word );

       Эта процедура осуществляет за одно обращение чтение в переменную X
    количества блоков,  заданное параметром Count,  при этом длина  блока
    равна длине  буфера.  Значение Count не может быть меньше 1.  За одно
    обращение нельзя прочесть больше, чем 64 К байтов.
       Необязательный параметр  QuantBlock возвращает число блоков (буфе-
    ров), прочитанных текущей операцией BlockRead. В случае успешного за-
    вершения операции чтения QuantBlock = Count, в случае аварийной ситу-
    ации параметр QuantBlock будет  содержать  число  удачно  прочитанных
    блоков. Отсюда  следует,   что  с  помощью параметра QuantBlock можно
    контролировать правильность выполнения операции чт
Пред.678910След.
скачать работу

Основные понятия алгоритмического языка

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ