При чтении файла электронной таблицы считанная информация первой текстовой строки файла проверяется на совпадение с 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 определяют сохраняемые или сохраненные в файле координаты каждой непустой клетки. Фрагмент кода программы сохранения информации непустой клетки таблицы приведен ниже:
if Cells [Col, Row].CellPtr <> nil then
begin
CPtr:= Cells [Col, Row].CellPtr;
case CPtr^.Attrib of
TXT: Size:= Length (CPtr^.TextStr) + 3;
VALUE: Size:= Sizeof (Real) + 2;
FORMULA: Size: = Length (CPtr^.Formula) + Sizeof (Real) + 3;
end; {case}
BlockWrite (F, Col, SizeOf (Col), Blocks);
BlockWrite (F, Row, SizeOf (Row), Blocks);
BlockWrite (F, Cells [Col, Row].CellFormat,
Sizeof (Word), Blocks);
BlockWrite (F, Size, SizeOf (Size), Blocks);
BlockWrite (F, CPtr^, Size, Blocks);
end;
ВЫВОДЫ
• Под структурой данных программы понимают множество элементов данных, связей между ними, а также характер их организованности. Структуры данных и алгоритмы служат основой построения программ.
• Структура данных может быть физической и логической. В общем случае между логической и соответствующей ей физической структурами есть различие, вследствие которого существуют правила отображения логической структуры на физическую структуру.
• Над всеми структурами данных могут выполняться пять операций: создание, уничтожение, выбор (доступ), обновление, копирование.
• Важный признак структуры данных — характер упорядоченности ее элементов. Существует бесконечное множество способов упорядочения информации, среди которых имеются и общие, наиболее часто встречаемые и известные большинству программистов.
• Физическое представление может не соответствовать логическому представлению и, кроме того, существенно различаться в разных программных системах.
• Многие из рассмотренных структур данных возможно реализовать с использованием статических структур данных, динамических переменных и динамических структур данных.
• Файл — упорядоченный набор информации на внешнем носителе (наиболее часто на дисковом носителе).
Контрольные вопросы
1. Что такое структура данных программы?
2. Что понимают под организованностью данных?
3. В какой форме могут представляться данные?
4. Что отражает физическая структура данных?
5. В чем различие между физической и логической структурами данных?
6. Какие операции могут выполняться под структурами данных?
7. Приведите примеры широко известных структур данных.
8. Чем характеризуется статический массив?
9. Что такое строка? Какие бывают виды строк?
10. Назовите простейший метод поиска элемента.
11. Назовите основные операции над стеком.
12. Назовите процедуры для работы с симметричной матрицей.
13. Приведите пример реализации на языке Turbo Pascal структуры данных электронной таблицы.
14. Какие средства содержит файловая система?
15. Какую информацию содержит дескриптор файла или блок управления файлом?
16. С чего, как правило, начинается описание файлов?
17. Какими способами обычно выполняют документирование сложных нетипизированных файлов?
18. Что такое рефакторинг?
19. В каких случаях может потребоваться рефакторинг имен?
Глава 5
ПРОЕКТНАЯ ПРОЦЕДУРА РАЗРАБОТКИ ФУНКЦИОНАЛЬНЫХ ОПИСАНИЙ
5.1. ОБЩИЕ СВЕДЕНИЯ О ПРОЕКТНОЙ ПРОЦЕДУРЕ
Развитие отдельных направлений программирования, филологии, психологии, теории проектирования и искусственного интеллекта подошло к точке, когда ощущается настоятельная необходимость интеграции накопленных результатов. Попытка такой интеграции воплотилась в излагаемой далее проектной процедуре (методике), которая может быть применена для составления функциональных описаний (структурированных описаний процессов). Инструкция пользования каким-либо устройством, инструкция вообще или алгоритм программы являются описаниями функционирования. Описания функционирования могут быть как структурированными в соответствии с излагаемым подходом к структурированию, так и неструктурированными. Таким образом, в данной главе рассматривается именно проектная процедура (методика) разработки функциональных описаний функционирования систем, отличающаяся использованием особого структурирования.
Читать дальше