Здавалка
Главная | Обратная связь

Понятие файла данных



 

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

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

По методу доступа к элементам файлы разделяются на файлы последовательного и прямого доступа.

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

Кроме того, файлы делятся в зависимости от типа на текстовые, которые содержат некоторый текст, и типизированные, которые содержат данные, например, real, integer.

При моделировании систем будем использовать типизированные файлы с прямым доступом.


 

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

 

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

Имя файловой переменной выбирается по правилу задания имен для переменных.

Пусть F – файловая переменная. Тогда описание файловой переменно типа REALбудет иметь вид:

F: file of REAL,

В программе или в процедуре имя файловой переменной F должно быть связано с именем внешнего файла на диске. Если пользователем задано имя внешнего файла Fd.dat, то процедура имеет вид:

ASSIGN(F, ‘Fd.dat’),

где 'Fd.dat’ – строковая константа, при этом имеется в виду текущий диск и текущий каталог. Эту процедуру необходимо использовать до открытия файла для записи и чтения.

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

REWRITE(F);

RESET(F).

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

При записи в файл или чтении массива ai служат следующие процедуры:

WRITE(F, A[i]);

READ(F, A[i]).

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

CLOSE(F).

По определению число элементов файла не задается. Поэтому для нахождения конца файла введена стандартная логическая функция:

EOF(F).

При достижении конца файла EOF принимает значение TRUE, а в противном случае FALSE. При использовании этой функции при чтении файла можно использовать цикл

WHILE – DO:

WHILE NOT EOF(F) DO.

Однако можно обходиться как при записи, так и при чтении циклом FOR – DO. Для этого перед чтением в цикле надо с помощью стандартной процедуры определить количество элементов К в файле без учета a[i] = Ø:

K: = FILESIZE(F) - 1.

Запись в файл

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

Общая структура программы записи в файл:

PROGRAM WRITEFILE;

USES CRT;

.……………….…..

описание переменных

……………………

F: FILE OF REAL;

BEGIN

ASSIGN(F, ‘Fd.DAT’);

REWRITE(F);

Ввод с клавиатуры значенияК;

FOR………………

Напоминание о вводеai

Вводai

WRITE(F, a[i]);

END;

CLOSE(F);

END.

Чтение файла

 

Чтение файла оформляется в виде подпрограммы PROCEDURE. Общая структура подпрограммы:

{Подпрограмма открытия файла}

PROCEDURE OPEN F(VAR a: MAS; VAR K: INTEGER);

.……………….…..

описание переменных

……………………

F: FILE OF REAL;

BEGIN

ASSIGN(F, ‘Fd.DAT’);

RESET(F);

K: = FILESIZE(F) – 1;

FOR……………….

READ(F, a[i]);

Вывод на экран для контроля

END;

CLOSE(F);

END.

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

Задание

 

1. Составить схему алгоритма и программу для записи исходных данных в файл, используя таблицу 3.2.

2. Составить схемы алгоритма и подпрограмму в виде процедуры для чтения исходных данных из файла.

3. Начать формирование основной программы моделирования системы управления согласно схеме 2.2. Для этого описать в программе все глобальные массивы, простые переменные в соответствии с таблицей 3.1, описать разработанные процедуры и обращение к процедурам в основной программе.

4. Для контроля правильности исходных данных необходимо в цикле FOR – DO вывести данные на экран, используя форматирование 5:2. По окончании разработки всей программы вывод массива можно из процедуры исключить.

 

Содержание отчета

 

1. Титульный лист.

2. Задание.

3. Схема алгоритма.

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

5. Распечатка исходных данных.

6. Распечатка результатов.


Таблица 3.2.

Исходные данные

 

Вариант Исходный массив A(I), I=0, 1, 2, 3, …
0; 0; 0; 0,563; 0,98; 1,32; 1,58; 1,78; 1,94; 2,06; 2,16; 2,24; 2,3; 2,34; 2,36; 2,4; 2,42; 2,44
0; 0; 0,56; 0,972; 1,26; 1,46; 1,62; 1,72; 1,8; 1,86; 1,9; 1,92; 1,94
0; 0; 0; 0,46; 0,82; 1,12; 1,36; 1,56; 1,74; 1,88; 1,98; 2,06; 2,16; 2,22; 2,28; 2,32; 2,34; 2,38; 2,4; 2,42; 2,46; 2,46
0; 0; 0; 0; 0,28; 0,32; 0,46; 0,56; 0,64; 0,68; 0,76; 0,8; 0,84; 0,86; 0,88; 0,9; 0,92; 0,94; 0,96; 0,98; 1,0
0; 0; 0,2; 0,38; 0,52; 0,66; 0,76; 0,86; 0,94; 1,02; 1,04; 1,06; 1,14; 1,16; 1,22; 1,26; 1,3; 1,32; 1,34; 1,36; 1,38; 1,40; 1,42; 1,44; 1,46; 1,48; 1,50; 1,52; 1,54
0; 0; 0; 0,54; 0,96; 1,36; 1,64; 1,88; 2,02; 2,26; 2,38; 2,5; 2,52; 2,66; 2,72; 2,76; 2,8; 2,82; 2,9; 2,92; 2,94; 2,96
0; 0; 0; 0; 0,36; 0,66; 0,9; 1,1; 1,26; 1,38; 1,5; 1,58; 1,66; 1,72; 1,76; 1,8; 1,82; 1,86; 1,9; 1,92; 1,94; 1,96
0; 0; 0; 0,6; 1,12; 1,56; 1,94; 2,28; 2,52; 2,74; 2,94; 3,1; 3,24; 3,36; 3,44; 3,54; 3,6; 3,66; 3,72; 3,76; 3,8; 3,82; 3,84; 3,86; 3,88; 3,92

 

Для всех вариантов:

Tk =1с; = 0,5kМ; XB =1,5kМ; XН = 0,

причем значения величин условные.

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.