Разработка электронного лабораторного практикума по дисциплине "Объектно-ориентированное программирование"
Обзор систем дистанционного образования и его особенности. Анализ электронных практикумов по программированию. Разработка принципов и структурных модулей электронного лабораторного практикума. Методология его проектирования и программной разработки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 04.07.2018 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Хотя большинство диалогов основываются на какой-то структуре, которая определяет их стиль, обычно они смешанные, использующие комбинацию основных структур.
Электронный практикум по дисциплине "Объектно-ориентированное программирование" разработан на основе интерфейса типа меню. Взаимодействие электронного комплекса с пользователем осуществляется посредством интерактивного меню, повышающего скорость работы.
При разработке интерфейса были учтены следующие требования:
1) интерфейс должен быть интуитивно понятным не профессиональному пользователю. Для этого его элементы должны быть подчинены общему стилю или унифицированы групповым образом;
2) следует активно использовать пиктограммы, поясняющие действия и предназначения элементов;
3) перемещения между страницами должно быть организовано по принципу свободного выбора решения, то есть всегда должна быть возможность вернуться к исходному состоянию.
Структурная схема интерфейса электронного практикума представлена на рисунке 3.7.
Схемы диалогов клиентских частей представлены: на рисунке 3.8 - схема диалога "Модуль преподавателя", на рисунке 3.9 - схема диалога "Модуль студента".
Рисунок 3.7 - Структурная схема интерфейса
Рисунок 3.8 - Схема диалога "Модуль преподавателя"
Рисунок 3.9 ? Схема диалога "Модуль студента"
3.3 Построение информационной модели данных
На основе анализа предметной области и требований к разрабатываемой системе было принято решение об организации набора баз данных. Состав информационного обеспечения представлен в таблице 3.10.
Таблица 3.10 - Состав информационного обеспечения
Название информационного объекта (ИО) |
Обозначение ИО |
Семантика ИО |
|
Обучение |
Обучение |
Содержит информацию о прогрессе изучения студентом тем. |
|
Студенты |
Студенты |
Содержит информацию о студентах курса. |
|
Преподаватели |
Преподаватели |
Содержит информацию о преподавателях. |
|
Группы |
Группы |
Содержит информацию о группах студентов. |
|
Темы |
Темы |
Содержит информацию о темах, изучающихся в данной дисциплине. |
|
Тесты |
Тесты |
Содержит информацию о тестах. |
|
Вопросы |
Вопросы |
Содержит информацию о вопросах в тестах. |
|
Варианты ответов |
Варианты ответов |
Содержит информацию о содержании вопросов. |
|
Практика |
Практика |
Содержит информацию о практическом материале. |
|
Теория |
Теория |
Содержит информацию о теоретическом материале. |
Функциональные зависимости реквизитов представлены в таблице 3.11.
Таблица 3.11 - Функциональные зависимости реквизитов
Информационный объект |
Название реквизитов |
Имя реквизитов |
Функциональные зависимости |
|
Группы |
Код группы Название |
Код группы Название |
||
Студенты |
Код студента Код группы Имя студента Фамилия студента Отчество студента Логин студента Пароль студента Город |
Код_студента Код_группы Имя_студента Фамилия_студента Отчество_студента Логин_студента Пароль_студента Город |
||
Преподаватели |
Код преподавателя Имя преподавателя Фамилия преподавателя Отчество преподавателя Логин преподавателя Пароль преподавателя Телефон |
Код_препод Имя_препод Фамилия_препод Отчество_ препод Логин_ препод Пароль_ препод Телефон |
||
Обучение |
Код Код студента Код темы Отметка о прохождении |
Код Код_студента Код_темы Код_препод |
||
Темы |
Код темы Название Описание Код лекции Код задания Код теста |
Код_темы Название Описание Код_лекции Код_задания Код_теста |
||
Тесты |
Код теста Название |
Код_теста Название |
||
Вопросы |
Код вопроса Код теста Содержание вопроса Правильные ответы |
Код_вопроса Код_теста Содержание_вопроса Правильные_ответы |
||
Варианты ответов |
Код варианта Код вопроса Формулировка |
Код_варианта Код_вопроса Формулировка |
||
Практика |
Код задания Название Описание Содержание |
Код_задания Название Описание Содержание |
||
Теория |
Код лекции Название Содержание |
Код_лекции Название Содержание |
Разделение всех реквизитов на группы описательных и ключевых и установление между ними соответствия представлено в таблице 3.12.
Таблица 3.12 - Соответствие описательных и ключевых реквизитов
Описательные (зависимые) реквизиты |
Ключевые реквизиты |
Признак ключа |
Имя ИО, включающего реквизит |
|
Название |
Код_группы |
П.,У. |
Группы |
|
Код_студента Код_темы Код_препод |
Код |
П., У. |
Обучение |
|
Код_группы Имя_студента Фамилия_студента Отчество_студента Логин_студента Пароль_студента Город |
Код_студента |
П., У. |
Студенты |
|
Имя_препод Фамилия_препод Отчество_ препод Логин_ препод Пароль_ препод Телефон |
Код_препод |
П., У. |
Преподаватели |
|
Название Содержание |
Код_лекции |
П., У. |
Теория |
|
Название Вопросы Правильные_ответы |
Код_теста |
П., У. |
Тесты |
|
Код_теста Содержание_вопроса Правильные_ответы |
Код_вопроса |
П., У. |
Вопросы |
|
Формулировка Код_вопроса |
Код_варианта |
П., У. |
Варианты ответов |
|
Название Описание Содержание |
Код_задания |
П., У. |
Практика |
|
Название Описание Код_лекции Код_задания Код_теста |
Код_темы |
П., У. |
Темы |
Были проанализированы реальные отношения и функциональные связи между информационными объектами. Связи между информационными объектами приведены в таблице 3.13.
Таблица 3.13 - Связи ИО
№ связи |
Главный ИО |
Подчиненный ИО |
Ключ связи |
Тип реального отношения |
|
1 |
Обучение |
Студенты |
Код_студента |
1:М |
|
2 |
Обучение |
Темы |
Код_темы |
1:М |
|
3 |
Обучение |
Преподаватели |
Код_препод |
1:М |
|
4 |
Студенты |
Группы |
Код_группы |
1:M |
|
5 |
Темы |
Теория |
Код_лекции |
1:M |
|
6 |
Темы |
Практика |
Код_задания |
1:М |
|
7 |
Темы |
Тесты |
Код_теста |
1:M |
|
8 |
Тесты |
Вопросы |
Код_вопроса |
1:M |
|
9 |
Вопросы |
Варианты ответов |
Код_варианта |
1:M |
Рассмотрим построение логической модели.
Различают следующие уровни логической модели, каждая из которых отличается глубиной представления информации о данных:
1) диаграмма сущность-связь представляет собой модель данных верхнего уровня. Диаграмма представлена на рисунке 3.10. Она включает сущности и взаимосвязи, отражающие основные бизнес-правила предметной области. Такая диаграмма не слишком детализирована и может включать связи многие-ко-многим;
2) модель данных, основанная на ключах, представлена на рисунке 3.11. Данная модель предполагает уже более подробное представление данных и включает описание всех сущностей и первичных ключей. Здесь уже не допускается наличие связи многие-ко-многим, так как данная модель предназначена для представления структуры данных и ключей, которые соответствуют предметной области;
3) полная атрибутивная модель представлена на рисунке 3.12. Это наиболее детальное представление данных. Данная модель представляет данные в третьей нормальной форме и включает все сущности, атрибуты и связи.
Рисунок 3.10 - Диаграмма сущность-связь
Рисунок 3.11 - Модель данных, основанная на ключах
Рисунок 3.12 - Полная атрибутивная модель
Описание таблиц базы данных.
Описание структуры реляционных таблиц представлено в таблице 3.14.
Таблица 3.14 - Описание таблиц реляционной базы данных
Атрибут |
Признак ключа |
Формат поля |
||||
Обозначение |
Наименование |
Тип |
Длина |
Точность |
||
Группы |
||||||
Код_группы |
Код группы |
П.,У. |
Счетчик |
Длинное целое |
||
Название |
Название |
Текстовый |
50 |
|||
Студенты |
||||||
Код_студента |
Код студента |
П.,У. |
Счетчик |
Длинное целое |
||
Код_группы |
Код группы |
Счетчик |
Длинное целое |
|||
Имя_студента |
Имя студента |
Текстовый |
50 |
|||
Фамилия_студента |
Фамилия студента |
Текстовый |
50 |
|||
Отчество_студента |
Отчество студента |
Текстовый |
50 |
|||
Логин_студента |
Логин студента |
Текстовый |
50 |
|||
Пароль_студента |
Пароль студента |
Текстовый |
50 |
|||
|
|
Текстовый |
50 |
|||
Город |
Город |
Текстовый |
50 |
|||
Преподаватели |
||||||
Код_препод |
Код преподавателя |
П.,У. |
Счетчик |
Длинное целое |
||
Имя_препод |
Имя преподавателя |
Счетчик |
Длинное целое |
|||
Фамилия_препод |
Фамилия преподавателя |
Текстовый |
50 |
|||
Отчество_ препод |
Отчество преподавателя |
Текстовый |
50 |
|||
Логин_ препод |
Логин преподавателя |
Текстовый |
50 |
|||
Пароль_ препод |
Пароль преподавателя |
Текстовый |
50 |
|||
|
|
Текстовый |
50 |
|||
Телефон |
Телефон |
Текстовый |
50 |
|||
Обучение |
||||||
Код |
Код |
П.,У. |
Cчетчик |
Длинное целое |
||
Код_студента |
Код студента |
Cчетчик |
Длинное целое |
|||
Код_темы |
Код темы |
Cчетчик |
Длинное целое |
|||
Код_препод |
Код преподавателя |
Счетчик |
Длинное целое |
|||
Темы |
||||||
Код_темы |
Код темы |
П.,У. |
Счетчик |
Длинное целое |
||
Название |
Название |
Текстовый |
50 |
|||
Описание |
Описание |
Текстовый |
100 |
|||
Код_лекции |
Код лекции |
Счетчик |
Длинное целое |
|||
Код_задания |
Код задания |
Счетчик |
Длинное целое |
|||
Код_теста |
Код теста |
Счетчик |
Длинное целое |
|||
Тесты |
||||||
Код_теста |
Код теста |
П.,У. |
Счетчик |
Длинное целое |
||
Название |
Название |
Текстовый |
50 |
|||
Практика |
||||||
Код_задания |
Код задания |
П.,У. |
Счетчик |
Длинное целое |
||
Название |
Название |
Текстовый |
50 |
|||
Описание |
Описание |
Текстовый |
100 |
|||
Теория |
||||||
Код_лекции |
Код лекции |
П.,У. |
Счетчик |
Длинное целое |
||
Название |
Название |
Текстовый |
50 |
|||
Содержание |
Содержание |
Текстовый |
100 |
Физическая модель данных представлена на рисунке 3.13.
Рисунок 3.13 - Физическая модель базы данных
3.4 Содержание электронного комплекса
Разработка электронного лабораторного практикума по дисциплине "Объектно-ориентированное программирование" позволяет всем желающим изучать данный материал удаленно, с помощью изучения теории, прохождения практических и индивидуальных заданий и прохождения тестов.
Рисунок 3.14 - Содержание электронного практикума
При разработке электронного практикума по дисциплине "Объектно-ориентированное программирование" были учтены следующие требования к программному продукту: переносимость - программный продукт должен легко переноситься с одной аппаратно-программной платформы на другую; долговечность - система может подвергаться незначительным изменениям при этом она должна сохранять свои функции на протяжении длительного времени; доступность - возможность пользоваться системой повсеместно (с рабочей станции дома или в учебном классе, с телефона или планшета); интуитивно-понятный интерфейс для охвата широкого диапазона слушателей.
На рисунке 3.14 представлена схема содержания электронного практикума.
Содержание теоретического материала представлено в таблице 3.15.
Таблица 3.15 - Содержание теоретического материала
Название |
Содержание |
|
1. Изучение интегрированной среды разработки программ |
Ознакомление с базовыми понятиями и работой в программной среде С++ Builder |
|
2. Программирование ветвящихся алгоритмов |
Ознакомление с синтаксисом написания и использования ветвящихся алгоритмов на языке программирования С++ |
|
3. Разработка программ с использованием циклов |
Ознакомление с синтаксисом написания и использования циклов на языке программирования С++ |
|
4. Составление программ с использованием одномерных |
Ознакомление с синтаксисом написания и использования одномерных массивов на языке программирования С++ |
|
5. Составление программ с использованием двумерных массивов |
Ознакомление с синтаксисом написания и использования одномерный массивов на языке программирования С++ |
|
6. Программирование задач с использованием строк |
Ознакомление с синтаксисом написания и использования двумерных массивов на языке программирования С++ |
|
7. Структурный тип данных на языке С++ |
Ознакомление с синтаксисом написания и использования структурного типа данных на языке программирования С++ |
|
8. Файловый ввод/вывод. Текстовые файлы. Двоичные файлы |
Ознакомление с синтаксисом написания и работой с текстовыми и двоичными файлами на языке программирования С++ |
|
9. Программирование с использованием функций |
Ознакомление с синтаксисом написания и использования функций на языке программирования С++ |
|
10. Работа с файловыми потоками в языке С++. Текстовые файлы. Двоичные файлы |
Ознакомление с синтаксисом написания и с работой файловых потоков на языке программирования С++ |
Содержание практических заданий представлено в таблице 3.16.
Таблица 3.16 - Содержание практических заданий
Название |
Содержание |
|
1. Изучение интегрированной среды разработки программ |
Разработка приложений в оконном и консольном виде в программной среде RAD Studio XE5 C++ Builder |
|
2. Программирование ветвящихся алгоритмов |
Разработка приложений в оконном и консольном виде в программной среде RAD Studio XE5 C++ Builder |
|
3. Разработка программ с использованием циклов |
Разработка приложений в оконном и консольном виде в программной среде RAD Studio XE5 C++ Builder |
|
4. Составление программ с использованием одномерных |
Разработка приложений в оконном и консольном виде в программной среде RAD Studio XE5 C++ Builder |
|
5. Составление программ с использованием двумерных массивов |
Разработка приложений в оконном и консольном виде в программной среде RAD Studio XE5 C++ Builder |
|
6. Программирование задач с использованием строк |
Разработка приложений в оконном и консольном виде в программной среде RAD Studio XE5 C++ Builder |
|
7. Структурный тип данных на языке С++ |
Разработка приложений в оконном и консольном виде в программной среде RAD Studio XE5 C++ Builder |
|
8. Файловый ввод/вывод. Текстовые файлы. Двоичные файлы |
Разработка приложений в оконном и консольном виде в программной среде RAD Studio XE5 C++ Builder |
|
9. Программирование с использованием функций |
Разработка приложений в оконном и консольном виде в программной среде RAD Studio XE5 C++ Builder |
|
10. Работа с файловыми потоками в языке С++. Текстовые файлы. Двоичные файлы |
Разработка приложений в оконном и консольном виде в программной среде RAD Studio XE5 C++ Builder |
Содержание индивидуальных заданий представлено в таблице 3.17.
Таблица 3.17 - Содержание индивидуальных заданий
Название |
Содержание |
|
1. Изучение интегрированной среды разработки программ |
20 вариантов по 3 задачи в каждом |
|
2. Программирование ветвящихся алгоритмов |
20 вариантов по 5 задач в каждом |
|
3. Разработка программ с использованием циклов |
20 вариантов по 6 задач в каждом |
|
4. Составление программ с использованием одномерных |
20 вариантов по 4 задачи в каждом |
|
5. Составление программ с использованием двумерных массивов |
20 вариантов по 4 задачи в каждом |
|
6. Программирование задач с использованием строк |
20 вариантов по 4 задачи в каждом |
|
7. Структурный тип данных на языке С++ |
20 вариантов по 2 задачи в каждом |
|
8. Файловый ввод/вывод. Текстовые файлы. Двоичные файлы |
20 вариантов по 4 задачи в каждом |
|
9. Программирование с использованием функций |
20 вариантов по 4 задачи в каждом |
|
10. Работа с файловыми потоками в языке С++. Текстовые файлы. Двоичные файлы |
20 вариантов по 3 задачи в каждом |
Примеры индивидуальных заданий представлены в таблице 3.18.
Таблица 3.18 - Примеры индивидуальных заданий
Номер лабораторной работы |
Содержание |
|
3 |
Вариант 1. 1. Ввести с клавиатуры целое число, которое будет являться количеством символов во вводимой последовательности. Определить, является ли последовательность упорядоченной по алфавиту 2. Дано начальное значение a0=5 и рекуррентная формула ai=ai-1+3i/2. Найти номер первого элемента, превысившего введенное с клавиатуры число 3. Вычислить:F=x - Sin(x) +3 Tg(x) Начальное значение = 1, конечное значение = 6, шаг h=0,5. 4. Получите таблицу значений функции y=f(x) при изменении x на отрезке [a,b]с шагом h. Отрезок 5. Вычислите значения y, соответствующие каждому значению x (, шаг изменения x равен dx) по формуле. Вычислите сумму, произведение и количество значений y. Контрольный расчет проведите при a=2,17; xn=-1.5; xk=0,5, dx=0.2 6. Дано: q = 3; dq = -0,2; Вычисляйте F по формуле: по формуле:. Считайте F до тех пор, пока подкоренное выражение меньше 0. Определите k - количество вычисленных F. Выведите на экран q, F, k. |
|
6 |
Вариант 3. 1. Дана строка слов. Сформируйте новую строку, удалив пробелы, с которых может начинаться строка, а каждую внутреннюю группу пробелов замените одним пробелом 2. Дана строка слов, разделенных пробелами. Определите самое короткое слово. Оставьте в строке только первые вхождения слов 3. Разработайте программу, которая вычисляет среднюю длину слов во введенной с клавиатуры строке. 4. Даны строка s и число n. Преобразуйте строку s в строку длины n следующим образом: если длина строки s больше n, то отбросить первые символы, если длина строки s меньше n, то в ее начало добавить символы "." (точка). |
Содержание тестов в электронном практикуме представлено в таблице 3.19.
Таблица 3.19 - Содержание тестов в электронном практикуме
Название |
Содержание |
|
1. Изучение интегрированной среды разработки программ |
6 - вопросы с выбором ответа 1 - вопросы на определение соответствия 2 - вопросы "Верно/Неверно" 1 - вопросы с кратким ответом |
|
2. Программирование ветвящихся алгоритмов |
7 - вопросы с выбором ответа 3 - вопросы "Верно/Неверно" |
|
3. Разработка программ с использованием циклов |
7 - вопросы с выбором ответа 2 - вопросы "Верно/Неверно" |
|
4. Составление программ с использованием одномерных |
5 - вопросы с выбором ответа 3 - вопросы "Верно/Неверно" 1 - вопросы с кратким ответом |
|
5. Составление программ с использованием двумерных массивов |
||
6. Программирование задач с использованием строк |
9 - вопросы с выбором ответа 1 - вопросы на определение соответствия |
|
7. Структурный тип данных на языке С++ |
6 - вопросы с выбором ответа 1 - вопросы на определение соответствия 2 - вопросы "Верно/Неверно" 1 - вопросы с кратким ответом |
|
8. Файловый ввод/вывод. Текстовые файлы. Двоичные файлы |
7 - вопросы с выбором ответа 1 - вопросы на определение соответствия 2 - вопросы "Верно/Неверно" |
|
9. Программирование с использованием функций |
6 - вопросы с выбором ответа 1 - вопросы на определение соответствия 2 - вопросы "Верно/Неверно" 1 - вопросы с кратким ответом |
|
10. Работа с файловыми потоками в языке С++. Текстовые файлы. Двоичные файлы |
8 - вопросы с выбором ответа 1 - вопросы на определение соответствия 1 - вопросы с кратким ответом |
|
Итоговый тест |
83 - вопросы с выбором ответа 7 - вопросы на определение соответствия 12 - вопросы "Верно/Неверно" 8 - вопросы с кратким ответом |
Вопросы для тестирования к первой лабораторной работе представлены в таблице 3.20.
Таблица 3.20 - Вопросы для тестирования к первой лабораторной работе
№ п.п. |
Содержание вопроса |
Варианты ответов |
||
1 |
Как обозначается целый тип данных? |
int string float char |
||
2 |
Как обозначается вещественный тип данных? |
int string float char |
||
3 |
Все объекты (переменные, массивы и т.д.), с которыми работает программа, необходимо декларировать |
Верно Неверно |
||
4 |
Соотнесите |
MainMenu PopupMenu Label Edit |
главное меню; локальное меню; метка для отображения текста; ввод и отображение строки |
|
5 |
Функция для преобразования строки в число |
StrToInt |
||
6 |
При объявлении переменных регистр не имеет значения |
Верно Неверно |
||
7 |
Директива ____ используется для подключения к программе заголовочных файлов с декларацией стандартных библиотечных функций, например: |
#include #define #begin #while |
||
8 |
Независимый переключатель или флаг выбора |
CheckBox Button Memo ListBox |
||
9 |
Набор страниц с закладками |
PageControl ImageList TreeView ListView |
||
10 |
Список просмотра |
PageControl ImageList TreeView ListView |
||
11 |
специальный редактор ввода текста по шаблону, задаваемому свойством EditMask. |
MaskEdit |
||
12 |
таблица строк, предназначена для создания таблиц. Таблица делится на две части - фиксированную (служит для показа заголовков столбцов и рядов) и рабочую. |
StringGrid |
||
13 |
произвольная таблица, является родителем таблицы строк StringGrid. |
DrawGrid Image StringGrid stRoundRect |
Вопросы для тестирования ко второй лабораторной работе представлены в таблице 3.21.
Таблица 3.21 - Вопросы для тестирования ко второй лабораторной работе
№ п.п. |
Содержание вопроса |
Варианты ответов |
|
1 |
Условный оператор применяется для программирования: |
Сложных алгоритмов Линейных алгоритмов Ветвящихся алгоритмов Циклических алгоритмов |
|
2 |
Ветвящийся алгоритм подразумевает: |
Неоднократное повторение отдельных частей программы Последовательное выполнение всех элементов программы Выполнение лишь нескольких, удовлетворяющих заданному условию частей программы |
|
3 |
Условная конструкция в С++ всегда записывается... после оператора if. |
в квадратных скобках в фигурных скобках в круглых скобках без скобок |
|
4 |
Верно ли записан оператор выбора: If <оператор 1> then <оператор 2 > else <оператор 3>: |
Верно Неверно |
|
5 |
Какой служебный знак ставится после оператора case? |
[=], < идент. 2>,…; [=];< идент. 2>,…; [:=], < идент. 2>,…; [==]; < идент. 2>,…; |
|
6 |
Какими знаками заканчивается большинство строк кода в Си++? |
. (точка) , (запятая) : (двоеточие) ; (точка с запятой) |
|
7 |
Какой из операторов является оператором ветвления? |
usl else esli if one_of |
|
8 |
Фигурные скобки являются обязательными? |
Верно Неверно |
|
9 |
Какая конструкция позволяет указывать неограниченное количество условий? |
if (<условие>) { <код> } else { <код> } else { <код> } if (<условие>) { <код> } else if (<условие >) { <код> } else { <код> } if (<условие>) { <код> } else { <код> } if (<условие>) { <код> } |
|
10 |
Можно ли вкладывать операторы if друг в друга? |
Верно Неверно |
Вопросы для тестирования к третьей лабораторной работе представлены в таблице 3.22.
Таблица 3.22 - Вопросы для тестирования к третьей лабораторной работе
№ п.п. |
Содержание вопроса |
Варианты ответов |
|
1 |
Цикл for используется если… |
мы не знаем точное количество итераций цикла. мы должны иметь возможность прервать его работу в любой момент. мы знаем точное количество повторений цикла. |
|
2 |
Разрешается ли опускать фигурные скобки в цикле for? |
Да. Это можно делать всегда Нет. Этого делать нельзя. Да. Это можно делать в том случае, если мы знаем, какое количество операций будет использовано. Да. Это можно делать, если должна выполнятся лишь одна операция. |
|
3 |
Можно ли не указывать шаг цикла? |
Да. Можно опускать и его в том числе. Нет. Это делать нельзя. Да. Не указывать можно только его. |
|
4 |
Цикл for (int i = 0; i < 10; i--); будет выполнятся бесконечно? |
Верно Неверно |
|
5 |
Цикл while используется если… |
мы не знаем точное количество итераций цикла. мы должны иметь возможность прервать его работу в любой момент. мы знаем точное количество повторений цикла. |
|
6 |
Какая последовательность выполняется в цикле do while? |
Условие - тело цикла - конец цикла Условие - конец цикла Тело цикла - конец цикла Тело цикла - условие цикла - конец цикла |
|
7 |
Можно ли создать бесконечный цикл в do while? |
Верно Неверно |
|
8 |
Какое из данных выражений правильное? |
} while (a!= 5) } while (false); } while (true) } while (false;) |
|
9 |
Можно ли в цикле do while сделать так, чтобы тело цикла не разу не выполнилось? |
Да, с помощью оператор ветвления if, в теле цикла. Нет, в любом случае хотя бы один раз условие цикла выполнится. Конечно, условие же цикла стоит в начале, а значит оно может быть не верным. |
Вопросы для тестирования к четвертной и пятой лабораторной работе представлены в таблице 3.23.
Таблица 3.23 - Вопросы для тестирования к четвертой и пятой лабораторной работе
№ п.п. |
Содержание вопроса |
Варианты ответов |
|
1 |
Какой код является ошибочным? |
int arrayX [10]; float biiiiiiiiiiiigMassiv [1]; double test [0]; long testType [-1 + 10]; int union [100]; |
|
2 |
Можно ли обнулить все элементы массива при его создании? |
Верно Неверно |
|
3 |
Какой код является верным? |
int mas [10] [10] [10] [10]= {0}; int arr [10, 20]; int arr [10 * 1-12] |
|
4 |
Сколько размерностей массива я могу использовать в своих программах? |
Не более трех. До десяти, поскольку разработчики C++ сочли это максимальным допустимым значением. Можно использовать только одномерные массивы. Не ограничено. |
|
5 |
Что будет выведено после выполнения следующего фрагмента программы? int main() { int а = 3; int b = 4; int с = 5; int &d = b; a = b = c; cout " a " b " с " d " endl; return 0; } |
5554 4444 3333 3334 В коде имеются ошибки 5555 |
|
6 |
Что будет выведено после выполнения следующего фрагмента программы? int main() { int f [20], i; for (i = 0; i < 20; i++) f [i]= i + 1; printf (" %d", f + 1); return 0; } |
2; Возникнет ошибка компиляции; Возникнет ошибка выполнения; Адрес элемента с индексом 1; |
|
7 |
Правильно ли объявлен двумерный массив? double matrix A{10}{20} |
Верно Неверно |
|
8 |
Правильно ли объявлен одномерный массив? double matrix A [10] [20] |
Верно Неверно |
|
9 |
Нижняя граница индекса в массивах. |
0 |
Вопросы для тестирования к шестой лабораторной работе представлены в таблице 3.24.
Таблица 3.24 - Вопросы для тестирования к шестой лабораторной работе
№ п.п. |
Содержание вопроса |
Варианты ответов |
|
1 |
Указать тип переменной: А:='PENTIUM'; |
CHAR INTEGER STRING REAL |
|
2 |
Установить соответствие между величиной и типом |
`programma' 1. char 27.358 2. string 268 3. real `f ' 4. integer |
|
3 |
3. Дан фрагмент программы. Определить результат выполнения программы A:='KLASS'; B:='9A'; WRITELN(LENGTH(A)+LENGTH(B)); |
KLASS9A 5 2 7 9AKLASS |
|
4 |
Дан фрагмент программы. Определить результат выполнения программы A:='KLASS'; DELETE(A,1,2); DELETE(A,3,1); WRITELN(S); |
ASS AS KL KLSS |
|
5 |
Дан фрагмент программы. Определить результат выполнения программы S:='KARTA'; D:='123456'; delete(S,2,3); INSERT(s,D,4); writeln(D); |
3456RTA 123KA456 1234KARTA KARTA456 |
|
6 |
Дан фрагмент программы. Определить результат выполнения программы A:='MASTER'; DELETE(A,1,1); DELETE(A,3,3); WRITELN(А); |
MAS AS TER AST |
|
7 |
Дан фрагмент программы. Определить результат выполнения программы S:='DOSKA'; D:='13579'; delete(S,2,3); INSERT(S,D,3); writeln(D); |
DOKA135 DO135SKA 13DA579 135DOSKA79 |
|
8 |
Функция, определяющая длину строковой переменной |
ORD SUCC CHR LENGTH |
|
9 |
Дан фрагмент программы. Определить результат выполнения программы A:='INFORMATIKA'; B:=COPY(A,3,2); DELETE(A,1,7); C:=COPY(A,1,1); DELETE(A,1,2); S:=CONCAT(B,C,A); WRITELN(S); |
MARKA FOTKA FORMA INIKA |
|
10 |
Функция, преобразующая выражение в символьный тип |
LENGTH ORD CHR SUCC |
4. Компьютерная реализация лабораторного практикума по дисциплине "Объектно-ориентированное программирование"
4.1 Разработка структуры реализации ЭП в СДО Moodle
В ходе компьютерной реализации были сформированы основные требования к электронному практикуму и требования к функциональным возможностям.
4.1.1 Основные требования к ЭП
Электронный лабораторный практикум по дисциплине "Объектно-ориентированное программирование" должен реализовывать следующие функции:
1) регистрация пользователей;
2) разграничение прав доступа пользователей к системе;
3) создание и ведение списков учебных групп;
4) создание, редактирование и удаление графика точек контроля успеваемости студентов;
5) внесение результатов оценки знаний студентов по точкам контроля успеваемости;
6) возможность управления и обработки всей поступающей и хранящейся в базе данных информации;
7) формирование отчетов о прохождении курса;
8) обеспечение простого и удобного доступа к хранящейся в базе данных информации через глобальную сеть Internet.
Системотехнические требования к разрабатываемому электронному комплексу:
1) открытость, то есть совместимость со всеми современными стандартами, возможность наращивания функциональности за счет взаимодействия с другим программным обеспечением;
2) интегрируемость, то есть система должна интегрировать в единой распределенной информационной среде предприятия;
3) расширяемость и возможность наращивания функциональных возможностей системы, не выходя за рамки принятой изначально концепции развития и технологической базы, в соответствии со специфическими потребностями пользователей;
4) масштабируемость, как ключевое требование с точки зрения экономии вложений, гарантирующее, что не придется перестраивать систему по мере роста объема обрабатываемой информации и количества одновременно работающих пользователей;
5) переносимость, или способность работать на различных аппаратных платформах, операционных системах, серверах баз данных.
Аппаратно-программные средства системы должны создаваться на передовых мировых технологиях в сфере телекоммуникаций и автоматизации управления и удовлетворять следующим основным требованиям:
1) поддерживать распределенную обработку информации, доступ к ресурсам системы, как по локальной сети, так и через internet;
2) поддерживать возможность хранения в единой базе данных больших объемов информации (комплексность, единство базы данных), обеспечивать возможности функционального расширения и наращивания мощности (расширяемость и масштабируемость);
3) использовать единую систему классификации и кодирования (унифицированность);
4) обеспечивать надлежащий уровень защиты и конфиденциальности передаваемых данных (безопасность);
5) обеспечивать высокую надёжность и устойчивость к сбоям;
6) иметь встроенные средства оперативной аналитической обработки данных;
7) обеспечивать непротиворечивость и полноту хранимой информации (целостность).
4.1.2 Требования к функциональным возможностям
Для работы Moodle предъявляет следующие требования к оборудованию:
1) место на диске: на диске должны быть свободными минимум 160 МБайт. Кроме того, потребуется больше свободного места, для хранения учебных материалов;
2) оперативная память: минимальный объём - 256 МБайт, рекомендуемый - 1 ГБайт. Можно руководствоваться следующим правилом для приблизительного вычисления необходимого объема памяти: 50 одновременно работающих в системе пользователей на каждый 1 Гб памяти. Эта цифра может быть неточной и зависит от комбинации используемого оборудования и программного обеспечения.
Требования к программному обеспечению:
1) веб-сервер. Большинство предпочитают веб-сервер Apache, но Moodle будет хорошо работать и с любым другим веб-сервером, который поддерживает PHP, например, IIS под Windows. PHP не предъявляет требования к версии веб-сервера, но тем не менее желательно использование, самой новой, из стабильных, версий веб-сервера;
2) язык сценариев PHP. На данный момент существует 2 основные версии (ветки) PHP: PHP4 и PHP5;
3) работающий сервер баз данных. Полностью поддерживаются и совместимы с Moodle следующие серверы баз данных: MySQL, PostgreSQL, Microsoft SQL Server, Oracle [11].
MySQL подойдет для в большинстве случаев, потому что она очень популярна.
Выбор ОС на рабочие станции основывается на опыте пользователей работы с ними и поэтому целесообразно подобрать такую ОС, в которой потенциальный пользователь будет без труда разбираться. Интерфейс ЭП совместим с практически любой ОС и может под ними работать. Самым оптимальным является решение Windows 7. Эта ОС обладает следующими возможностями: имеется справочная служба для пользователей; возможность использования различных устройств ввода-вывода; требования к аппаратным средствам; необходимое число поддерживаемых программных продуктов; быстродействие; наличие дружественного интерфейса и простота использования; возможность быстрой настройки на новые аппаратные средства. Конфигурация - процессор: Intel Core 2 Duo E7500 (2,93 Ггц), память: DDR3 2048 Mb, жесткий диск: 150 GB, видеокарта: ATI Radeon HD 5770, является оптимальной, компьютера такой мощности вполне достаточно для функционирования системы [11].
4.2 Описание программной реализации
Для работы с обучающей системой, необходимо запустить компьютер. После запуска открыть любой веб-браузер (в данном случае Chrome) и ввести в адресную строку адрес сайта, где находится система (в данном случае локально). Результат показан на рисунке 4.1.
Рисунок 4.1 - Открытое окно системы
Чтобы начать работу, необходимо выполнить вход в систему. Для этого можно нажать в правом верхнем углу кнопу вход или на ту же кнопу в конце страницы. Результат показан на рисунке 4.2.
Рисунок 4.2 - Окно авторизации
Далее необходимо ввести логин и пароль студента (для обучения) или преподавателя (для редактирования и мониторинга). Первоначально при создании системы создается в обязательном порядке суперпользователь - администратор. Он в свою очередь создает новый аккаунт преподавателя и наделяет всеми необходимыми полномочиями.
Для студента ввести выданные ранее ему преподавателем логин и пароль и под ними выполнить вход в систему.
Чтобы записаться на курс, нужно выбрать в меню Навигация выпадающий список Курсы, из списка доступных курсов нужный, нажать на него и в новом открывшемся окне нажать на кнопку "Записаться на курс". Данный этап представлен на рисунке 4.3.
Рисунок 4.3 - Запись студента на курс
Записавшись на курс, можно приступить к самообразованию. На курсе представлены темы, по которым можно прочитать краткие лекции, задания для выполнения и последующей проверки преподавателем, тестирование.
Для создания пользователей необходимо обладать правами преподавателя или администратора. Вводим логин и пароль преподавателя и выбираем пункт меню "Администрирование". Появляется форма, представленная на рисунке 4.4.
Рисунок 4.4 - Форма "Администрирование"
Выбираем вкладку "Пользователи". Данная вкладка представлена на рисунке 4.5.
Рисунок 4.5 - Форма "Администрирование"
Выбираем пункт добавить пользователя и заполняем всю необходимую информацию. Форма добавления пользователя представлена на рисунке 4.6.
Чтобы назначить или изменить роли и права пользователей, на вкладке "Пользователи" в меню "Администрирование" нажимаем на "Определить роли". Форма определения ролей представлена на рисунке 4.7.
Рисунок 4.6 - Форма "Администрирование"
Рисунок 4.7 - Форма "Определить роли"
Индивидуальные задания выполняются в программной среде компилятора Embarcadero RAD Studio XE5 (C++ Builder XE5). Для выполнения задания необходимо воспользоваться разобранными примерами, и на их основе сделать задачи.
Основные принципы работы рассмотрены ниже на примере.
Задача 1. Даны два числа целого типа. Найти их сумму. Создать оконное и консольное приложения.
Для создания нового оконного приложения необходимо выполнить следующие действия. Запускаем C++ Builder. Создаем новое приложение, нажав File->New->VCL Forms Application - C++ Builder. Создание нового проекта представлено на рисунке 4.8.
Рисунок 4.8 - Создание нового проекта
С помощью Object Inspector можно изменять свойства элементов, и задавать на них события. Object Inspector представлен на рисунке 4.9.
Задаем имя формы Form1 "Сумма двух целых чисел": Object Inspector _> Caption.
На панели Tool Palette находятся элементы оконного приложение. Здесь с помощью строки Search можно найти необходимый элемент. Tool Palette представлен на рисунке 4.10.
Рисунок 4.9 - Object Inspector
Выносим на форму 4 элемента надписи TLabel и задаем им следующие имена в Object Inspector -> Caption: "Число а", "Число b", "Результат", " ".
Задаем размер шрифта для всех TLabel: Object Inspector -> Font -> Size -> 14.
На форму выносим кнопку TButton и задаем ей имя "Расчет" в Object Inspector -> Caption.
Выносим на форму 2 элемента TEdit и удаляем текст в поле в Object Inspector -> Text.
В результате должна получиться похожая форма, представленная на рисунке 4.11.
Рисунок 4.10 - Tool Palette
Рисунок 4.11 - Форма для расчета суммы двух чисел
На событие OnClick кнопки "Результат" записываем код. Для этого дважды щелкаем левой кнопкой мыши по кнопке "Расчет" и заполняем созданную функцию Button1Click между фигурных скобок { }.:
{
int a,b;
a=StrToInt(Edit1->Text);
b=StrToInt(Edit2->Text);
Label3->Caption=IntToStr(a+b);
}
Запускаем программу.
В результате должно получиться похожее окно, представленное на рисунке 4.12.
Рисунок 4.12 - Сумма двух вещественных чисел
Создание консольного приложения. Чтобы создать проект в консольном приложении, прежде всего, нужно сохранить и закрыть предыдущий проект, если он все еще открыт. Для этого нажимаем File->Save All. И закрываем его File->Close All.
Создаем консольное приложение: File->New->Other…->Console Application. Создание представлено на рисунке 4.13.
Рисунок 4.13 - Создание консольного приложения
В появившемся окне выбираем пункты как на скриншоте и нажимаем ОК. Необходимые настройки представлены на рисунке 4.14.
Рисунок 4.14 - Настройки консольного приложения
В появившемся окне вводим следующий код:
#pragma hdrstop
#pragma argsused
#include <tchar.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
int _tmain (int argc, _TCHAR* argv [])
{
int a,b,sum;
puts("\nEnter a and b: ");
scanf(" %d %d",&a,&b);
sum=a+b;
printf("Sum = %d\n",sum);
_getch (); return 0;}
Запустите программу для исходных данных a=1, b=2.
Результат выполнения программы выглядит следующим образом, представленном на рисунке 4.15.
Рисунок 4.15 - Расчет суммы двух целых чисел
4.3 Тестирование и оценка надежности ЭП
При функциональном тестировании использован принцип черного ящика, то есть когда известны функции программы и исследуется работа каждой функции на всей области определения.
Тесты "черного ящика" используются в интерфейсных ПО. При данном тестировании рассматриваются системные характеристики программы, и игнорируется их внутренняя логическая структура. Тестирование "черного ящика" обеспечивает поиск следующих ошибок:
1) некорректные или отсутствующие функции;
2) ошибки интерфейса;
3) ошибки во внешней структуре данных или доступе к внешним БД;
4) ошибки инициализации и завершения;
5) ошиб...
Подобные документы
Особенности дистанционного образования. Разработка электронного практикума по дисциплине "Методы и средства проектирования информационных систем и технологий". Предметная область, выделение информационных объектов. Разработка программного обеспечения.
дипломная работа [2,1 M], добавлен 27.10.2017Обзор систем дистанционного образования. Функционально-ориентированное проектирование электронного практикума по дисциплине "Мультимедиа технологии". Разработка информационного и программного обеспечения системы. Построение логической модели данных.
дипломная работа [2,7 M], добавлен 27.10.2017Особенности дистанционного образования. Анализ функциональных характеристик среды дистанционного образования Moodle. Функционально-ориентированное проектирование электронного практикума. Разработка, тестирование и оценка надежности программного продукта.
дипломная работа [2,0 M], добавлен 12.08.2017Обзор систем дистанционного образования. Разработка электронного практикума по созданию Flash-приложений на основе системы дистанционного обучения Moodle. Общая структура электронного практикума. Построение логической модели данных информационной системы.
дипломная работа [3,0 M], добавлен 19.01.2017Система дистанционного обучения Distance Learning Belarus. Разработка лабораторного практикума по курсу "Разработка трансляторов для языков программирования". Базовые концепции разработки приложений для Интернет. Схема диалога пользователя с системой.
курсовая работа [1,3 M], добавлен 03.11.2012Системы дистанционного образования. Структура, требования к электронному практикуму. Функционально-ориентированное и объектно-ориентированное проектирование. Интерфейс системы, тестирование надежности программного средства, руководство пользователя.
дипломная работа [1,3 M], добавлен 19.01.2017- Разработка электронного практикума по дисциплине "Математика" в программе Microsoft Office FrontPage
Отличительные признаки электронного учебника от печатного. Преимущества и недостатки компьютерных систем обучения. Аспекты применения информационных технологий в образовании. Типы педагогических программных средств. Этапы создания электронного практикума.
курсовая работа [3,0 M], добавлен 28.05.2015 Рассмотрение методик применения цифровых образовательных ресурсов в информационно–телекоммуникационном сопровождении системы образования. Функции компьютера на уроках. Содержание и методика проведения работы по созданию практикума "Электронные таблицы".
курсовая работа [829,9 K], добавлен 03.07.2015Использование информационных технологий в образовании. Системы дистанционного обучения и виртуальные лаборатории. Мультимедийная платформа Adobe Flash. Этапы разработки виртуального лабораторного практикума: оптимизация кода и разработка компонентов.
дипломная работа [3,3 M], добавлен 15.06.2017Выбор инструментальных средств для разработки лабораторного практикума по работе с операционной системой Windows ХР. Рекомендации по установке виртуальной машины. Подключение жесткого диска, его разделение на разделы. Управление пользователями и группами.
дипломная работа [4,7 M], добавлен 17.08.2013Анализ системы дистанционного практикума по программированию. Модернизация ядра системы для работы с новым конфигурационным файлом. Программная реализация изменений в базе данных и веб-интерфейсе пользователя. Разработка инструкции для участника олимпиад.
дипломная работа [1,1 M], добавлен 09.11.2016Особенности и классификация программных комплексов, их обзор и функциональные возможности в сфере обучения. Объектно-ориентированное проектирование компьютерного практикума. Разработка и структура информационного обеспечения, основные требования к нему.
дипломная работа [3,3 M], добавлен 19.01.2017Ознакомление с методами анализа популярности языков программирования. Рассмотрение логической модели базы данных дистанционного практикума. Разработка листинга скрипта создания таблицы-справочника. Анализ статистики по применению языков программирования.
диссертация [1,4 M], добавлен 10.07.2017Обзор средств создания электронных обучающих систем. Требования к системе проектирования "электронного учебника". Разработка теоретической части и интерактивных примеров. Классификация средств создания электронных учебников. Принципы изложения материала.
дипломная работа [7,8 M], добавлен 10.01.2013Графическая иллюстрация работы методов оптимизации. Работа с запрограммированными методами первого, второго и нулевого порядков. Анализ свободно распространяемого программного обеспечения. Применяемая архитектура практикума, пользовательский интерфейс.
дипломная работа [3,9 M], добавлен 14.10.2010Концепция построения виртуальной лаборатории (ВЛ) "Программирование микроконтроллерных систем". Принцип построения лабораторного практикума. Архитектура аппаратного обеспечения ВЛ. Аппаратные способы реализации генератора сигналов произвольной формы.
магистерская работа [669,4 K], добавлен 29.06.2009"Moodle" - модульная объектно-ориентированная динамическая среда обучения, ее использование для разработки систем дистанционного обучения. Общее представление о дистанционном практикуме по программированию. Разработка структуры данных и алгоритмов.
дипломная работа [1,2 M], добавлен 09.11.2016Общие сведения об электронных учебниках, структура и функции. Обзор методов решения поставленной задачи и обоснование их выбора. Требования к информационной и программной совместимости, составу и параметрам технических средств. Характеристика программы.
курсовая работа [3,0 M], добавлен 20.09.2014Принципы работы и редактирования в программе Adobe Audition 3.0, вид пользовательского интерфейса и функциональные возможности. Разработка лабораторного практикума и учебно-практического пособия. Мероприятия по обеспечению безопасности при работе на ПК.
дипломная работа [4,9 M], добавлен 12.04.2012Система дистанционного обучения Distance Learning Belarus и лабораторный практикум курса "Разработка трансляторов для языков программирования", его перенос в интерактивную среду обучения. Описание работы программы и её взаимодействия с пользователями.
курсовая работа [588,5 K], добавлен 03.11.2012