- •Содержание
- •1 Списковые структуры и динамическая память 10
- •2 Списковые структуры и файлы 79
- •3 Мультисписковые структуры 121
- •4 Указатели на функции 134
- •5 Совместное использование указателей на данные и указателей на функции 141
- •6 Оформление курсового проекта 157
- •1.1Представления однонаправленных списков массивами указателей на элементы списка
- •1.1.1Представление однонаправленных списков массивами указателей
- •Введение
- •1Списковые структуры и динамическая память
- •1.1.2Статические массивы указателей
- •1.1.3Операции со списками в статических массивах указателей
- •1.1.4Статические массивы указателей в динамической памяти
- •1.1.5Операции со списками в статических массивах указателей в динамической памяти
- •1.1.6Динамические массивы указателей
- •1.1.7Динамические массивы типизированных указателей
- •1.1.8Операции со списками в динамических массивах типизированных указателей
- •1.1.9Динамические массивы нетипизированных указателей
- •1.1.10Операции со списками в динамических массивах нетипизированных указателей
- •1.1.11Продолжение. Динамические массивы нетипизированных указателей
- •1.1.12Замечания по оператору &
- •1.1.13Нетипизированые указатели и массивы
- •1.1.14Нетипизированые указатели и память
- •1.1.15Продолжение. Динамические массивы нетипизированных указателей
- •2Списковые структуры и файлы
- •2.1Бестиповые файлы и однонаправленные списки на базе массивов указателей на элементы списка
- •2.1.1Представление однонаправленных списков массивами указателей
- •2.1.2Организация файла с однонаправленным списком на базе массивов указателей на элементы списка
- •2.1.3Статические и динамические массивы указателей
- •2.1.4Организация списка дыр
- •2.1.5Функция инициализации файла со списком
- •2.1.6Функция открытия файла со списком
- •2.1.7Функции корректировки указателя на начало списка, заголовка списка дыр, количества элементов списка и текщего размера массива указателей
- •2.1.8Функция выделения записи для нового элемента списка
- •2.1.9Функция освобождения записи удаляемого элемента списка
- •2.1.10 Функция увеличения размера массива указателей на элементы списка
- •2.1.11 Функция вывода содержимого списка
- •2.1.12 Функция поиска элемента списка
- •2.1.13Функция добавления элемента в неотсортированный список
- •2.1.14Функция добавления элемента в отсортированный список
- •2.1.15Функция удаления элемента из отсортированного списка
- •2.1.16Функция удаления списка
- •2.1.17 Функция удаления списка с усечением файла
- •2.1.18 Пример программы обработки отсортированного списка на базе массивов указателей
- •2.1.19Продолжение. Представление однонаправленных списков массивами указателей
- •2.1.20Функция инициализации файла со списком
- •2.1.21Процедура открытия файла со списком
- •2.1.22Процедура корректировки заголовка списка
- •2.1.23 Процедура увеличения размера массива указателей на элементы списка
- •2.1.24Функция поиска элемента списка или позиции вставки нового элемента методом половинного деления
- •2.1.25Функция вывода списка на экран
- •2.1.26Функция добавления нового элемента в отсортированный список
- •2.1.27Функция удаления элемента из отсортированного списка
- •2.1.28Функция удаления списка с усечением файла
- •3Мультисписковые структуры
- •3.1Назначение мультисписков
- •3.2Мультисписки в динамической памяти
- •3.3Мультисписки в бинарных файлах
- •3.4Сохранение и восстановление мультисписка в динамической памяти
- •4Указатели на функции
- •4.1Понятие указателя на функцию и его объявление
- •4.2Переменная-указатель на функцию как параметр другой функции
- •4.3Условия использования указателей на функции
- •4.4Использование указателей на функцию для вызова функций
- •4.4.1Формат переменных-указателей на функцию и бестиповых указателей
- •4.4.2Преобразование переменной-указателя на функцию к бестиповому указателю на функцию
- •4.4.3Вызов функции через бестиповый указатель на функцию
- •4.4.4Преобразование бестипового указателя к переменной типа указатель на функцию
- •4.5Способы вызова функции через указатель на функцию
- •4.5.1Массивы указателей на функции
- •5Совместное использование указателей на данные и указателей на функции
- •5.1Инвариантные функци
- •5.2Функции сравнения
- •5.3Пример 1
- •5.4Пример 2
- •6Оформление курсового проекта
- •6.1Интерфейс программной системы
- •6.2Взаимодействие с мультисписком
- •6.3Отображение содержимого мультисписка
- •6.4Файл справки
- •6.5Документация по курсовому проекту
- •6.5.1Общие положения
- •6.5.2Курсовой проект/работа
- •6.5.3Пояснительная записка
- •6.5.4Техническое задание
- •6.5.5Реферат
- •6.5.6Содержание
- •6.5.7Введение
- •6.5.8 Постановка задачи
- •6.5.9 Анализ решаемой задачи
- •6.5.10Анализ существующих методов организации динамических структур данных
- •6.5.11 Определение путей и методов решения задачи
- •6.5.12Проектирование программы
- •6.5.13Заключение
- •6.5.14Список использованных источников
- •6.6Приложения
6.5.7Введение
Введение должно содержать оценку современного состояния решаемой научно-технической задачи, основание и исходные данные для разработки. Во введении должны быть показаны:
актуальность темы;
место данной задачи среди общего круга проблем изучаемой дисциплины;
пути и методы решения поставленной задачи;
основные результаты решения поставленной задачи.
Ниже приводится прокомментированный пример введения.
Основание и исходные данные для разработки.
Задание на данную курсовую работу требует:
Разработать программу динамического просмотра, редактирования и распечатки информации о структуре системы министерства образования и науки Украины. Система содержит список университетов, каждому университету сопоставлен список его факультетов и т.д. В программе надо реализовать соответствующую форму представления мультисписка (куча, файл) для целей его обработки и хранения.
Оценка современного состояния решаемой задачи.
Во всех современных программах широко используются динамические структуры данных – списки и мультисписки, очереди, стеки, деревья. Из курса программирования известно, что списки являются основой реализации всех перечисленных структур. Например, система Delphi активно использует списки для визуализации информации о сложных структурах данных.
Актуальность задачи, ее место среди общего круга проблем дисциплины “Программно-аппаратные средства персональных компьютеров”
Следовательно, широкое применение списков и, в частности, мультисписков является типовым приемом повышения производительности и наглядности результатов работы программ, а изучение методов их программирования и обработки является актуальным. Полученные при этом знания и умения можно отнести к базовым и они найдут применение при изучении всех будущих дисциплин, связанных с программированием, компьютерной графикой и базами данных.
Основные результаты работы.
Приводится краткая характеристика спроектированной системы:
возможности системы;
предложенные и использованные решения;
использованные инструменты.
Примечание. Вслед за введением приводятся другие пункты основной части работы. Конкретное содержание работы определяется по согласованию с руководителем и приводимое ниже, не обязательно будет точно соответствовать конкретному проекту/работе, но можно рекомендовать следующую последовательность изложения.
6.5.8 Постановка задачи
Здесь приводится полная постановка полученной Вами задачи. Обычно постановка уже проведена руководителем работы и выдана в виде технического задания.
6.5.9 Анализ решаемой задачи
Анализ решаемой задачи должен включать в себя, как минимум, следующее:
Описываются ограничения решаемой задачи ( для каких конкретно условий решается задача и в каких условиях достигнутое решение будет неприменимо; какие функции предполагаемого решения задачи должны быть реализованы обязательно и какие функции определенно не будут реализованы и т.п.)
Приводится первая попытка декомпозиции задачи, т.е. предположения автора о том, какие подзадачи необходимо решить, чтобы стало возможным решение поставленной основной задачи.
Определяются особенности условия задачи, облегчающие решение и особенности, затрудняющие его.
Оценивается полнота и непротиворечивость условия. При необходимости условие самостоятельно доопределяется автором работы.
