Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2017-09-30 | 535 |
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-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!