Технологии программирования
Шрифт:
Локальные описания:
Файл хранения электронной таблицы является файлом постоянного хранения, бинарным произвольной длины; имеет имя, определенное пользователем, но с расширением имени "MSS".
Организация заголовочной части файла электронной таблицы представлена в табл. 4.1.
Таблица 4.1
Заголовочная часть файла электронной таблицы
Оперативная информация | Длина оперативной информации, байт | Комментарий |
FILEIDENT | Length (FILEIDENT) | Константа строки идентификации |
EndofFile | SizeOf (EndOfFile) | Признак конца текстового файла |
LastCol | SizeOf (LastCol) | Последняя заполненная колонка таблицы |
LastRow | Sizeof (LastRow) | Последняя заполненная строка таблицы |
Count | Sizeof (Count) | Число заполненных клеток таблицы на участке таблицы (1, 1, LastCol, LastRow) |
ColWidth | Sizeof (ColWidth[1] * MAXCOLS) | Вектор ширин колонок таблицы от 1 до MAXCOLS |
Запись в файл EndOfFile со значением 2610 = 1A16 (Ctrl + Z) обеспечивает вывод на экран только строки идентификации при просмотре файла с помощью большинства программ просмотра текстовых файлов.
При чтении файла электронной таблицы считанная информация первой текстовой строки файла проверяется на совпадение с FILEIDENT.
Информация о заполнении таблицы характеризует участок таблицы (1, 1, LastCol, LastRow), в пределах которого пользователь внес изменения информации таблицы.
Значение Count при записи рассчитывается с использованием двух вложенных циклов, задающих номера всех клеток на участке таблицы (1, 1, LastCol, LastRow). В циклах значение Count увеличивается на единицу, если значение указателя на информацию клетки ≠ Nil.
В таблице 4.2 приведена организация информации очередной непустой клетки файла электронной таблицы.
Таблица 4.2
Информация очередной непустой клетки файла электронной таблицы
Оперативная информация | Длина оперативной информации, байт | Комментарий |
Col | SizeOf (Col) | Номер
|
Row | SizeOf (Row) | Номер строки клетки |
Cells [Col, Row].CellFormat | Sizeof (Word) | Формат клетки |
Size | Sizeof (Size) | Длина информации клетки |
Фактическая информация клетки | Size | Информация клетки |
Значение Col, Row определяют сохраняемые или сохраненные в файле координаты каждой непустой клетки. Фрагмент кода программы сохранения информации непустой клетки таблицы приведен ниже:
ВЫВОДЫ
• Под структурой данных программы понимают множество элементов данных, связей между ними, а также характер их организованности. Структуры данных и алгоритмы служат основой построения программ.
• Структура данных может быть физической и логической. В общем случае между логической и соответствующей ей физической структурами есть различие, вследствие которого существуют правила отображения логической структуры на физическую структуру.
• Над всеми структурами данных могут выполняться пять операций: создание, уничтожение, выбор (доступ), обновление, копирование.
• Важный признак структуры данных — характер упорядоченности ее элементов. Существует бесконечное множество способов упорядочения информации, среди которых имеются и общие, наиболее часто встречаемые и известные большинству программистов.
• Физическое представление может не соответствовать логическому представлению и, кроме того, существенно различаться в разных программных системах.
• Многие из рассмотренных структур данных возможно реализовать с использованием статических структур данных, динамических переменных и динамических структур данных.
• Файл — упорядоченный набор информации на внешнем носителе (наиболее часто на дисковом носителе).
Контрольные вопросы
1. Что такое структура данных программы?
2. Что понимают под организованностью данных?
3. В какой форме могут представляться данные?
4. Что отражает физическая структура данных?
5. В чем различие между физической и логической структурами данных?
6. Какие операции могут выполняться под структурами данных?
7. Приведите примеры широко известных структур данных.
8. Чем характеризуется статический массив?
9. Что такое строка? Какие бывают виды строк?
10. Назовите простейший метод поиска элемента.