Программирование >>  Структурное программирование 

1 ... 244 245 246 [ 247 ] 248 249 250 ... 342


Резюме Терминология Типичные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Упражнения для самопроверки Ответы на упражнения для самопроверки Упражнения

14.1. Введение

Хранение данных в переменных и массивах является временным. Файлы предназначены для постоянного хранения больших объемов данных. Компьютеры сохраняют файлы на вспомогательных запоминающих устройствах, таких, как магнитные диски, оптические диски и магнитные ленты. В этой главе объясняется, каким образом создаются и обновляются файлы данных и как они обрабатываются программами на С-Ы-. Также проводится сравнение обработки файлов с форматированными данными и с необработанными ( сырыми ) данными. Детально изучаются методы ввода данных в символьные массивы и вывода данных из символьных массивов.

План

14.1. Введение

14.2. Иерархия данных

14.3. Файлы и потоки

14.4. Файлы последовательного доступа

14.5. Чтение данных из файла последовательного доступа

14.6. Обновление файлов последовательного доступа

14.7. Файлы произвольного доступа

14.8. Создание файла произвольного доступа

14.9. Произвольная запись данных в файл произвольного доступа

14.10. Последовательное считывание данных из файла произвольного доступа

14.11. Пример: программа по обработке запросов

14.12. Обработка потока строк

14.13. Ввод-вывод объектов



14.2. Иерархия данных

в конечном счете, все элементы данных, обрабатываемые компьютером, сводятся к комбинациям нулей и единиц. Так делается потому, что это является наиболее простым и экономичным при создании электронных устройств, которые могут принимать два устойчивых состояния: одно состояние представляется О, а другое - 1. Просто удивительно, что сложнейшие функции, выполняемые компьютерами, являются, по большей части, операциями с нулями и единицами.

Наименьшему элементу данных в компьютере можно присвоить значение либо О, либо 1.

Такой элемент данных называется битом ( Ыпагу digit - бинарный разряд, который может принимать одно из двух значений). Компьютер выполняет простые битовые операции, такие, как проверка значения бита, присвоение биту значения и инверсия бита (из 1 в О или из О в 1).

Программистам неудобно работать с данными, представленными на низком уровне - битами. Они предпочитают работать с данными, представленными десятичными цифрами (т.е. О, 1, 2, 3, 4, 5, 6, 7, 8 и 9), буквами (т.е. прописными буквами А - Z и строчными а - z) и специальными символами (т.е. $, @, %, &, *, (, ), -, +, , :, ?, / и многими другими). Цифры, буквы и специальные символы называются символами. Множество всех символов, используемых для написания программ и представления элементов данных на конкретном компьютере, называется набором символов компьютера. Поскольку компьютеры могут обрабатывать только единицы и нули, то каждый символ в алфавите компьютера представляется в виде комбинации единиц и нулей, которая называется байтом. Байты обычно состоят из восьми битов. Программисты создают программы и элементы данных с помош;ью символов, а компьютеры манипулируют и обрабатывают символы как комбинацию битов.

Как символы состоят из битов, так и поля состоят из символов (или байтов). Поле - это группа символов, имеюш;ая некоторый смысл. Например, поле, состояш;ее только из прописных и строчных букв, может использоваться для представления имени человека.

Элементы данных, обрабатываемые компьютерами, образуют иерархию данных, в которой элементы данных укрупняются и становятся все более сложными по структуре, поскольку процесс обработки переходит от битов к символам (байтам), полям и т.д.

Запись (т.е. struct или class в С-Н-) образуется из нескольких полей, (называемых в С-Н- элементами или членами). В платежной ведомости, например, запись для отдельного служащего может состоять из следующих полей:

1. Идентификационный номер служащего

2. Имя

3. Адрес

4. Почасовой оклад

5. Число заявленных льгот

6. Годовой доход

7. Объем удерживаемых федеральных налогов и т.д.



Таким образом, запись - это группа связных полей. В предыдущем примере каждое из этих полей относится к одному и тому же служащему. Конечно, компания, у которой большое число служащих, должна иметь платежную ведомость на каждого из них. Файл - это группа связных записей. Файл платежных ведомостей компании обычно содержит по одной записи для каждого служащего. Следовательно, файл платежных ведомостей мелкой компании может иметь, например, 22 записи, в то время как для крупной компании он может содержать 100000 записей. Весьма распространенным явлением для компании является наличие многих файлов, каждый из которых содержит миллионы символов информации. На рис. 14.1 поясняется иерархия данных.

Для облегчения поиска в файле заданных записей по крайней мере одно их полей в каждой записи выбирается в качестве ключа записи. Ключ идентифицирует, что запись относится к конкретному человеку или сущности, то есть что она является уникальной среди других записей в файле. В платежной записи, описанной выше, идентификационный номер служащего обычно выбирается в качестве ключа записи.

Существует множество способов организации записей в файле. Наиболее распространенный тип организации записей в файле называется последовательным файлом, в котором записи обычно хранятся в последовательности, соответствующей ключевому полю. В файле платежных ведомостей записи обычно размещаются в последовательности, соответствующей идентификационному номеру служащего. Первая запись служащего в файле содержит наименьший идентификационный номер служащего, а последующих записей хранятся в порядке возрастания идентификационных номеров служащих.

Sally

Black

Blue

Judy

Green

Iris

Orange

Randy

Файл

Judy

Green

Поле

Запись

01001010 Байт (код символа J в ASCII)

1 Бит



1 ... 244 245 246 [ 247 ] 248 249 250 ... 342

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика