Работа с файлами

Автор работы: Пользователь скрыл имя, 24 Ноября 2013 в 15:14, лабораторная работа

Краткое описание

Цель работы: приобретение навыков использования основных процедур обработки файлов.
Задание: . В радиоателье на единицу сданной радиоаппаратуры хранится квитанция со следующей информацией:
- наименование; - марка; - дата приема в ремонт; - срок выполнения; - готово или нет изделие к назначенному сроку.
Разработать программу ведения архива. Архив должен быть сформирован в виде файла. Квитанции должны храниться в архиве в течение месяца после выполнения работ по данному изделию.

Вложенные файлы: 1 файл

лаба 3 Структура.docx

— 24.90 Кб (Скачать файл)

Министерство образования  Республики Беларусь

Учреждение образования «Минский государственный высший радиотехнический колледж»

 

 

 

 

 

 

Лабораторная работа №3

«Работа с файлами»

 

 

 

 

 

 

 

 

           Выполнила                                                             учащаяся группы 73492

                    

 

            Проверила                                                             преподаватель

       

 

 

 

Минск 2010

 

 

Цель работы: приобретение навыков использования основных процедур обработки файлов.

Задание: . В радиоателье на единицу сданной радиоаппаратуры хранится квитанция со следующей информацией:

- наименование;

- марка;

- дата приема в ремонт;

- срок выполнения;

- готово или нет изделие к назначенному сроку.

Разработать программу ведения архива. Архив  должен быть сформирован в виде файла. Квитанции должны храниться в  архиве в течение месяца после  выполнения работ по данному изделию.

 

Program lab_3;

Var

  a,b,c :text;

  x: integer;

Begin

  assign(a,'d:\a.txt');

  assign(b,'d:\b.txt');

  assign(c,'d:\c.txt');

  reset(a);

  append(b);

  append(c);

  while not eof(a) do

    Begin

      read(a,x);

      if x mod 2=0 then

        write(b,x,' ')

      else

        write(c,x,' ')

    end;

  close(a);

  close(b);

  close(c);

end.

 

 

Контрольные вопросы:

1. Что называется  файлом? Как его описать в программе?

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

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

1) <имя> = FILE OF <тип>;

2) <имя> =TEXT;

3) <имя> = FILE;

Здесь <имя> – имя файлового типа;

FILE, OF – файл, из;

TEXT – имя  стандартного типа текстовых  файлов;

<тип> –  любой тип, кроме файлового.

2. Какие действия  можно производить с файлами?

Все операции над компонентными файлами производятся с помощью стандартных процедур:

Reset – открыть файл для чтения

Rewrite – открыть для перезаписи

Append – открыть для дозаписи (только для текстовых файлов)

Read – Считать информацию из файла

Write – Записать информацию в файл

Close – закрыть файл

3. Как записать  файл? Какие процедуры или функции  надо применить? Как производится  запись?

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

Write(f,X);

где f – имя  логического файла;

Х – либо переменная, либо массив, либо строка, либо множество, либо запись с таким же описанием, какое имеет компонент файла.

Запись данных в нетипизированный файл выполняется процедурой

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

которая осуществляет за одно обращение запись из переменной X количество блоков, заданное параметром Count, при этом длина блока равна длине буфера.

Необязательный  параметр QuantBlock возвращает число блоков (буферов), записанных успешно текущей операцией BlockWrite.

4. Как прочитать  файл? Какие процедуры или функции  используются? Как происходит чтение  данных из файла?

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

Read(f,X);

где f – имя  логического файла;

Х – либо переменная, либо массив, либо строка, либо множество, либо запись с таким же описанием, какое имеет компонент файла.

Чтение данных из нетипизированного файла осуществляется процедурой

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

var QuantBlock:Word);

5. Что представляют  собой типизированные файлы?

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

Описание  величин файлового типа имеет  вид:

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;

6. Что представляют  собой нетипизированные файлы?

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

7. В чем  вы видите преимущества и недостатки  работы с нетипизированными файлами по сравнению с типизированными и текстовыми файлами?

Можно задавать любой тип файла.

8. Что представляют  собой текстовые файлы?

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

9. Какие специфичные  для текстовых файлов функции  и процедуры вы знаете?

Reset(f) – открытие файла для чтения;

Rewrite(f) – открытие файла для записи «с нуля»;

Append(f) – открытие файла для дозаписи.

Eof(f) – конец файла;

10. Объясните  назначение процедур Аssign, Сlosе, Eof и их параметров.

Процедура Assign(var f; FileName: String) связывает логический файл f с физическим файлом, полное имя которого задано в строке FileName.

Процедура Close(var f) закрывает открытый до этого логический файл.

Логическая  функция EOF(var f):Boolean возвращает значение True, когда при чтении достигнут конец файла.

11. Объясните назначение процедур Seek, FileSize, FilePos и их параметров.

Процедура Seek(var f; N:Longint) обеспечивает назначение текущей позиции в файле (позиционирование).

Функция FileSize(var f):Longint возвращает количество блоков в открытом файле f.

Функция FilePos(var f):Longint возвращает текущую позицию в файле f.

12. Чем отличается  последовательный доступ от прямого?

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


Информация о работе Работа с файлами