Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Топ:
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Типизированные переменные нужны, если файл состоит из последовательности компонент одного и того же типа и длины. Их число и размер файла не ограничивается при его задании. Каждый элемент файла имеет номер. Первый элемент считается нулевым.
Длина любого компонента типизированного файла строго постоянна. Это дает возможность организовать прямой доступ к каждому из них по порядковому номеру.
Перед первым обращением к процедурам ввода-вывода указатель файла стоит в его начале и указывает на первый компонент с номером 0. После каждого чтения или записи указатель автоматически сдвигается к следующему элементу файла. Переменные в списках ввода-вывода должны иметь тот же тип, что и компоненты файла. Если этих переменных в списке несколько, указатель будет смещаться после каждой операции обмена данными между переменными и дисковым файлом. Т.к. все элементы файла имеют одинаковую длину, позиции каждого элемента легко вычисляются, таким образом, здесь имеет место говорить о прямом доступе к элементам файла.
В отличие от текстового файла типизированный файл не делится на строки. Данные в нем записаны во внутреннем двоичном представлении ПК. Вообще все файлы, кроме текстовых, рассматриваются, как двоичные.
Для описания типизированных файловых переменных применяются зарезервированные слова file of, например:
F1: File of string [50];
F2: File of integer;
F3: File of real;
1. Перед использованием типизированной файловой переменной, ее необходимо связать с дисковым файлом с помощью процедуры ASSIGN. При вызове процедуры ASSIGN в качестве параметров указывается название переменной и полное имя файла. Например:
Assign(F1,'d:\home\stud17\miras\name.pas’);
2. Процедура Reset – открывает файл уже существующий на диске. Текущая позиция устанавливается в начало файла.
Описание: Reset (F);
3. Процедура Rewrite – создает и открывает файл. Если файл уже существует, то он уничтожается и создается заново.
Описание : Rewrite (F);
4. Процедура Read – прочитать значения указанных переменных из файла.
Описание : Read (F, X1[,X2[,X3[..XN]]]);
F – типизированная файловая переменная
X1..XN – переменные того же типа, что и компоненты файла.
5. Процедура Write – записать значения указанных переменных в файл.
Описание : Write (F, X1[,X2[,X3[..XN]]]);
F – типизированная файловая переменная
X1..XN – переменные того же типа, что и компоненты файла.
Следует помнить, что для чтения и записи типизированного файла применяются только операторы Read и Write.
6. Функция FilePos – возвращает порядковый номер текущего компонента файла. Файл должен быть открыт. Если текущей позицией является начало файла, то функция возвращает значение 0. При переходе от элемента к элементу его значение увеличивается на 1. Эту функцию нельзя использовать в текстовых файлах.
Описание : FilePos(F): LongInt; (-2 147 483 648 – 2 147 483 647).
7. Функция FileSize - возвращает количество компонентов файла. Если файл пуст, то возвращается значение 0.
Описание : FileSize(F): LongInt;
8. Процедура Seek – позиционирует указатель файла на заданный компонент файла.
Описание : Seek (F, L: LongInt);
F – файловая переменная, L – номер компонента, на который будет позиционирован указатель.
9. Процедура Truncate(F) усекает размер файла до его текущей позиции. Файл должен быть открыт. Все элементы после текущей позиции удаляются, после чего текущая позиция становится концом файла. Функция не используется для текстовых файлов.
Описание : Truncate(F);
Пример:
Программа, которая формирует типизированный файл из целых чисел, вводимых с клавиатуры. Их количество заранее неизвестно. Признаком конца является число 0. Программа находит: сумму и произведение чисел из файла, разность между вторым и предпоследним числами, а также наибольшее из чисел.
type
filtyp = file of integer;
var
f: filtyp;
sum, mult, r, k1, k2, max: integer;
begin
writeln('введите элементы файла по одному в строке, в конце - 0');
assign(f,'data.dat');
rewrite(f);
// записываем в файл числа, вводимые с клавиатуры до 0
repeat
readln(r);
if r <> 0 then write (f,r);
until r = 0;
// позиционируем указатель на 0-ой элемент, т.е на начало файла
seek(f,0);
sum:= 0;
mult:= 1;
// считываем из файла 1-ый элемент, указатель сдвигается вправо на
одну позицию
read(f,r);
// заносим его значение в max для нахождения наибольшего значения
max:= r;
// сдвигаем указатель влево на 1 позицию
seek(f,filepos(f)-1);
// считываем элементы, суммируем, перемножаем и отыскиваем max
while not eof(f) do
begin
read(f,r);
sum:= sum+r;
mult:= mult*r;
if max < r then max:= r;
end;
// позиционируем указатель на 2-ой элемент, запоминаем его значение,
затем позиционируем указатель на предпоследний элемент и
запоминаем его
seek(f,1);
read(f,k1);
seek(f,filesize(f)-2);
read(f,k2);
close(f);
writeln('Сумма = ',sum,#10#13'Произведение = ',mult);
writeln('Разность = ',k2-k1,#10#13'Максимум = ',max);
readln;
end.
|
|
|
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!