Организация внешних файлов и работа с ними

Особенности создания внешних файлов данных для постоянного хранения на магнитном диске и возможности обрабатывать эти файлы. Описание основных видов взаимодействия программы с внешними файлами: чтения и записи. Примеры создания программы входного файла.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 18.10.2013
Размер файла 10,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Организация внешних файлов и работа с ними

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

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

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

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

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

Во многих версиях PASKAL для микроЭВМ допускается хранение файлов на диске как символьных данных. При считывании файла в оперативную память машины символы файла преобразуются в тот тип данных, который объявлен в программе.

Если программа взаимодействует с внешними файлами, то файлы должны быть описаны в программе либо явно в разделе переменных VAR, либо с использованием раздела типов TYPE. Объявление файлов в разделе переменной имеет вид:

VAR имя файла: FILE OF базовый тип;

***

VAR

FT:FILE OF CHAR; (*файл символьных данных*)

FINP:FILE OF REAL; (*файл действительных данных*)

M:FILE OF INTEGER; (*файл целых данных*)

Файлы символьных данных называют текстовыми файлами. Описание текстового файла

FILE OF CHAR

Эквивалентно описанию TEXT. Поэтому в предыдущем примере текстовый файл FT можно объявить в виде:

VAR FT:TEXT;

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

TYPE имя типа = FILE OF базовый тип;

VAR имя файла: имя типа;

*** Для текстового файла FT описание имеет вид:

TYPE T=FILE OF CHAR;

VAR FT:T;

внешний файл чтение запись

Здесь Т - введенный тип данных.

Рассмотрим основные 3 вида взаимодействия программы с внешними файлами: чтение файла, запись файла, чтение и запись.

Чтение файла.

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

В программе необходимо выполнить следующие действия для чтения файла: открыть файл для чтения (RESET), ввести данные файла в программу(`READ), закрыть файл для чтения (CLOSE).

Внешний файл, из которого читаются данные, часто называют входным файлом.

Общая форма чтения файла имеет вид:

RESET (имя 1);

. . .

READ (имя 1,параметры);

. . .

CLOSE ( имя 1);

Многоточием отмечено наличие каких-либо операторов программы.

В некоторых версиях PASCAL (в ДВК) оператор RESET может иметь несколько аргументов:

RESET (имя 1; имя 2; имя 3; имя 4).

Здесь имя 1 - файловая переменная, которая в программе описана как файл. Она устанавливает связь с физическим именем файла; имя 2 - физическое (конкретное) имя файла, который хранится на диске; имя 3 - расширение физического имени файла. Можно указывать любые 3 символа, однако рекомендуется указывать DAT (данные). Аргумент можно не указывать, тогда по умолчанию будет DAT; имя 4 - переменная, которая автоматически получает значение, равное числу блоков, занимаемых внешним файлом на диске. Аргумент можно не указывать, но если он указан, то нужно объявить переменную как целого типа.

Оператор ввода для чтения файла обладает всеми свойствами обычного оператора ввода READ. В качестве параметров могут быть переменные; каждая переменная получает значение одного элемента, считанного из внешнего файла. Переменные должны быть описаны в программе соответственно своему типу.

Т.к. по определению число элементов файла не задается, то в PASKALe введен признак конца файла. Стандартная встроенная функция EOF (имя файла) исполняется для определения, достигнут ли конец файла, и ложное - в противном случае.

Функцию EOF можно использовать в логическом выражении в частности, в операции цикла, например:

WHILE NOT EOF (F1) DO

BEGIN . . .

END

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

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

WHILE NOT EOLN (имя 1) DO,

а для перехода на новую строку файла - оператор READLN (имя 1).

Пусть на диске имеется файл с именем D1.DAT, в котором записана последовательность действительных чисел в нескольких строках:

0.54 1.7 4.56 0.2

1.32 1.524 18 0.92

7.7

Необходимо эти данные сделать доступными программе и вычислить их сумму.

Program A21(INPUT, OUTPUT);

VAR

F1:TEXT; (*файловая переменная*)

L1:Integer; (*длина файла*)

X; Real; (*число*)

SUM: Real; (*сумма*)

Begin

SUM: = 0;

RESET (F1; D1; DAT; L1)

WHILE NOT EOF (F1) DO

Begin

WHILE NOT EOLN (F1) DO

Begin

READ (F1, X);

SUM: = SUM + X

end;

Readln (F1)

end;

WRITE ('сумма=; SUM:8:3);

CLOSE (F1)

end.

Сумма = 42.124

В программе 1.1: F1 - файловая переменная, с помощью которой устанавливается связь с файлом D1.DAT. Физическое имя файла указывается только при открытии файла в операторе RESET. В остальных операторах при необходимости работы с файлом указывается файловая переменная F1. Оператор READ (F1,X) применяется для считывания данных (по одному) из внешних файлов в переменной Х. После оператора CLOSE (F1) данные файла становятся недоступными программе. Значение вычисленной суммы выводится на экран дисплея.

Запись файла.

Под записью файла понимается запись результатов программы из оперативной памяти ЭВМ на диск, т.е. создание нового файла на внешнем устройстве. В программе необходимо выполнить следующие действия для записи файла:

открыть файл для записи (REWRITE);

вывести данные (WRITE);

закрыть файл для записи (CLOSE).

Внешний файл, в котором записываются данные из программы, часто называют входными.

Общая форма записи файла:

REWRITE (имя 1);

. . .

WRITE (имя 1, параметры);

. . .

CLOSE (имя 1);

Оператор вывода для записи данных обладает всеми свойствами обычного оператора WRITE. Если оператор вывода имеет вид:

WRITE (параметры)

То данные выводятся на экран дисплея, а если WRITE (имя 1, параметры)

То данные записываются в файл, хранящиеся на диске.

Пусть в программе переменные А и В получают следующие значения: А=510, В=16.2.

требуется записать в файл с именем D2.DAN строку в виде А=510 В=16.2.

program A21A (INPUT, OUTPUT);

VAR

F2 : text; (*файловая переменная*)

L2 : Integer; (*длина выходного файла*)

A : Integer; (*целое данное*)

B : Real; (*действительное данное*)

Begin

L2 : =1; A : = 510; B : = 16.2;

REWRITE (F2, 'D2', 'DAN', L2);

WRITE (F2, 'A=', A:3,' ':5, 'B=', B:4:1);

CLOSE (F2)

end.

Все значения переменных указаны в комментариях программы. REWRITE открывает файл для записи в него данных. Полное имя файла - D2.DAN. WRITE выводит строку символов в соответствии с форматом. CLOSE закрывает файл для записи. Поскольку для записи одной строки вполне достаточен 1 блок, то переменной L2 присваиваем значение 1.

Чтение и запись файла.

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

program A22 (INPUT,OUTPUT);

TYPE T = TEXT; (*тип файла - текстовый*)

VAR

T1, T2 : T; (*файловая переменная*)

S : CHAR; (*символьное данное*)

R : Integer; (*целое данное*)

begin

RESET(T1, 'FINP'); (*открытие файла для чтения*)

REWRITE (T2, 'FOUT'); (*открытие файла для записи*)

READ (T1, S); (*чтение данного из файла*)

. . . . . . . . . . . . . (*действия с переменными S, R*)

WRITE (T2, R); (*запись значения R в файл*)

CLOSE (T2); (*закрытие файла для записи*)

CLOSE (T1); (*закрытие файла для чтения*)

end.

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

Пример с использованием внешних файлов:

Имеем ведомость по результатам экзамена в группе. Будем считать ее входным файлом с именем DAN:

-------------------------------------------------------

предмет "физика"

группа Т - 12

-------------------------------------------------------

Алексеев С.А. : 5

Вертышев А.Ю. : 4

Колдаев В.Д. : 5

Петрова Н.В. : 4

Федоренко Р.Ф. : 3

Маронин А.В. : 4

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

-------------------------------------------------------

предмет "физика"

группа Т - 12

-------------------------------------------------------

Алексеев С.А. : 5

Вертышев А.Ю. : 4

Колдаев В.Д. : 5

Петрова Н.В. : 4

Федоренко Р.Ф. : 3

Маронин А.В. : 4

* * * * * * * * * * * * * * * * * * * * * * * *

Средний балл в группе: 4.17.

Количество учащихся: 6

Размещено на Allbest.ru

...

Подобные документы

  • Работа с файлами на языке Pascal. Типы файлов: типизированные, текстовые, нетипизированные. Сущность процедуры и функции. Использование процедуры Read и Write для операций чтения и записи в типизированном файле. Листинг программы и экранные формы.

    лабораторная работа [38,4 K], добавлен 13.02.2009

  • Описание возможностей языка программирования Turbo Pascal. Написание программы создания файлов с прямым доступом, которая также будет обрабатывать наборы данных с определенными полями и ограничениями. Контрольный пример работы поисковой программы.

    курсовая работа [563,6 K], добавлен 22.01.2016

  • Набор данных на диске, имеющий имя. Порядок размещения файлов. Многоуровневая файловая система. Полный адрес файла. Логические диски и файловые системы в Windows. Работа с файлами в Windows. Связь расширения с программой. Поиск компьютеров в сети.

    презентация [1,9 M], добавлен 12.12.2012

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

    реферат [216,5 K], добавлен 26.03.2010

  • Появление операционной системы Windows 95. Правила присвоения имен файлам. Порядок хранения файлов на диске. Система хранения файлов и организации каталогов. Многоуровневая иерархическая файловая система. Полное имя файла. Иерархия папок Windows.

    презентация [103,0 K], добавлен 11.03.2015

  • Работа с базами данных в оперативной памяти. Описание файлового домена. Операции чтения-записи в файл. Переадресация ввода-вывода. Особенности работы с базами данных, хранящими данные в файлах на диске. Общие правила работы с файлами на внешних носителях.

    учебное пособие [49,3 K], добавлен 27.04.2013

  • Алгоритм и код программы для создания исходного двоичного файла чисел с произвольным количеством элементов, чтения из файла действительных восьмибайтных элементов и подсчёта общего количества элементов файла. Вывод результата работы программы на экран.

    контрольная работа [1,0 M], добавлен 23.11.2014

  • Описание типизированных файлов. Принципы работы с файлами, создание и открытие на запись нового файла. Чтение из файла, открытие существующего файла на чтение. Определение имени файла. Запись в текстовый файл. Описание множества и операции над ними.

    реферат [86,4 K], добавлен 07.02.2011

  • Программы для создания архивов. Эффективность сжатия данных как важнейшая характеристика архиваторов. Основные методы сжатия данных. Характеристика программы для упаковки текстов и программ WinRar. Распаковка файлов, упаковка файлов и папок в общий архив.

    реферат [21,0 K], добавлен 05.04.2010

  • Описание используемых в программе операторов, процедур, функций. Директива include. Правила объявления и определения функций в СИ++. Блок-схема алгоритма программы. Подпрограммы чтения из файла и записи в файл. Использование заголовочных файлов.

    курсовая работа [346,8 K], добавлен 26.04.2012

  • Понятия файлов и каталогов. Область внешней памяти, группа файлов на одном носителе. Древовидная структура файлов на диске. Имя и местонахождение файла. Маршрут или путь по файловой системе. Запись имени файла в DOSе. Шаблоны. Структура каталога.

    лабораторная работа [15,2 K], добавлен 30.09.2008

  • Особенности работы "поисковика" дублирующихся файлов на диске. Выбор среды программирования. Разработка программного продукта. Основные требования, предъявляемые к программе, производящей поиск дублирующихся файлов на диске. Отображение скрытых файлов.

    курсовая работа [1,8 M], добавлен 28.03.2015

  • Принципы создания последовательных и файлов произвольного доступа. Формирование файлов, в одном из которых помещены фамилии пяти знакомых, а в другой номера их телефонов. Составление программы, которая по фамилии знакомого определяет номер его телефона.

    контрольная работа [17,9 K], добавлен 25.12.2010

  • Разработка программы, которая выполняет удаление элементов внешних таблиц, а также очистку файлов, вывод таблиц на экран. Описание программного продукта. Выбор языка программирования. Схема информационных потоков. Комплект поставки и инсталляция.

    курсовая работа [180,0 K], добавлен 09.03.2009

  • Символьные типы данных, работа со строками, составление блок-схемы алгоритма и программы для работы с массивами. Организация программы с использованием процедур и функций. Процедуры и функции, использующиеся при обработке файлов; компонентные файлы.

    контрольная работа [52,9 K], добавлен 03.10.2010

  • Создание программы, которая позволяет пользователю задавать произвольную директорию, содержащую музыкальные файлы. Осуществление поиска или рекурсивного поиска файлов в этой директории и формирование csv-файла. Исправление тегов в музыкальных файлах.

    курсовая работа [241,3 K], добавлен 13.02.2015

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

    реферат [14,5 K], добавлен 06.12.2011

  • Реализация программы-конвертера для создания на основе передаваемых dbf файлов файла формата XML (по заданному пользователем шаблону). Создание шаблонов при помощи кода и при помощи конструктора. Проектирование архитектуры программного продукта.

    дипломная работа [1,6 M], добавлен 27.06.2013

  • Создание программы для автоматизации процесса управления и контроля торговых агентов ООО "Журавли плюс". Использование мобильной системы "Агент +" для чтения файлов выгрузки со смартфонов; создания файлов импорта; редактирования данных о торговых агентах.

    дипломная работа [2,9 M], добавлен 12.09.2012

  • Проектирование структуры и архитектуры программного продукта. Реализация программы конвертера файлов баз данных. Описание пользовательского интерфейса. Выбор порядка конвертации dbf файлов. Создание и исполнение шаблонов. Расчет себестоимости продукта.

    дипломная работа [2,2 M], добавлен 21.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.