МИНИСТЕРСТВО ОБРАЗОВАHИЯ И НАУКИ УКРАИHЫ
КАФЕДРА КОМПЬЮТЕРНЫХ ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ
КУРСОВАЯ РАБОТА ПО СИСТЕМНОМУ ПРОГРАММИРВАНИЮ
2006 г
ЗАДАНИЕ
1. Индивидуальное задание:
1. Разработать алгоритм расчета и реализовать его программно для решения следующей задачи:
Вычислить определенный интеграл 1) по формуле трапеций с тремя десятичными знаками.
Вычислить определенный интеграл 2) по формуле Симпсона при n=50
1)
2)2. Изучить назначение и возможности компонентов средства разработки Delphi, их свойства, методы и доступные к обработке события, применить компоненты при разработке проекта: GroupBox, SavePictureDialog.
3. Создать DLL-библиотеку с использованием средства разработки Delphi, содержащую функцию, реализующую фрагмент алгоритма вычислений теоретической части индивидуального задания и возвращающую результат вычисления. Осуществить вызов процедуры (функции) из главного модуля приложения, при этом организовать загрузку подпрограмм из библиотеки путем динамической загрузки DLL-библиотеки.
4. Изучить назначение, организовать программно вызов и использование возвращаемых результатов следующими функциями WindowsAPI. Для изучения функций использовать файл справки в стиле WindowsWin32.hlp, находящийся в подкаталоге HELP каталога Delphi (используйте свои знания технического английского либо программы-переводчики типа Stylus), а также источник [2], номера страниц которого указаны после наименования функции:
ClipCursor 355, GetSystemInfo 103
5. Создать справочную подсистему, которая включает в себя:
1) справку в стиле Windows с обязательным включением следующих разделов:
- содержание тем справки;
- информация о предметной области приложения - определенных интегралах и методах их вычисления;
- инструкцию для неподготовленного пользователя по приемам работы с приложением.
При этом справка должна обеспечивать поиск по ключевым словам нужных тем и включать в себя пиктограммы (рисунки), являющиеся активными элементами для перехода к разделам справки;
2) Подсказки по различным элементам пользовательского интерфейса, появляющиеся при наведении на них курсора мыши.
3) Подменю в меню приложения, через команды которой вызываются общие сведения о приложении, инструкцию по работе со справкой, отдельные темы справки, информация о программе.
6. Разработать пользовательский интерфейс, включающий в себя:
1) - главную форму, меню приложения с подменю «Сервис» и командами, осуществляющими запись и открытие файлов, закрытие файлов и приложения и т.п., с подменю «Настройки» и командами, осуществляющими назначение режимов работы приложения, другими подменю;
2) - область отрисовки графического представления результатов работы приложения на главной форме;
3) - командные кнопки для выполнения ряда действий вашего приложения и элементы для ввода требуемой для этих действий информации (ввод данных должен производиться с проверкой их на соответствие ограничениям и выдачей соответствующих сообщений пользователю);
4) - диалоговое окно для назначения режимов работы вашего приложения при помощи переключателей;
5) - окна сообщений для информирования пользователя, подтверждения выполняемых действий, предупреждения об ошибках и их обработки.
7. Обработку ошибок ввода данных и открытия файлов (каталогов) провести при помощи:
защищенного блока try-finally-end и соответствующих фильтров обработки исключительных ситуаций.
8. Организовать при помощи соответствующих компонентов, объектов, их методов и свойств, для интеграла, чье значение вычислено по методу №1 значения нижней границы при фиксированных значениях верхней границы определенного интеграла; и обеспечить возможность сохранения изображения графика в файл.
2. Объем и содержание курсовой работы:
1. Использование современных средств визуального программирования под WINDOWS (Visual Basic, Delphi) для реализации разработанных алгоритмов.
2. Реализация концепции смешанного программирования в соответствии с индивидуальным заданием (использование библиотек DLL, функций WINDOWS API, объектных модулей на языке программирования Ассемблер и т.д.).
3. Реализация пользовательского интерфейса с обеспечением:
- эргономических требований;
- контекстно-зависимой помощи по управляющим элементам и отдельным формам приложения, включающей в себя подсказки, панель для отображения длинной части подсказки;
- структурированной по темам справки в стиле WINDOWS, содержащей руководство пользователю, с возможностью контекстного вызова соответствующих ее разделов;
- проверки вводимых пользователем данных на требуемые ограничения с указанием, каким должен быть правильный ввод;
- запросов на подтверждение выполнения действий, угрожающих целостности данных;
- возможности отказа от выполняемой обработки и отката выполненных операций на любом этапе.
4. Визуализация результатов обработки данных при помощи функций WINDOWS API с использованием контекстов устройств, режимов отображения, областей вывода и т.д., либо при помощи компонентов средств визуального программирования, в которых инкапсулированы вызовы соответствующих функций.
5. Вывод в файлы результатов обработки данных.
6. Обработка возможных ошибок (отсутствие файлов и каталогов, некорректные математические операции и т.д.) при помощи механизма обработки исключительных ситуаций в виде защищенных блоков программ, фильтров исключений и соответствующих объектов.
7. Соблюдение при программировании соглашений по наименованию переменных, констант и элементов управления (венгерской нотации), а также подробное документирование программных элементов путем использования комментариев.
8. Создание отлаженного под различные операционные системы и системное окружение приложения, что подразумевает возможность запуска и надежного функционирования приложения под управлением Windows 95 или WindowsNT, при отсутствии специфических библиотек средств разработки, вне зависимости от структуры дерева каталогов и т.д.
3. Пояснительная записка к курсовой работе должна содержать:
1) - задание на проектирование;
2) - аннотацию курсовой работы;
3) - содержание;
4) - введение, в котором кратко излагается современное состояние операционных систем и средств разработки, а также обосновывается выбор того или иного средства разработки для реализации данной курсовой работы; - 2 с.
5) - описание предметной области проектирования, в котором кратко раскрывается содержание индивидуального задания, используемого для разработки алгоритмического обеспечения программной системы; - 2 с.
6) - описание процесса разработки программного комплекса (ПК), включающее в себя укрупненную структурно-функциональную схему ПК, описание содержания и функций модулей ПК с указанием используемых при этом форм и открываемых (создаваемых) файлов; - 3-4 с.
7) - эскиз элементов пользовательского интерфейса - меню, форм с перечнем управляющих элементов и указанием их назначения, области вывода графической информации с указанием содержания последней, структуры и краткого содержания справочной подсистемы (распечатка файла справки, используемого для компиляции справки в стиле WINDOWS, должна войти в приложения под названием «Руководство пользователю») ; - 4-5 с.
8) - методику использования в Вашей работе смешанного программирования: описания функций (процедур) DLL-библиотеки и способа ее построения и компиляции (листинг библиотеки должен войти в приложения), выданных в качестве индивидуального задания и использованных при программировании функций WINDOWS API (описание назначения функций и параметров их вызова); - 2 с.
9) - методику визуализации в Вашей работе результатов обработки данных (перечислить и дать краткое описание использованных компонентов, их свойств, методов и обработчиков событий); - 1-2 с.
10) - методику вывода в файлы результатов обработки данных (дать краткое описание технологии, объектов, свойств и методов, привести соответствующий фрагмент программы); - 1-2 с.
11) - требования к аппаратным и программным платформам, на которых может функционировать разработанное приложение; - 1 с.
12) - результаты самостоятельной работы, задания для которой выдаются индивидуально (описание функций WindowsAPI и фрагменты листингов программы с их применением в вашем проекте; описание свойств и методов компонентов Delphi и фрагменты листингов программы с их применением в вашем проекте) – 3-4 с.;
13) - приложения, включающие: фрагменты документированных листингов, отражающих, по вашему мнению, ключевые моменты разработанных программных средств; руководство пользователю, в котором содержаться указания по правильной работе с разработанным программным средством и содержание справки в стиле Windows. - не более 5 с.
АННОТАЦИЯ
В работе рассмотрена программа вычисления значения и вывода графика определенного интеграла.
Работа содержит __ страницы машинописного текста, __ рисунков, __ таблицы, __ приложения.
Система Win32, ассемблер, Си, компилятор.
СОДЕРЖАНИЕ
ЗАДАНИЕ
АННОТАЦИЯ
ВВЕДЕНИЕ
1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРОГРАММЫ
1.1 Численные методы вычисления определенных интегралов
1.1.1 Вычисление определенных интегралов методом трапеций
1.1.2 Вычисление определенных интегралов методом Симпсона
1.2 Описание среды программирования
2. СТРУКТУРА ПРОГРАММЫ
2.1 Описание процесса разработки
2.2 Функциональная схема программного комплекса
2.3 Реализация подынтегральных функций
2.4 Реализация функции разбора произвольно заданных математических функций
2.5 Реализация численных методов вычисления интегралов
2.5 Реализация функций построения и сохранения графиков