Понятие файла данных
Файл - это поименованная область на любом носителе, содержащая логически связанную информацию. Файл данных представляет собой совокупность данных одного и того же типа о каком-то явлении, объекте или процессе. Число элементов, называемое длиной файла, не фиксировано. В этом состоит основное отличие файла от массива. По методу доступа к элементам файлы разделяются на файлы последовательного и прямого доступа. По отношению к программе файлы могут быть внутренними, которые создаются, используются и существуют только во время работы программы, и внешними, которые существуют вне программы, например, на магнитном диске. Кроме того, файлы делятся в зависимости от типа на текстовые, которые содержат некоторый текст, и типизированные, которые содержат данные, например, 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. Исходные данные
Для всех вариантов: Tk =1с; = 0,5kМ; XB =1,5kМ; XН = 0, причем значения величин условные.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|