
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
![]() |
![]() |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Цель работы: изучение приемов и средств, обеспечивающих хранение данных на дисках и их обработку
Объем работы: 2 часа
Теоретическая часть
Различают файлы трех типов: текстовые, типизированные и нетипизированные.
Текстовый файл – это файл, компонентами которого являются символьные строки переменной длины, заканчивающиеся специальным маркером конца строки (рис. 1).
Рис. 1. Структура текстового файла
Типизированный файл – это файл, все компоненты которого одного типа, заданного при объявлении файловой переменной (рис. 2). Компоненты файла хранятся на диске во внутреннем (двоичном) формате и нумеруются с 0. Если посмотреть такой файл любым текстовым редактором, то можно распознать только символьную информацию, на месте же чисел в файле будут располагаться пробелы или символы псевдографики.
Рис. 2. Типизированный файл
Текстовые файлы используют для хранения и обработки текстовой информации: символов, строк, символьных массивов. Логические и числовые данные при записи в текстовые файлы должны преобразовываться в символьные строки. При выполнении операций ввода-вывода с текстовыми файлами используют процедуры:
Процедура Read[Ln]([Var f:text;]v1,v2,...vn) – обеспечивает ввод из файла символов, строк и чисел. Список ввода представляет собой последовательность из одной или более переменных типа CHAR, STRING, а также любого целого и вещественного типа. при отсутствии файловой переменной ввод осуществляется из стандартного файла INPUT. Процедура ReadLn – также обеспечивает ввод символов, строк и чисел, но после чтения последней переменной оставшаяся часть строки до маркера конца строки пропускается, так что следующее обращение к ReadLn или Read начнется с первого символа новой строки. Процедура может быть вызвана без указания списка ввода, что приведет к пропуску всех символов текущей строки до маркера конца строки.
Процедура Write[Ln]([Var f;]v1,v2,...,vn) – обеспечивает вывод данных в текстовый файл или передачу их на логическое устройство. Список вывода – последовательность из одного или более выражений типа CHAR, STRING, BOOLEAN, а также целого или вещественного типов. При выводе числовых значений последние преобразуются в символьное представление. Процедура WriteLn при вызове обеспечивает запись маркера «конец строки».
Пример 1. Разработать программу, которая формирует текстовый файл из 26 строк, содержащих случайное количество соответствующих прописных букв латинского алфавита, например:
ААААА
BBBBB
C
DDDDDDDDDDDDDDDDDDDDD
EEEEEEEEEEEEEE и т.д.
Program form_text_file;
{$APPTYPE CONSOLE}
Uses SysUtils;
Var f:text; {файловая переменная для текстового файла}
a:char; n,i:integer; fname,st:string[30];
Begin
WriteLn('Введите имя файла');
ReadLn(fname);
AssignFile(f,fname); {инициализируем файловую
переменную}
ReWrite(f); {открываем файл для записи}
Randomize; {инициализируем датчик случайных чисел}
for a:='A' to 'Z' do {формируем строки}
Begin
st:='';
n:=random(30)+1;
for i:=1 to n do st:=st+a;
WriteLn(f,st); {записываем строку в текстовый
файл}
WriteLn(st); {а также – выводим ее на экран}
end;
CloseFile(f); {закрываем файл}
End.
Для работы с типизированными файлами используют специальные процедуры и функции:
1. Процедура Read(Var f;c1,c2,...,cn) – осуществляет чтение очередных компонентов типизированного файла. Список переменных ввода содержит одну или несколько переменных того же типа, что и компоненты файла, разделенных запятыми. Если файл исчерпан, обращение к процедуре вызывает ошибку ввода-вывода.
2. Процедура Write(Var f;c1,c2,...,cn) – осуществляет запись данных в типизированный файл. Список вывода содержит одно или более выражений того же типа, что и компоненты файла, разделенных запятыми.
Пример 2. Разработать программу, которая создает типизированный файл, содержащий список фамилий и даты рождения. Осуществить поиск в этом файле даты рождения по заданной фамилии.
Program ex;
{$APPTYPE CONSOLE}
Uses SysUtils;
Type fam=record {тип запись «сведения о сотрудниках»}
ff:string[20]; {фамилия}
year:word; {год рождения}
month:1..12; {месяц рождения}
day:1..31 {день рождения}
end;
Var f:file of fam; {файловая переменная «файл
сотрудников»}
fb:fam;
n,i:integer;
fff:string;
key:boolean;
Begin
AssignFile(f,'a.dat'); {связываем файловую
переменную с файлом}
ReWrite(f); {открываем файл для записи}
WriteLn('Enter data or CTRL-Z');
while not EOF do {цикл, пока не введено CTRL-Z}
Begin
ReadLn(fb.ff,fb.year,fb.month, fb.day);
{вводим данные по полям, фамилию вводим в
отдельной строке, так как ввод строки завершается
нажатием клавиши Enter}
Write(f,fb); {заносим запись в файл как один
компонент}
end;
CloseFile(f); {закрываем файл}
WriteLn('Enter family');
Readln(fff);
key:=false; {устанавливаем признак «запись не
найдена»}
ReSet(f); {открываем файл для чтения}
while (not EOF(f)) and (not key) do {пока не
обнаружен конец файла и не найдена запись}
Begin
Read(f,fb); {читаем запись из файла}
if fb.ff=fff then {если фамилии совпадают, то}
begin {выводим данные}
|
|
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
© cyberpedia.su 2017-2025 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!