Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Интересное:
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Файловые типы
Рассмотрим только работу с текстовыми файлами. Файловые переменные для текстовых файлов описываются с помощью типа Text.
Пример
VAR
F:Text;
Файловые переменные являются структурированными и содержат различную информацию, необходимую для работы с файлом на диске, с которым они связаны. Это имя файла, его размер, текущая позиция в файле и т.д. Если вы пишите процедуры или функции для работы с файлами, передавать в них файловые переменные можно только с модификатором VAR.
Процедуры и функции для работы с текстовыми файлами
| Процедура или функция | Описание |
| Процедура Assign (F,<Имя>) | Назначает имя файла файловой переменной F |
| Процедура Reset (F) | Открывает файл для чтения. Если файла с назначенным именем нет, возникает ошибка ввода-вывода |
| Процедура Rewrite (F) | Создает файл и открывает его для записи. Если файл уже есть, он перезаписывается |
| Процедура Close (F) | Закрывает файл, открытый ранее процедурами Reset или Rewrite |
| Процедура Read [ Ln ](F,<Список переменных>) | Читает из файла значения указанных переменных. ReadLn после чтения значений пропускает все оставшиеся данные до конца текущей строки и переходит на следующую |
| Процедура Write [ Ln ](F,<Список значений>) | Работает, как и обычный оператор вывода, но данные записываются в текстовый файл, задаваемый переменной F |
| Функция Eof (F) | Возвращает истину, если достигнут конец файла при чтении |
Для примера рассмотрим следующую задачу: на входе дан текстовый файл, в котором в каждой строке записано по 3 вещественных числа. Необходимо считать информацию из файла и создать новый файл, в каждую строку которого записать сумму чисел в соответствующей строке входного файла, как показано на следующем рисунке.
| Входной файл (Test. txt) | → | Двумерный массив (A) | → | Выходной файл (Out. txt) | |
| 1.2 5 7.3 3.3 9 4 8 6 1.1 ... | 13.5 16.3 15.1 ... | ||||
| 1.2 | 7.3 | ||||
| 3.3 | |||||
| 1.1 | |||||
| … | … |
Текст программы
VAR
F:Text;
n,i:Integer;
A:ARRAY [1..100,1..3] OF Real;
BEGIN
Assign(F,'Test.txt');
Reset(F);
n:=0;
WHILE NOT Eof(F) DO
BEGIN
Inc(n);
Readln(F,A[n][1],A[n][2],A[n][3]);
END;
Close(F);
Assign(F,'Out.txt');
Rewrite(F);
FOR i:=1 to n DO
Writeln(F,A[n][1]+A[n][2]+A[n][3]);
Close(F);
END.
Стандартные текстовые файлы
В языке Паскаль имеется два стандартных текстовых файла: Input и Output.
Input – это файл для ввода, чтение из которого равносильно вводу данных с клавиатуры. Например, если в программе используется оператор ввода Readln (a, b), то он выполняется аналогично оператору Readln (Input, a, b).
Файл Output – стандартный текстовый файл для вывода, запись в который приводит к выводу данных на экран. Аналогично предыдущему оператор вывода Writeln (a, b) будет выполняться как Writeln (Output, a, b).
Файлы Input и Output можно использовать только в консольных приложениях.
Возвращаясь к предыдущему примеру (в котором каждая запись представляла три вещественных числа), заметим, что не всегда данные имеют такую однородную структуру. Часто каждая запись представляет собой разнотипные данные о некотором объекте. К примеру, можно представить себе список студентов института. Для каждого студента необходимо задать такие данные, как фамилия, имя, отчество, факультет, на котором он обучается, номер группы и т.д., как показано в следующей таблице.
| Фамилия | Имя | Отчество | Факультет | Группа | … |
| Иванов | Петр | Николаевич | ММ | … | |
| Петров | Иван | Алексеевич | ЭТ | … | |
| … | … | … | … | … | … |
Каждый атрибут имеет свой тип. Как же можно описать такой список студентов в программе? Это можно сделать, например, с помощью нескольких массивов:
Пример
VAR
FIO:ARRAY [1..100,1..3] OF STRING;
Fakultet:ARRAY [1..100] OF (MM,RT,MT, …);
Group:ARRAY [1..100] OF Integer;
Такой способ во многих случаях является достаточно неудобным по целому ряду причин. Однако язык Паскаль позволяет описывать такие структуры по-другому.
Тип запись
Синтаксис
RECORD
<Список имен 1>:<Тип 1>;
<Список имен 2>:<Тип 2>;
∙ ∙ ∙
<Список имен N>:<Тип N>;
END
При описании переменной типа «запись» в памяти создается последовательность переменных различного типа (сравните с типом массив, который описывает последовательность переменных одного типа).
Пример
TYPE
Date=RECORD
Day:1..31;
Month:(Jan,Feb,Mar,…,Nov,Dec);
Year:Integer;
END;
Student=RECORD { К примеру со списком студентов}
Fam,Name,Pat:STRING;
Fakultet:(MM,RT,MT,FT, …);
Group:Integer;
END;
VAR
D:Date;
S:ARRAY [1..100] OF Student;
|
|
|
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!