• В вводимых файлах: запятая, пробелы, перевод строки.
• В выводимых файлах: пробелы, перевод строки.
• Пример допустимой строки вводимого файла:
200, 50 25.1256, 16E –2, –16.125E15
Функции доступа к неструктурированным файлам данных
READ(file) | Считывает значение из файла данных. Возвращает скаляр. Обычно используется следующим образом: v i:=READ(file) |
WRITE(file) | Записывает значение (одно!) в файл данных. Если файл уже существует, заменяет его на новый файл. Должна использоваться в операторах следующего вида: WRITE(file):= v i |
APPEND(file) | Дописывает значение (одно!) к существующему файлу. Должна использоваться в операторах следующего вида: APPEND(file):= v i |
Неструктурированные файлы –файлы, числа в которых необязательно расположены в строках и столбцах.
Структурированные файлы –числа в которых расположены в строках и столбцах, т. е. файлы, содержащие матрицу.
Неструктурированные файлы могут использоваться с индексированными переменные, структурированные -нет
Функции доступа к структурированным файлам данных
|
|
READPRN(file) | Читает структурированный файл данных. Возвращает матрицу. Каждая строка в файле данных становится строкой в матрице. Число элементов в каждой строке должно быть одинаковым. Обычно используется следующим образом: A: = READPRN(file) |
WRITEPRN(file) | Записывает матрицу в файл данных. Каждая строка матрицы становится строкой в файле. Должна использоваться в определениях следующего вида: WRITEPRN(file):= A |
APPENDPRN(file) | Дописывает матрицу к существующему файлу. Каждая строка в матрице становится новой строкой в файле данных. Должна использоваться в определениях следующего вида: APPENDPRN(file):=A. Существующий файл должен иметь столько же столбцов, как и матрица A. |
Аргумент функций доступа к файлам данных
- Аргумент файл называется файловой переменной и представляет собой имя файла (без кавычек), с расширением или без.
- Если расширение файла не указано, то для неструктурированных файлов оно по умолчанию считается.dat, для структурированных –.prn. Эти расширения является предпочтительными.
- Можно использовать расширения, отличные от.dat и.prn, но при вводе эти расширения записываются как нижний индекс. Например, вместо A.txt получим Atxt.
- Не рекомендуется использовать расширение более чем из трех символов, иначе система будет искать файл по расширению из первых трех символов.
- Файлы должны находиться только в текущей папке, т. е. в той папке, где находится документ Mathcad. Т. е. полное имя файла с указанием пути к нему в качестве файловой переменной использовать нельзя. При необходимости использовать файлы из других папок следует связать файловую переменную с файлом на диске с помощью окна Главное меню/ Файл /Присоединить к файлу.
Особенности использования функций доступа к файлам данных
|
|
• Если Mathcad не может найти файл данных, он отмечает соответствующую функцию доступа сообщением об ошибке “ файл не найден ”. Если Mathcad пытается прочитать файл неподходящего формата, он отмечает функцию сообщением “ ошибка файла ”.
• Каждое новое равенство с использованием функций доступа заново открывает файл данных. При считывании данных, например, каждое новое равенство начинает читать файл с самого начала.
• В одном равенстве файл может быть открыт только единожды. Это означает, что, если функция READ используется с одним аргументом-именем файла дважды в одном операторе (это возможно при использовании индексированной переменной), во второй раз READ начнет читать с того места, где закончила в первый. Поскольку READPRN читает весь файл целиком, это означает, что READPRN нельзя использовать с одним аргументом дважды в одном равенстве (в цикле) — во второй раз READPRN не останется ничего читать.
• Если два равенства в рабочем документе используют WRITE или WRITEPRN с одним аргументом, данные из второго равенства запишутся поверх данных из первого. Используйте APPEND или APPENDPRN, если нужно сохранить первую порцию данных. Эти функции дописывают новые данные к существующему файлу.
Примеры чтения данных из неструктурированного файла
Пример 1. В массив y из файла in.dat считывается 31 значение:
N:=30
i:=0..N
yi:=READ(in)
Пример 2.
N:=READ(sizefile) из файла sizefile.dat считывается значение N
N=100
i:=1..N из файла data.dat считывается N значений в
xi:=READ(data) массив х