Разработка электронного лабораторного практикума по дисциплине "Объектно-ориентированное программирование"

Обзор систем дистанционного образования и его особенности. Анализ электронных практикумов по программированию. Разработка принципов и структурных модулей электронного лабораторного практикума. Методология его проектирования и программной разработки.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 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 - Функциональные зависимости реквизитов

Информационный объект

Название реквизитов

Имя реквизитов

Функциональные

зависимости

Группы

Код группы

Название

Код группы

Название

Студенты

Код студента

Код группы

Имя студента

Фамилия студента

Отчество студента

Логин студента

Пароль студента

E-mail

Город

Код_студента

Код_группы

Имя_студента

Фамилия_студента

Отчество_студента

Логин_студента

Пароль_студента

E-mail

Город

Преподаватели

Код преподавателя

Имя преподавателя

Фамилия преподавателя

Отчество преподавателя

Логин преподавателя

Пароль преподавателя

E-mail

Телефон

Код_препод

Имя_препод

Фамилия_препод

Отчество_ препод

Логин_ препод

Пароль_ препод

E-mail

Телефон

Обучение

Код

Код студента

Код темы

Отметка о прохождении

Код

Код_студента

Код_темы

Код_препод

Темы

Код темы

Название

Описание

Код лекции

Код задания

Код теста

Код_темы

Название

Описание

Код_лекции

Код_задания

Код_теста

Тесты

Код теста

Название

Код_теста

Название

Вопросы

Код вопроса

Код теста

Содержание вопроса

Правильные ответы

Код_вопроса

Код_теста

Содержание_вопроса

Правильные_ответы

Варианты ответов

Код варианта

Код вопроса

Формулировка

Код_варианта

Код_вопроса

Формулировка

Практика

Код задания

Название

Описание

Содержание

Код_задания

Название

Описание

Содержание

Теория

Код лекции

Название

Содержание

Код_лекции

Название

Содержание

Разделение всех реквизитов на группы описательных и ключевых и установление между ними соответствия представлено в таблице 3.12.

Таблица 3.12 - Соответствие описательных и ключевых реквизитов

Описательные (зависимые) реквизиты

Ключевые реквизиты

Признак ключа

Имя ИО, включающего реквизит

Название

Код_группы

П.,У.

Группы

Код_студента

Код_темы

Код_препод

Код

П., У.

Обучение

Код_группы

Имя_студента

Фамилия_студента

Отчество_студента

Логин_студента

Пароль_студента

E-mail

Город

Код_студента

П., У.

Студенты

Имя_препод

Фамилия_препод

Отчество_ препод

Логин_ препод

Пароль_ препод

E-mail

Телефон

Код_препод

П., У.

Преподаватели

Название

Содержание

Код_лекции

П., У.

Теория

Название

Вопросы

Правильные_ответы

Код_теста

П., У.

Тесты

Код_теста

Содержание_вопроса

Правильные_ответы

Код_вопроса

П., У.

Вопросы

Формулировка

Код_вопроса

Код_варианта

П., У.

Варианты ответов

Название

Описание

Содержание

Код_задания

П., У.

Практика

Название

Описание

Код_лекции

Код_задания

Код_теста

Код_темы

П., У.

Темы

Были проанализированы реальные отношения и функциональные связи между информационными объектами. Связи между информационными объектами приведены в таблице 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

E-mail

E-mail

Текстовый

50

Город

Город

Текстовый

50

Преподаватели

Код_препод

Код преподавателя

П.,У.

Счетчик

Длинное целое

Имя_препод

Имя преподавателя

Счетчик

Длинное целое

Фамилия_препод

Фамилия преподавателя

Текстовый

50

Отчество_ препод

Отчество преподавателя

Текстовый

50

Логин_ препод

Логин преподавателя

Текстовый

50

Пароль_ препод

Пароль преподавателя

Текстовый

50

E-mail

E-mail

Текстовый

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) ошиб...


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.