- •Часть 1
- •Часть 2
- •Часть 3
- •Часть 2
- •Часть 1
- •Варианты структур данных для хранения объектов
- •Варианты базовых объектов
- •Часть 3
- •Часть 4
- •Часть 1
- •Часть 2
- •Пример варианта
- •Часть 2
- •Часть 3
- •Часть 4
- •Часть 5
- •Часть 6
- •Часть 7
- •Варианты для задания 1.
- •Часть 1.
- •Часть 2.
- •Часть 4.
- •Варианты для задания 2.
- •Часть 1.
- •Часть 2.
- •Варианты для задания 3.
- •Варианты для задания 4.
- •Варианты для задания 5.
- •Часть 1.
- •Варианты для задания 6.
- •Часть 3.
- •Варианты для задания 7.
- •Варианты для задания 8.
Часть 3
Построить графики (разными цветами) функций на отрезке (5 функций). В диалоговом окне должна быть выделена область для построения графиков. Диапазоны по X и Y задаются в соответствующих «полях ввода». Масштабирование и оси координат обязательны. Рисование соответствующей функции должно включаться и отключаться путем отметки соответствующей «галочки» в диалоговом интерфейсе.
Программа должна сопровождаться подробными комментариями к каждому классу и объявленной [студентом] функции (т.е. не нужно комментировать, например функцию InitInstance(), однако все проведенные в ней изменения прокомментировать необходимо).
Особенностью данной лабораторной работы является обязательная необходимость ответа на вопросы по всему тексту программы, включая сгенерированный компилятором код.
Часть 4
Создать программу на основе диалогового окна для проведения тестирования, т.е. программу-тест. На форме окна должны быть созданы поля для вывода вопросов и вариантов ответов, элементы для выбора одного из вариантов, и кнопки для навигации по вопросам, и вывода результата тестирования в виде сообщения о проценте правильных ответов и соответствующей оценке по пятибалльной шкале. Вопросы задаются в тексте программы. При навигации по вопросам система должна запоминать и показывать варианты выбранные пользователем.
Тест должен содержать не менее 25 вопросов по одной тематике.
Часть 5
Доработать программу из части 4 следующим образом. Вопросы с вариантами ответов должны храниться в текстовом файле, считываться при запуске программы.
Часть 6
Доработать программу из части 5 следующим образом. Создать дополнительный программный модуль, зашифровывающий любым способом файл с вопросами, чтобы их нельзя было прочитать через обычный текстовый редактор. Соответственно при запуске программы данные из файла дешифровываются.
Модуль должен быть создан в виде программы с графических интерфейсом пользователя, позволяющей не только зашифровывать уже готовый текстовый файл с вопросами, но и создавать тест (набор вопросов) и сохранять его в зашифрованном виде в файл.
Часть 7
Доработать программу из части 6 следующим образом. Программа должна запрашивать имя пользователя и проверять его наличие в базе данных, если пользователя нет, то добавлять его в соответствующую таблицу. Проверка имени должна быть регистронезависимой. Вопросы должны храниться в той же базе данных в зашифрованном виде. Все прохождения пользователями тестов и их результаты должны фиксироваться в базе данных. Второй модуль (для создания тестов) позволяет создавать и редактировать тесты, хранящиеся в базе данных. Необходимо обеспечить защиту от несанкционированного доступа к этим данным. База данных реализуется средствами MS Access. В базе данных должно быть создано 4 теста по 25 вопросов каждый.
Задание 7. Тема: MFC Windows MDI приложения
Разработать программу (MDI), выполняющую соответствующий вариант. Использование стандартной библиотеки C++ обязательно в разумных пределах. Все настройки программ должны сохраняться и восстанавливаться при запуске. Везде предполагается реализация соответствующих пунктов меню и панелей инструментов. Во всех вариантах обязательна сериализация документов.
Задание 8. Тема: Com-Ole автоматизация
Цель – обучение базовым навыкам компонентного программирования. Нужно что-то передать компоненту, в нем произвести какие-то действия и вернуть результат обратно в вызывающее приложение. Вызывающая программа – приложение MS Access, компонент пишется в MS Visual C++.Net и реализуется как dll.
Общие требования
Мастер создания проекта: New Project/Visual C++ Projects/MFC DLL, application settings: Automation – On.
Обязательные требования к проектам:
все создаваемые классы, поля и методы классов должны сопровождаться комментариями;
деление на модули обязательно;
разделение модулей на заголовочные файлы и файлы реализаций классов обязательно;
более двух классов в модуле не допускается;
преподавателю сдается архив (.zip) проекта и приложения MS Access 2000 (.mdb) и выше, в котором удалены каталоги Debug и/или Release.
Разработать компонент, выполняющий соответствующий вариант. Использование стандартной библиотеки C++ обязательно в разумных пределах.
В вариантах заданий ниже под клиентом понимается приложение MS Access, сервером – компонент.
Усложнение выполняемого варианта (в разумных пределах) приветствуется.
Изменения в названиях методов и свойств допускаются.
Дизайн соответствующих вариантам диалогов – произволен.
Во всех случаях допустимы изменения в интерфейсе (т.е. номенклатуре методов и свойств).
Под диалоговым окном понимается окно, порожденное непосредственно (или имеющее в своей иерархии) от CDialog.
Во всех вариантах заданий время жизни объекта (компонента) должно быть не меньшим, чем время жизни вызывающих форм Access.
Пример создания и использования компонента: пусть проект dll называется dll_com (какой проект + галочка).
Class View: Пользуясь мастером создания класса Add Class: MFC Class. Название класса TstObj (Automation: Creatable by ID, Base class: CCmdTarget). Далее, переходим по иерархии в dll_com/ITstObj, Add/Add Method: (Method Name: TestMethod, Return type: void).
Переходим Class View: TstObj/TestMethod(void).
Пишем: ::AfxMessageBox (_T("Test Dll!"));
Компилируем (Build/Build Solution) и регистрируем компонент: regsvr32 dll_com.dll.
Создаем приложение MS Access 2000. Создаем в нем форму: Форма1, помещаем на ней кнопку, определяем нажатие кнопки (процедура Кнопка0_Click). Далее в модуле VBA: Microsoft Visual Basic, Tools/References/dll_com. После чего пишем в процедуре Кнопка0_Click следующий код:
Dim aa As New dll_com.TstObj
aa.TestMethod
Сохраняем, переходим в режим формы и нажимаем кнопку.
Приложение. Варианты заданий.
