Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadania_SOSiYaP.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
531 Кб
Скачать
☆

Часть 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.

Обязательные требования к проектам:

  1. все создаваемые классы, поля и методы классов должны сопровождаться комментариями;

  2. деление на модули обязательно;

  3. разделение модулей на заголовочные файлы и файлы реализаций классов обязательно;

  4. более двух классов в модуле не допускается;

  5. преподавателю сдается архив (.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

Сохраняем, переходим в режим формы и нажимаем кнопку.

Приложение. Варианты заданий.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]