Создание электронно-обучающего пособия по программированию
Исследование особенностей объектно-ориентированной среды программирования Borland Delphi. Описание процесса создания электронного пособия для изучения студентами и применения на уроках преподавателями. Характеристика технических и программных средств.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 10.06.2012 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru/
ОГЛАВЛЕНИЕ
- ВВЕДЕНИЕ
- 1. КОМПЬЮТЕРНО-ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ
- 1.1 Прикладные программы
- 1.2 Краткий обзор возможностей программы, используемые при решении задачи
- 1.2.1 Объектно-ориентированная среда программирования Borland Delphi
- 2. ПРАКТИЧЕСКАЯ ЧАСТЬ
- 2.1 Постановка задачи
- 2.2 Этапы выполнения работы
- 2.3 Технологический алгоритм решения задачи
- 2.4 Инструкция по эксплуатации
- 3. ТЕХНИЧЕСКИЕ И ПРОГРАММНЫЕ СРЕДСТВА
- 4. ТЕХНИКА БЕЗОПАСНОСТИ НА РАБОЧЕМ МЕСТЕ
- ЗАКЛЮЧЕНИЕ
- БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- ПРИЛОЖЕНИЯ
ВВЕДЕНИЕ
Реформа современного образования может состояться лишь при условии создания таких компьютерных пакетов (электронных учебников, пособий, тренажеров, тестеров и проч.), наличие которых обеспечит одну и ту же компьютерную среду в специализированной аудитории на практических занятиях, в компьютерном классе учебного заведения или общежитии, оборудованном для самостоятельной работы учащихся, а также дома на персональном компьютере.
Основываясь на официальных определениях электронного издания (ЭИ), учебного электронного издания (УЭИ) и электронного учебника (ЭУ), необходимо расширить и конкретизировать понятие ЭУ.
Электронный учебник (даже самый лучший) не может и не должен заменять книгу. Так же как экранизация литературного произведения принадлежит к иному жанру, так и электронный учебник принадлежит к совершенно новому жанру произведений учебного назначения. И так же как просмотр фильма не заменяет чтения книги, по которой он был поставлен, так и наличие электронного учебника не только не должно заменять чтения и изучения обычного учебника (во всех случаях мы подразумеваем лучшие образцы любого жанра), а напротив, побуждать учащегося взяться за книгу.
Именно поэтому для создания электронного учебника недостаточно взять хороший учебник, снабдить его навигацией (создать гипертексты) и богатым иллюстративным материалом (включая мультимедийные средства) и воплотить на экране компьютера. Электронный учебник не должен превращаться ни в текст с картинками, ни в справочник, так как его функция принципиально иная.
Электронный учебник должен максимально облегчить понимание и запоминание (причем активное, а не пассивное) наиболее существенных понятий, утверждений и примеров, вовлекая в процесс обучения иные, нежели обычный учебник, возможности человеческого мозга, в частности, слуховую и эмоциональную память, а также используя компьютерные объяснения.
Текстовая составляющая должна быть ограничена -- ведь остаются обычный учебник, бумага и ручка для углубленного изучения уже освоенного на компьютере материала.
Основной целью данной работы является создание электронного учебника по программированию, для того, чтобы студенту и обычному читателю было легко и доступно научиться программировать, а преподавателю использовать материал в своих уроках.
В рамках сформулированной цели была определена задача, заключающаяся в разработке компьютерной модели с использованием возможностей Borland Delphi 7.
Предметом изучения является создание электронного пособия, который бы могли изучать, самостоятельно студенты и применять в своих уроках преподаватели.
1. КОМПЬЮТЕРНО-ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ
1.1 Прикладные программы
Borland Delphi - интегрированная среда разработки ПО для Microsoft Windows на языке Delphi, созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies (англ.). Embarcadero Delphi является частью пакета Embarcadero RAD Studio и поставляется в трех редакциях: Professional, Enterprise и Architect.
1.2 Краткий обзор возможностей программы, используемые при решении задачи
1.2.1 Объектно-ориентированная среда программирования Borland Delphi
Для запуска среды Delphi выполните следующую команду:
Пуск > Все программы > Borland Delphi 7 > Delphi 7
После загрузки интерфейс Delphi 7 имеет вид, показанный на рис. 1, и имеет 5 основных окон:
главное окно (Delphi 7 - Project 1);
окно редактора свойств объектов (Object Inspector);
окно формы (Form 1);
окно редактора кода (Unit1.pas);
окно дерева объектов (Object TreeView).
Окно редактора кода почти полностью закрыто окном стартовой формы. Для переключения между окном формы и окном редактора кода нажмите клавишу F12.
Рисунок 1 - Форма в Borland Delphi 7
Главное окно находится в верхней части экрана. В нём расположены:
- строка заголовка;
- строка меню;
- панель инструментов;
- панель палитры компонентов.
Вид главного окна представлен на рис. 2.
Рисунок 2 - Панель инструментов
Object Inspector - окно редактора свойств объектов или инспектор объектов (рис. 3).
Любой размещаемый на форме компонент характеризуется некоторым набором параметров: положением, размером, цветом и т. д. Часть этих параметров, например, положение и размеры компонента, можно изменять, манипулируя с компонентом в окне формы. Для изменения других параметров предназначено окно редактора свойств объектов (или, что то же самое, Инспектора объектов). Это окно содержит две вкладки - Properties (Свойства) и Events (События). Вкладка properties служит для установки нужных свойств компонента, вкладка Events позволяет определить реакцию компонента на то или иное событие. Совокупность cвойств отображает видимую сторону компонента: положение относительно левого верхнего угла рабочей области формы, его размеры и цвет, шрифт и текст надписи на нем и т. п.; совокупность событий - его поведенческую сторону: будет ли компонент реагировать на щелчок мыши или на нажатие клавиш, как он будет вести себя в момент появления на экране или в момент изменения размеров окна и т. п.
Рисунок 3 - Окно свойств объекта
Object TreeView - окно дерева объектов (рис. 4) предназначено для наглядного отображения связей между отдельными компонентами, размещенными на активной форме или в активном модуле данных. Щелчок по любому компоненту в этом окне активизирует соответствующий компонент в окне формы и отображает свойства этого компонента в окне Инспектора объектов.
Рисунок 4 - Окно компонентов
Окно кода программы представлено на рис. 5.
Окно редактора кода, можно увидеть, отодвинув в сторону окно формы либо, как уже говорилось выше, нажать клавишу F12. В него следует набирать текст программы. В начале работы над новым проектом это окно редактора кода содержит сформированный Delphi шаблон программы.
Рисунок 5 - Окно кода программы.
Окно формы представляет собой проект Windows-окна будущей программы. Вначале это окно содержит стандартные для Windows интерфейсные элементы - кнопки вызова системного меню, максимизации, минимизации и закрытия окна, строку заголовка и очерчивающую рамку. Вся рабочая область окна заполнена точками координатной сетки, служащей для упорядочения размещаемых на форме компонентов.
Свойства формы определяют ее внешний вид: размер, положение на экране, текст заголовка, вид рамки.
В ходе работы над новым проектом, так в Delphi называется разрабатываемое приложение, программист изменяет значения свойств формы Form1 и добавляет к форме необходимые компоненты (поля ввода и вывода текста, командные кнопки), при этом он в любой момент времени контролирует содержание окна создаваемой программы и может внести в него необходимые изменения.
Компоненты и палитра компонентов
Палитра компонентов - это каталог, состоящий из визуальных и не визуальных компонентов. Компонент - это структурная единица Delphi. Основу ООП в Delphi составляет набор компонентов, который позволяет Delphi с помощью компонентов использовать множество возможностей, присущих Windows.
Окно формы - это окно Windows. Всё рабочее пространство окна - это рабочая область, размеченная сеткой для удобства расположения на ней компонентов из Палитры компонентов. Сама форма также является компонентом. Новая форма, которая создаётся при загрузке Delphi или при создании нового проекта, является главной формой приложения.
Палитра компонентов расположена в правой части главного окна и имеет вид многостраничного блокнота, где на каждой странице размещён набор пиктограмм её компонентов. Активизировать группу компонентов требуемой страницы надо щелчком мыши на её закладке.
Для добавления какого-либо компонента в Окно формы надо выбрать его пиктограмму на панели компонентов, щёлкнуть на нём левой кнопкой мыши, а затем возможны два варианта действий:
- если надо точно позиционировать компонент, надо подвести курсор мыши в нужное место Окна формы и щёлкнуть левой кнопкой мыши один раз; левый верхний угол компонента совпадёт при этом с положением конца стрелки курсора мыши;
- если надо поместить компонент в центр Окна формы, используется двойной щелчок на пиктограмме.
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
- программирование электронный пособие технический
2.1 Постановка задачи
Задача состоит в том, чтобы создать увлекательный образовательный продукт, который бы помог качественно и успешно освоить материал по образовательной дисциплине, но электронный учебник ни в коем случае не должен заменить преподавателя, каким бы совершенным ни был электронный учебник, если преподаватель (учитель) не рекомендует его, у такого учебника нет никаких шансов добраться до обучающегося.
По варианту задания на базе объектного подхода необходимо спроектировать и разработать модель системы, работающей с пользователем по заданному плану. Постановка задачи подразумевает разработку многофункционального электронного учебника. Из этого следует, что целесообразным было бы представить иерархическую структуру возможностей электронного учебника (Рис. 6).
2.2 Этапы выполнения работы
На первом этапе разработки ЭУ целесообразно подобрать в качестве источников такие печатные и электронные издания, которые
- наиболее полно соответствуют стандартной программе,
- лаконичны и удобны для создания гипертекстов,
- содержат большое количество примеров и задач,
- имеются в удобных форматах (принцип собираемости).
На втором этапе заключения договоров из полученного набора источников отбираются те, которые имеют оптимальное соотношение цены и качества.
На третьем этапе разрабатывается оглавление, т.е. производится разбиение материала на разделы, состоящие из модулей, минимальных по объему, но замкнутых по содержанию, а также составляется перечень понятий, которые необходимы и достаточны для овладения предметом (двух- или трехуровневый индекс).
На четвертом этапе перерабатываются тексты источников в соответствии с оглавлением, индексом и структурой модулей; исключаются тексты, не вошедшие в перечни, и пишутся те, которых нет в источниках; разрабатывается система контекстных справок (Help); определяются связи между модулями и другие гипертекстные связи.
Таким образом, подготавливаются проект гипертекста для компьютерной реализации.
На пятом этапе гипертекст реализуется в электронной форме.
В результате создается примитивное электронное издание, которое уже может быть использовано в учебных целях. Многие именно такое примитивное ЭИ и называют электронным учебником. Оно практически не имеет шансов на коммерческий успех, потому что студенты не будут его покупать.
На шестом этапе разрабатывается компьютерная поддержка: определяется, какие математические действия в каждом конкретном случае поручаются компьютеру и в какой форме должен быть представлен ответ компьютера; проектируется и реализуется ; разрабатываются инструкции для пользователей по применению интеллектуального ядра ЭУ для решения математических задач (правила набора математических выражений и взаимодействия).
В результате создается работающий электронный учебник, который обладает свойствами, делающими его необходимым для студентов, полезным для аудиторных занятий и удобным для преподавателей. Такой ЭУ может распространяться на коммерческой основе.
2.3 Технологический алгоритм решения задачи
Принципы создания электронного учебника включают в себя:
1) Принцип квантования: разбиение материала на разделы, состоящие из модулей, минимальных по объему, но замкнутых по содержанию.
2) Принцип полноты: каждый модуль должен иметь следующие компоненты
- теоретическое ядро,
- контрольные вопросы по теории,
- примеры,
- задачи и упражнения для самостоятельного решения,
- контрольные вопросы по всему модулю с ответами,
- контрольная работа,
- контекстная справка (Help),
- исторический комментарий.
3) Принцип наглядности: каждый модуль должен состоять из коллекции кадров с минимумом текста и визуализацией, облегчающей понимание и запоминание новых понятий, утверждений и методов.
4) Принцип ветвления: каждый модуль должен быть связан гипертекстными ссылками с другими модулями так, чтобы у пользователя был выбор перехода в любой другой модуль. Принцип ветвления не исключает, а даже предполагает наличие рекомендуемых переходов, реализующих последовательное изучение предмета.
5) Принцип регулирования: учащийся самостоятельно управляет сменой кадров, имеет возможность вызвать на экран любое количество примеров (понятие ``пример" имеет широкий смысл: это и примеры, иллюстрирующие изучаемые понятия и утверждения, и примеры решения конкретных задач, а также контрпримеры), решить необходимое ему количество задач, задаваемого им самим или определяемого преподавателем уровня сложности, а также проверить себя, ответив на контрольные вопросы и выполнив контрольную работу, заданного уровня сложности.
6) Принцип адаптивности: электронный учебник должен допускать адаптацию к нуждам конкретного пользователя в процессе учебы, позволять варьировать глубину и сложность изучаемого материала и его прикладную направленность в зависимости от будущей специальности учащегося, применительно к нуждам пользователя генерировать дополнительный иллюстративный материал, предоставлять графические и геометрические интерпретации изучаемых понятий и полученных учащимся решений задач.
7) Принцип компьютерной поддержки: в любой момент работы учащийся может получить компьютерную поддержку, освобождающую его от рутинной работы и позволяющую сосредоточиться на сути изучаемого в данный момент материала, рассмотреть большее количество примеров и решить больше задач. Причем компьютер не только выполняет громоздкие преобразования, разнообразные вычисления и графические построения, но и совершает математические операции любого уровня сложности, если они уже изучены ранее, а также проверяет полученные результаты на любом этапе, а не только на уровне ответа.
8) Принцип собираемости: электронный учебник (и другие учебные пакеты) должны быть выполнены в форматах, позволяющих компоновать их в единые электронные комплексы, расширять и дополнять их новыми разделами и темами, а также формировать электронные библиотеки по отдельным дисциплинам (например, для кафедральных компьютерных классов) или личные электронные библиотеки студента (в соответствии со специальностью и курсом, на котором он учится), преподавателя или исследователя.
Программа может находиться в двух состояниях - designtime (время создания проекта) и runtime (время выполнения проекта).
Каждое опредёлённое состояние можно описать в виде графа состояний, рассмотрим каждый из них:
Начнём с графа всего проекта:
Рисунок 7 - Граф электронно-обучающего пособия
После входа в проект можно попасть в тесты, теорию и практику.
Тесты будут состоять из редактора тестов и программы тестирования.
Редактор тестов:
Рисунок 8 - Граф состояний тестового редактора
После входа пользователь может начать редактировать свои же вопросы и ответы или ввести новые вопросы и ответы, затем идёт сохранение результата проделанной работы, после него можно выходить из тестового редактора.
Тестовая форма:
Рисунок 9 - Граф состояний тестовой формы.
Тестовая форма предполагает наличие уже созданных в текстовом редакторе вопросов и ответов, поэтому от пользователя только нужно выбрать тест из представленных, ответить на него, после чего результат его сохраняется и выводится оценка его знаний.
Также в проекте есть учебник, граф состояний выглядит так:
Рисунок 10 - Граф состояний Учебник
Теперь рассмотрим каждое окно нашего проекта:
Первым делом рассмотрим главную форму:
Она состоит из следующих объектов:
Рисунок 11 - Главная форма
По событию OnClick наших кнопок происходит открытие последующих форм.
OnClick - это событие при котором по щелчку кнопки, либо любому другому компоненту происходит определённая операция, которая задаётся в данной процедуре.
По щелчку кнопки Учебник можно попасть в следующее окно нашей программы, которое состоит из нескольких объектов:
MainMenu - позволяет создавать собственное меню для программы.
TreeView - компонент, предназначенный для отображения древовидных данных, он состоит из TreeViewItems - это тип отдельного элемента дерева.
На форме также присутствует WebBrowser - веб-браузер, использующий свойства стандартного IE (Internet Explorer).
За отображение данных отвечает метод WebBrowser1. Navigate;
Свойства Items, компонента TreeView:
Рисунок 12 - TreeView Items Editor.
Слева располагается меню добавления файлов и меню древовидной структуры, свойство StateIndex справа отвечает за номер отображения по индексу, при событии OnChange TreeView. Text отвечает за название. (Код модуля находится в ПРИЛОЖЕНИИ А)
Форма 2 электронного пособия - Учебник.
Рисунок 13 - Форма 2. Учебник.
Программа тестирования:
Рисунок 14 - Программа тестирования
Состоит из панели ToolBar и тремя кнопками Открыть, Запустить и Выход.
Компонента StaticText, где будут отображаться вопросы.
Список CheckListBox, в котором будут отображаться варианты ответов и кнопки Дальше. (Подробный листинг представлен в ПРИЛОЖЕНИИ Б). Теперь рассмотрим тестовый редактор:
Рисунок 15 - Главное окно редактора тестов
Он состоит
- из главного меню (MainMenu);
- панели кнопок быстрого вызова команд ToolBar
Для каждой кнопки в свойстве Hint указана соответствующая ей подсказка. (Листинг формы представлен в ПРИЛОЖЕНИИ В)
Эта форма создаётся при нажатии кнопки «Создать» главного меню программы
Рисунок 16 - Окно создания нового теста
Форма состоит из:
- двух кнопок (Button и Button2);
- панели;
- 4 элементов Label;
- компонентов ComboBox и Edit (Листинг представлен в ПРИЛОЖЕНИИ Г)
Следующим является окно формирования нового теста вопросов и ответов:
Рисунок 17 - Окно редактирования и создание нового вопроса и ответов
Данное окно состоит из следующих компонентов:
- TreeView - для отображения меню создаваемых тестов;
- ListView - для ввода вариантов ответа и ввода вопроса
- Панель ToolBar со следующими кнопками: Создание вопроса, Редактирвоание, Удаление, Выход.
- Компонента ImageList для загрузки картинки;
- Подробный листинг представлен в ПРИЛОЖЕНИИ Д
Далее создаю форму для редактирования элементов, которая будет отображаться на экране по нажатии кнопок: Создать вопрос и Редактировать вопрос. Эту форму можно увидеть ниже.
Рисунок 18 - Редактирование вопроса.
Здесь находится строка TEdit для ввода текста вопроса и TCheckListBox для ввода вариантов ответа. Также на форме присутствуют кнопки Добавить и Удалить, Да и Отмена и два элемента Label. Также присутствует ImageList для вставки картинки. (Листинг представлен в ПРИЛОЖЕНИИ Е)
2.4 Инструкция по эксплуатации
Электронный учебник запускается на исполнение либо двойным щелчком левой кнопки мыши по файлу *.exe в проводнике Windows, либо нажатием правой кнопки мыши по указанному файлу и выбором пункта меню “Открыть”. Далее пользователю предлагается ознакомиться с теорией изучаемого материала, в левом верхнем углу располагается меню просмотра материала.
Открытие исполняемого файла программы.
Рисунок 19 - Открытие программы
Далее видно главное окно программы:
Здесь располагается главное меню программы.
Рисунок 20 - Главное окно программы
Щёлкнув по кнопке меню файл, можно увидеть меню состоящее из строчек (Файл>Копировать, Печать и Выход из программы).
Щёлкнув по кнопке меню помощь, показывается справка о программе:
Рисунок 21 - О программе.
Открываю интересующий раздел, в данном случае это Учебник.
Рисунок 22 - Открытие главы 3 учебника.
Сбоку можно увидеть меню подобное главному меню программы, а также меню, отображающее уроки по главам в виде древовидной структуры, в этом меню все файлы взаимосвязаны и можно открыть любой из них.
Можно также изучать этот материал и проверять его и закреплять на тестах и программах.
Каждая глава содержит задачи для ознакомления с программированием:
Открываю, либо сохраняю демонстрационный вариант программы:
Рисунок 23 - Открытие, либо сохранение примера программы.
Пример программы:
Рисунок 24 - Запуск программы.
Нажимаю кнопку Выполнить и открывается программа:
Рисунок 25 - Программа подсчёта суммы чисел.
Закрывается окно учебник кнопкой меню: Выход
И можно открыть тесты.
Тестовая оболочка
Рисунок 26 - Редактор тестов.
Здесь создаются тесты
Рисунок 27 - Создание вопроса, выбора правильного ответа и вариантов ответа.
После всего появляется вопросы, на которые отвечает пользователь.
Рисунок 28 - Программа тестирования
Вопросы теста:
Рисунок 29 - Вопрос и выборы ответа
Знание материала изображается вот так:
Рисунок 30 - Знание материала.
Выход также осуществляется кнопкой меню - Выход из программы.
3. ТЕХНИЧЕСКИЕ И ПРОГРАММНЫЕ СРЕДСТВА
Исходя из целей дипломной работы, требуется создать программу, работающую под ОС Windows. В связи с тем, что разработанный алгоритм подразумевает использование объектного программирования и параллельных процессов взаимодействия с пользователем, было принято решение использовать интегрированную среду разработки программ Borland Delphi 7. Данная среда разработки программ позволяет достаточно быстро и качественно создавать приложения для Windows.
Технические средства, используемые при разработке:
§ Windows 9x/ME/NT/XP;
§ Видео память не менее 1Mb. Ускоритель графики не требуется;
§ Оперативной памяти не менее 16Mb;
§ Процессор Intel Pentium 166 и выше;
§ Объем свободного места на жестком диске не менее 500Mb;
§ Манипуляторы: клавиатура и мышь.
4. ТЕХНИКА БЕЗОПАСНОСТИ НА РАБОЧЕМ МЕСТЕ
Во избежание повреждения изоляции проводов и возникновения коротких замыканий не разрешается: вешать что-либо на провода, закрашивать и белить шнуры и провода, закладывать провода и шнуры за газовые и водопроводные трубы, за батареи отопительной системы, выдергивать штепсельную вилку из розетки за шнур, усилие должно быть приложено к корпусу вилки.
Для исключения поражения электрическим током запрещается: часто включать и выключать компьютер без необходимости, прикасаться к экрану и к тыльной стороне блоков компьютера, работать на средствах вычислительной техники и периферийном оборудовании мокрыми руками, работать на средствах вычислительной техники и периферийном оборудовании, имеющих нарушения целостности корпуса, нарушения изоляции проводов, неисправную индикацию включения питания, с признаками электрического напряжения на корпусе, класть на средства вычислительной техники и периферийном оборудовании посторонние предметы.
Запрещается под напряжением очищать от пыли и загрязнения электрооборудование.
Запрещается проверять работоспособность электрооборудования в неприспособленных для эксплуатации помещениях с токопроводящими полами, сырых, не позволяющих заземлить доступные металлические части.
Недопустимо под напряжением проводить ремонт средств вычислительной техники и периферийного оборудования. Ремонт электроаппаратуры производится только специалистами-техниками с соблюдением необходимых технических требований.
Во избежание поражения электрическим током, при пользовании электроприборами нельзя касаться одновременно каких-либо трубопроводов, батарей отопления, металлических конструкций, соединенных с землей.
При пользовании электроэнергией в сырых помещениях соблюдать особую осторожность.
Требования безопасности в аварийных ситуациях:
При обнаружении неисправности немедленно обесточить электрооборудование, оповестить администрацию. Продолжение работы возможно только после устранения неисправности.
При обнаружении оборвавшегося провода необходимо немедленно сообщить об этом администрации, принять меры по исключению контакта с ним людей. Прикосновение к проводу опасно для жизни.
Во всех случаях поражения человека электрическим током немедленно вызывают врача. До прибытия врача нужно, не теряя времени, приступить к оказанию первой помощи пострадавшему.
Необходимо немедленно начать производить искусственное дыхание, наиболее эффективным из которых является метод рот в рот или рот в нос, а также наружный массаж сердца.
Искусственное дыхание поражённому электрическим током производится вплоть до прибытия врача.
На рабочем месте запрещается иметь огнеопасные вещества
В помещениях запрещается:
1) зажигать огонь;
2) включать электрооборудование, если в помещении пахнет газом;
3) курить;
4) сушить что-либо на отопительных приборах;
5) закрывать вентиляционные отверстия в электроаппаратуре
Источниками воспламенения являются:
1) искра при разряде статического электричества
2) искры от электрооборудования
3) искры от удара и трения
4) открытое пламя
При возникновении пожароопасной ситуации или пожара персонал должен немедленно принять необходимые меры для его ликвидации, одновременно оповестить о пожаре администрацию.
Помещения с электрооборудованием должны быть оснащены огнетушителями типа ОУ-2 или ОУБ-3.
Требования безопасности по окончании работы
После окончания работы необходимо обесточить все средства вычислительной техники и периферийное оборудование. В случае непрерывного производственного процесса необходимо оставить включенными только необходимое оборудование.
При пользовании средствами вычислительной техники и периферийным оборудованием каждый работник должен внимательно и осторожно обращаться с электропроводкой, приборами и аппаратами и всегда помнить, что пренебрежение правилами безопасности угрожает и здоровью, и жизни человека
ЗАКЛЮЧЕНИЕ
Электронный учебник необходим для самостоятельной работы учащихся при очном и, особенно, дистанционном обучении потому, что он:
- облегчает понимание изучаемого материала за счет иных, нежели в печатной учебной литературе, способов подачи материала: индуктивный подход, воздействие на слуховую и эмоциональную память и т.п.;
- допускает адаптацию в соответствии с потребностями учащегося, уровнем его подготовки, интеллектуальными возможностями и амбициями;
- освобождает от громоздких вычислений и преобразований, позволяя сосредоточиться на сути предмета, рассмотреть большее количество примеров и решить больше задач;
- предоставляет широчайшие возможности для самопроверки на всех этапах работы;
- дает возможность красиво и аккуратно оформить работу и сдать ее преподавателю в виде файла или распечатки;
- выполняет роль бесконечно терпеливого наставника, предоставляя практически неограниченное количество разъяснений, повторений, подсказок и проч.
- Учебник необходим студенту, поскольку без него он не может получить прочные и всесторонние знания и умения по данному предмету.
- Электронный учебник полезен на практических занятиях в специализированных аудиториях потому, что он:
- позволяет использовать компьютерную поддержку для решения большего количества задач, освобождает время для анализа полученных решений и их графической интерпретации;
- позволяет преподавателю проводить занятие в форме самостоятельной работы за компьютерами, оставляя за собой роль руководителя и консультанта;
- позволяет преподавателю с помощью компьютера быстро и эффективно контролировать знания учащихся, задавать содержание и уровень сложности контрольного мероприятия.
- Электронный учебник удобен для преподавателя потому, что он:
- позволяет выносить на лекции и практические занятия материл по собственному усмотрению, возможно, меньший по объему, но наиболее существенный по содержанию, оставляя для самостоятельной работы с ЭУ то, что оказалось вне рамок аудиторных занятий;
- освобождает от утомительной проверки домашних заданий, типовых расчетов и контрольных работ, передоверяя эту работу компьютеру;
- позволяет оптимизировать соотношение количества и содержания примеров и задач, рассматриваемых в аудитории и задаваемых на дом;
- позволяет индивидуализировать работу со студентами, особенно в части, касающейся домашних заданий и контрольных мероприятий.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Нормативная:
1. Государственный образовательный стандарт среднего профессионального образования. Государственные требования к минимуму содержания и уровню подготовки выпускников по специальности 230105 «Программное обеспечение ВТ и АС». М., 2002.
Основная:
1. Вендров, АМ, CASE-технологии. Современные методы и средства проектирования информационных систем / АМ. Вендров/ - М.: финансы и статистика, 1998. -- 176 с.: илл.
2. Данилин, А. Архитектура и стратегия. “Инь” и “янь' информационных технологий / А.Данилин, А. Слюсаренко. - М.: Интеренет-Ун-т-информ.
Технологий. - 2005. --504 с.
3. Информатика: Учебник. 3-е перераб. Изд. / Под ред. ПВ. Макаровой. - М.: Финансы и статистика, 2007. -- 768 с.: ил.
4. Кантор, М. Управление программными проектами. Практическое руководство по разработке успешного программного обеспечения / М. Кантор. - М.: Вильямс, 2002.
5. Котляров, В.П. Основы тестирования программного обеспечения Интернет-университет информационных технологий / ВП. Котляров. ИНТУИТ. ру, 2006.
6. Международный стандарт ЮО 9001-94. Системы качества. Модель обеспечения качества при проектировании, разработке, производстве, монтаже и обслуживании. - М.: ИПК, Изд. стандартов, 1996. - 19 с.
7. Проектирование информационных систем: курс лекций: учебное пособие для студентов ВУЗов 1 ВИ. Геркулов, Г.Н. Денищенко, ИЛ. Коровкина. - М.: Интеренет-Ун-т-информ. Технологий. 2005. - 304 с.
8. Скопин, ИН. Основы менеджмента программных проектов 1 ин. Скопив. - М.: Интеренет-Ун-т-информ. Технологий. 2004. - 336 с.
9. Терехов, А.Н. Технология программирования. Интернет-университет информационных технологий / А.н. Терехов. - М.: Интеренет-Ун-т-информ. Технологий, -2007.-- 152 с,
10. Фатрелл, Р. Управление программными проектами: достижение оптимального качества при минимуме затрат / Р, Фатрелл, Д. Шафер, Л. Шафер. - М.: Вильямс, 2003.
ПРИЛОЖЕНИЯ
Приложение А
Модуль «Учебник»
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw, ComCtrls, Menus;
type
TForm2 = class(TForm)
TreeView1: TTreeView;
WebBrowser1: TWebBrowser;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
procedure TreeView1DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure N8Click(Sender: TObject);
procedure N6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
ProgramPath:String;
implementation
uses Unit5;
{$R *.dfm}
// процедура отображения браузером файла html
procedure TForm2.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
WebBrowser1.Navigate('');
if node.StateIndex = 11 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok1.htm');
if node.StateIndex = 12 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok2.htm');
if node.StateIndex = 13 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok3.htm');
if node.StateIndex = 14 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok4.htm');
if node.StateIndex = 15 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok5.htm');
if node.StateIndex = 16 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok6.htm');
if node.StateIndex = 21 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok7.htm');
if node.StateIndex = 22 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok8.htm');
if node.StateIndex = 23 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok9.htm');
if node.StateIndex = 31 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok10.htm');
if node.StateIndex = 32 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok11.htm');
if node.StateIndex = 33 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok12.htm');
if node.StateIndex = 34 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok13.htm');
if node.StateIndex = 35 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok14.htm');
if node.StateIndex = 41 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok15.htm');
if node.StateIndex = 42 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok16.htm');
if node.StateIndex = 43 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok17.htm');
if node.StateIndex = 51 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok18.htm');
if node.StateIndex = 52 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok19.htm');
if node.StateIndex = 61 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok20.htm');
if node.StateIndex = 62 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok21.htm');
if node.StateIndex = 63 then
WebBrowser1.Navigate(ProgramPath+'уроки\urok22.htm');
if node.StateIndex = 71 then
WebBrowser1.Navigate(ProgramPath+'уроки\dos.htm');
if node.StateIndex = 72 then
WebBrowser1.Navigate(ProgramPath+'уроки\crt.htm');
if node.StateIndex = 73 then
WebBrowser1.Navigate(ProgramPath+'уроки\graph.htm');
if node.StateIndex = 74 then
WebBrowser1.Navigate(ProgramPath+'уроки\sreda_tp.htm');
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
ProgramPath:=ExtractFilePath(Application.ExeName);
end;
procedure TForm2.TreeView1DblClick(Sender: TObject);
begin
Form5.ShowModal;
end;
procedure TForm2.N8Click(Sender: TObject);
begin
ShowMessage('Эта программа предназначена для самостоятельного изучения студентами языка Pascal, учебник содержит примеры задач, тесты, а также теорию по языку Pascal. Удачного Вам обучения!');
end;
procedure TForm2.N6Click(Sender: TObject);
begin
close;
end;
end.
Приложение Б
Модуль: Тестовая программа
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, CheckLst, ComCtrls, ToolWin;
type
PQuestion=^TQuestion;
TQuestion=record
Name: String[255];
ResultCount:Integer;
ResiltText: array[0..10] of String[255];
ResiltValue: array[0..10] of boolean;
end;
TForm3 = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
QuestionLabel: TStaticText;
QuestionCheckList: TCheckListBox;
Button1: TButton;
OpenDialog1: TOpenDialog;
procedure FormShow(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
{ Private declarations }
QuestionList:TList;
Question, QuestionNumber, FalseNumber: Integer;
FileName: String;
procedure NextQuestion;
procedure LoadFile;
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.FormShow(Sender: TObject);
begin
QuestionList:=TList.Create;
end;
procedure TForm3.FormDestroy(Sender: TObject);
begin
QuestionList.Free;
end;
procedure TForm3.ToolButton1Click(Sender: TObject);
begin
//Показать окно открытия файла
if not OpenDialog1.Execute then exit;
FileName:=OpenDialog1.FileName;
ToolButton2.Enabled:=true;
end;
procedure TForm3.ToolButton2Click(Sender: TObject);
begin
LoadFile;
QuestionNumber:=0;
FalseNumber:=0;
Button1.Enabled:=true;
NextQuestion;
end;
procedure TForm3.LoadFile;
var
fs:TFileStream;
i, Count:Integer;
Str:String[5];
ProjectName:String[255];
NewQuest:PQuestion;
begin
QuestionList.Clear;
//Открыть файл для чтения
fs:=TFileStream.Create(FileName, fmOpenRead);
//Перейти в начало файла и прочитать заголовок
fs.Seek(0,soFromBeginning);
fs.read(Str, SizeOf(Str));
//Если заголовок равен тексу "Тест", значит это "вопрос-
//варианты ответов".
if Str='Тест' then
begin
//Прочитать имя проекта
fs.Read(ProjectName, sizeof(ProjectName));
Caption:=ProjectName;
try
//Прочитать количество вопросов
fs.Read(Count, sizeof(Count));
//Запустить цикл чтения вопросов
for i:=0 to Count-1 do
begin
//Создаю новую структуру в памяти для вопроса
NewQuest:=New(PQuestion);
//Читаю структуру
fs.Read(NewQuest^, sizeof(TQuestion));
//Добавляю структуру в контейнер
QuestionList.Add(NewQuest);
end;
finally
//Закрываю файл
fs.Free;
end;
end;
end;
procedure TForm3.NextQuestion;
var
i:Integer;
begin
Randomize;
Question:=Random(QuestionList.Count-1);
QuestionLabel.Caption:=PQuestion(QuestionList[Question]).Name;
QuestionCheckList.Items.Clear;
for i:=0 to PQuestion(QuestionList[Question]).ResultCount-1 do
QuestionCheckList.Items.Add(PQuestion(QuestionList[Question]).ResiltText[i]);
Inc(QuestionNumber);
end;
procedure TForm3.Button1Click(Sender: TObject);
var
OK:Boolean;
i:Integer;
begin
OK:=true;
for i:=0 to PQuestion(QuestionList[Question]).ResultCount-1 do
if PQuestion(QuestionList[Question]).ResiltValue[i]<>QuestionCheckList.Checked[i] then
OK:=false;
if OK=false then
Inc(FalseNumber);
QuestionList.Delete(Question);
if QuestionNumber<5 then
NextQuestion
else
begin
Application.MessageBox(PChar('Вы закончили тест с количеством ошибок = '+IntToStr(FalseNumber)), 'Внимание!!!');
Button1.Enabled:=false;
end;
end;
procedure TForm3.ToolButton3Click(Sender: TObject);
begin
close;
end;
end.
Приложение В
Модуль «Главное окно тестового редактора».
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, ToolWin, ImgList, ExtCtrls;
type
TTestEditorForm = class(TForm)
ImageList1: TImageList;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
SaveAsMenu: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
ControlBar1: TControlBar;
ToolBar1: TToolBar;
NewButton: TToolButton;
OpenButton: TToolButton;
SaveButton: TToolButton;
PrintButton: TToolButton;
ToolButton9: TToolButton;
OptionsButton: TToolButton;
ToolButton10: TToolButton;
HelpButton: TToolButton;
AboutButton: TToolButton;
ToolButton11: TToolButton;
ExitButton: TToolButton;
StatusBar: TStatusBar;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
procedure AboutButtonClick(Sender: TObject);
procedure ExitButtonClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure NewButtonClick(Sender: TObject);
procedure SaveButtonClick(Sender: TObject);
procedure SaveAsMenuClick(Sender: TObject);
procedure OpenButtonClick(Sender: TObject);
private
{ Private declarations }
procedure ShowHint(Sender: TObject);
procedure SaveTest1;
public
{ Public declarations }
end;
var
TestEditorForm: TTestEditorForm;
implementation
uses AboutUnit, NewTestWizardUnit, QuestionResultUnit;
{$R *.dfm}
procedure TTestEditorForm.AboutButtonClick(Sender: TObject);
begin
AboutForm.ShowModal;
end;
procedure TTestEditorForm.ExitButtonClick(Sender: TObject);
begin
Close;
end;
procedure TTestEditorForm.ShowHint(Sender: TObject);
begin
StatusBar.Panels.Items[0].Text := Application.Hint;
end;
procedure TTestEditorForm.FormShow(Sender: TObject);
begin
Application.OnHint := ShowHint;
end;
procedure TTestEditorForm.NewButtonClick(Sender: TObject);
begin
NewTestForm.ShowModal;
if NewTestForm.ModalResult<>mrOK then exit;
if NewTestForm.TestTypeBox.ItemIndex=0 then
begin
QuestionResultForm:=TQuestionResultForm.Create(Owner);
QuestionResultForm.ProjectName:=NewTestForm.TestNameEdit.Text;
QuestionResultForm.Caption:=QuestionResultForm.Caption+' : '+QuestionResultForm.ProjectName;
end;
end;
procedure TTestEditorForm.SaveButtonClick(Sender: TObject);
begin
//(нет активных окон), то выход
if ActiveMDIChild=nil then exit;
//Если окно имеет имя QuestionResultForm, то это
//вопрос-варианты ответов и вызываем для сохранения
//процедуру SaveTest1.
if ActiveMDIChild.Name='QuestionResultForm' then
SaveTest1;
end;
procedure TTestEditorForm.SaveTest1;
var
fs:TFileStream;
i:Integer;
Str:String[5];
begin
//Если у активного окна в свойстве FileName пусто,
//то нет имени файла и нужно вызвать обработчик события
//меню "Сохранить как...", чтобы появилось окно ввода
//имени файла
if TQuestionResultForm(ActiveMDIChild).FileName='' then
begin
SaveAsMenuClick(nil);
exit;
end;
//Создаю новый файл. Если он уже существовал, то его
//содержимое будет уничтожено
fs:=TFileStream.Create(TQuestionResultForm(ActiveMDIChild).FileName, fmCreate);
//Сохраняю в начале файла текст "Тест", чтобы по нему потом
//определить к чему относиться данный файл.
Str:='Тест';
fs.Write(Str, SizeOf(Str));
//Сохранить имя проекта
fs.Write(TQuestionResultForm(ActiveMDIChild).ProjectName, sizeof(TQuestionResultForm(ActiveMDIChild).ProjectName));
try
//Сохранить количество вопросов
fs.Write(TQuestionResultForm(ActiveMDIChild).QuestionList.Count, sizeof(TQuestionResultForm(ActiveMDIChild).QuestionList.Count));
//Запускаю цикл, в котором сохраняються все вопросы.
for i:=0 to TQuestionResultForm(ActiveMDIChild).QuestionList.Count-1 do
fs.Write(PQuestion(TQuestionResultForm(ActiveMDIChild).QuestionList[i])^, sizeof(TQuestion));
finally
//Закрыть файл
fs.Free;
end;
end;
procedure TTestEditorForm.SaveAsMenuClick(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
TQuestionResultForm(ActiveMDIChild).FileName:=SaveDialog1.FileName;
SaveButtonClick(nil);
end;
end;
procedure TTestEditorForm.OpenButtonClick(Sender: TObject);
var
fs:TFileStream;
i, Count:Integer;
Str:String[5];
NewQuest:PQuestion;
begin
//Показать окно открытия файла
if not OpenDialog1.Execute then exit;
//Открыть файл для чтения
fs:=TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
//Перейти в начало файла и прочитать заголовок
fs.Seek(0,soFromBeginning);
fs.read(Str, SizeOf(Str));
//Если заголовок равен тексу "Тест", значит это "вопрос-
//варианты ответов".
if Str='Тест' then
begin
//Создать новое окно теста
QuestionResultForm:=TQuestionResultForm.Create(Owner);
//Сохранить имя открытого файла в объекте окна
QuestionResultForm.FileName:=OpenDialog1.Filename;
//Прочитать имя проекта
fs.Read(QuestionResultForm.ProjectName, sizeof(QuestionResultForm.ProjectName));
try
//Прочитать количество вопросов
fs.Read(Count, sizeof(Count));
//Запустить цикл чтения вопросов
for i:=0 to Count-1 do
begin
//Создаю новую структуру в памяти для вопроса
NewQuest:=New(PQuestion);
//Читаю структуру
fs.Read(NewQuest^, sizeof(TQuestion));
//Добавляю структуру в контейнер
QuestionResultForm.QuestionList.Add(NewQuest);
//Создаю новый элемент в дереве
with QuestionResultForm.QuestionTreeView.Items.Add(nil, NewQuest.Name) do
begin
ImageIndex:=0;
Data:=NewQuest;
end;
end;
finally
//Закрываю файл
fs.Free;
end;
end;
end;
end.
Приложение Г
Модуль создания нового теста
unit NewTestWizardUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TNewTestForm = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Image1: TImage;
Bevel1: TBevel;
Label3: TLabel;
TestNameEdit: TEdit;
Button1: TButton;
Button2: TButton;
Label4: TLabel;
TestTypeBox: TComboBox;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
NewTestForm: TNewTestForm;
implementation
{$R *.dfm}
procedure TNewTestForm.FormShow(Sender: TObject);
begin
Image1.Picture.Bitmap.LoadFromFile(ExtractFilePath(Application.ExeName)+'logo.bmp');
end;
end.
Приложение Д
Модуль создания вопросов и ответов.
unit QuestionResultUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, ToolWin, ImgList;
type
PQuestion=^TQuestion;
TQuestion=record
Name: String[255];
ResultCount:Integer;
ResiltText: array[0..10] of String[255];
ResiltValue: array[0..10] of boolean;
end;
TQuestionResultForm = class(TForm)
QuestionTreeView: TTreeView;
ResultView: TListView;
Splitter1: TSplitter;
ToolBar1: TToolBar;
NewButton: TToolButton;
EditButton: TToolButton;
DeleteButton: TToolButton;
ToolButton4: TToolButton;
CloseButton: TToolButton;
ImageList1: TImageList;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CloseButtonClick(Sender: TObject);
procedure NewButtonClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure QuestionTreeViewChange(Sender: TObject; Node: TTreeNode);
procedure EditButtonClick(Sender: TObject);
procedure DeleteButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
ProjectName:String[255];
FileName:String;
QuestionList:TList;
end;
var
QuestionResultForm: TQuestionResultForm;
implementation
uses MainUnit, EditQuestionUnit;
{$R *.dfm}
procedure TQuestionResultForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
QuestionList.Free;
Action:=caFree;
QuestionResultForm:=nil;
end;
procedure TQuestionResultForm.CloseButtonClick(Sender: TObject);
begin
Close;
end;
procedure TQuestionResultForm.FormShow(Sender: TObject);
begin
QuestionList:=TList.Create;
end;
procedure TQuestionResultForm.NewButtonClick(Sender: TObject);
var
NewQuest:PQuestion;
i:Integer;
begin
EditQuestionForm.ResultListBox.Items.Clear;
EditQuestionForm.QuestionEdit.Text:='';
EditQuestionForm.ShowModal;
if EditQuestionForm.ModalResult<>mrOK then exit;
NewQuest:=New(PQuestion);
NewQuest.Name:=EditQuestionForm.QuestionEdit.Text;
NewQuest.ResultCount:=EditQuestionForm.ResultListBox.Items.Count;
for i:= 0 to NewQuest.ResultCount-1 do
begin
NewQuest.ResiltText[i]:=EditQuestionForm.ResultListBox.Items.Strings[i];
NewQuest.ResiltValue[i]:=EditQuestionForm.ResultListBox.Checked[i];
end;
QuestionList.Add(NewQuest);
with QuestionTreeView.Items.Add(nil, NewQuest.Name) do
begin
ImageIndex:=0;
Data:=NewQuest;
end;
end;
procedure TQuestionResultForm.QuestionTreeViewChange(Sender: TObject;
Node: TTreeNode);
var
i:Integer;
begin
ResultView.Items.Clear;
if Node=nil then exit;
for i:=0 to PQuestion(node.Data).ResultCount-1 do
with ResultView.Items.Add do
begin
Caption:=PQuestion(node.Data).ResiltText[i];
if PQuestion(node.Data).ResiltValue[i]=true then
begin
SubItems.Add('Да');
ImageIndex:=2;
end
else
begin
SubItems.Add('Нет');
ImageIndex:=1;
end;
end;
end;
procedure TQuestionResultForm.EditButtonClick(Sender: TObject);
var
i:Integer;
begin
if QuestionTreeView.Selected=nil then exit;
//Заполняю компонент QuestionEdit в окне редактирования вопросов
EditQuestionForm.QuestionEdit.Text:=PQuestion(QuestionTreeView.Selected.Data).Name;
//Очищаю список вариантов ответов в окне редактирования вопросов
EditQuestionForm.ResultListBox.Clear;
for i:=0 to PQuestion(QuestionTreeView.Selected.Data).ResultCount-1 do
begin
//Заполняю список вариантов ответов в окне редактирования вопросов
EditQuestionForm.ResultListBox.Items.Add(PQuestion(QuestionTreeView.Selected.Data).ResiltText[i]);
//Если ответ верный, то ставлю галочку
if PQuestion(QuestionTreeView.Selected.Data).ResiltValue[i]=true then
EditQuestionForm.ResultListBox.Checked[i]:=true;
end;
//Отображаю окно редактирования вопроса
EditQuestionForm.ShowModal;
if EditQuestionForm.ModalResult<>mrOK then exit;
PQuestion(QuestionTreeView.Selected.Data).Name:=EditQuestionForm.QuestionEdit.Text;
PQuestion(QuestionTreeView.Selected.Data).ResultCount:=EditQuestionForm.ResultListBox.Items.Count;
for i:= 0 to PQuestion(QuestionTreeView.Selected.Data).ResultCount-1 do
begin
PQuestion(QuestionTreeView.Selected.Data).ResiltText[i]:=EditQuestionForm.ResultListBox.Items.Strings[i];
PQuestion(QuestionTreeView.Selected.Data).ResiltValue[i]:=EditQuestionForm.ResultListBox.Checked[i];
end;
//Вызываю процедуру QuestionTreeViewChange, которая должна обновить
//информацию в ResultView. Первый параметр нас не интересует, а второй
//мы обязаны указать потому что внутри процедуры QuestionTreeViewChange
//мы используем его. Я указываю выделенный элемент.
QuestionTreeViewChange(nil, QuestionTreeView.Selected);
end;
procedure TQuestionResultForm.DeleteButtonClick(Sender: TObject);
var
index:Integer;
begin
if QuestionTreeView.Selected=nil then exit;
//Подтверждение удаления
if Application.MessageBox(PChar('Вы действительно хотите удалить - '+
QuestionTreeView.Selected.Text),'Внимание!!!', MB_OKCANCEL+MB_ICONINFORMATION)<>idOk then Exit;
//Сохраняю индекс выделенного элемента
index:=QuestionTreeView.Selected.Index;
//Удаляю выделенный элемент из дерева
QuestionTreeView.Items.Delete(QuestionTreeView.Selected);
//Удаляю из контейнера
QuestionList.Delete(Index);
end;
procedure TQuestionResultForm.FormCreate(Sender: TObject);
begin
FileName:='';
end;
end.
Приложение Е
Модуль редактирования теста
unit EditQuestionUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, CheckLst, Buttons;
type
TEditQuestionForm = class(TForm)
Panel1: TPanel;
image1: TImage;
Button1: TButton;
Button2: TButton;
ResultListBox: TCheckListBox;
Label1: TLabel;
QuestionEdit: TEdit;
Label3: TLabel;
NewResultButton: TSpeedButton;
SpeedButton1: TSpeedButton;
procedure FormShow(Sender: TObject);
procedure NewResultButtonClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
EditQuestionForm: TEditQuestionForm;
implementation
{$R *.dfm}
procedure TEditQuestionForm.FormShow(Sender: TObject);
begin
Image1.Picture.Bitmap.LoadFromFile(ExtractFilePath(Application.ExeName)+'logo.bmp');
end;
procedure TEditQuestionForm.NewResultButtonClick(Sender: TObject);
var
Str:String;
begin
Str:='';
if InputQuery('Новый ответ', 'Введите текст ответа:', Str) then
ResultListBox.Items.Add(Str);
end;
procedure TEditQuestionForm.SpeedButton1Click(Sender: TObject);
begin
if ResultListBox.ItemIndex<>-1 then
ResultListBox.Items.Delete(ResultListBox.ItemIndex);
end;
end.
Размещено на Allbest.ru
Подобные документы
Развитие и классификация языков программирования. Методические рекомендации по изучению языков программирования. Основные понятия объектно-ориентированного программирования. Создание электронного учебного пособия с помощью языка гипертекстовой разметки.
курсовая работа [331,1 K], добавлен 06.09.2011Изучение литературы по использованию гипертекста и мультимедиа в образовании. Анализ структуры и содержания образовательных программных средств. Обзор создания пособия на основе языка программирования Delphi с использованием гипертекстовых технологий.
дипломная работа [703,2 K], добавлен 10.03.2012Исследование значения современных информационных и мультимедийных технологий. Понятие и классификация электронных учебников. Характеристика особенностей представления и восприятия информации при самообучении. Проектирование электронного учебного пособия.
реферат [1,9 M], добавлен 29.12.2014Общие сведения об электронных учебниках. Понятие термина "дистанционное обучение". Традиционные алгоритмические языки. Средства мультимедиа. Использование гипертекстовой технологии. Разработка электронно-обучающего пособия "Pascal работа с циклами".
дипломная работа [2,4 M], добавлен 03.06.2010Borland Delphi 7 как универсальный инструмент разработки, применяемый во многих областях программирования, функции: добавление информации об абитуриентах в базу данных, формирование отчетов. Рассмотрение и характеристика основных компонентов Delphi.
контрольная работа [3,6 M], добавлен 18.10.2012Разработка пособия для специальности "Вычислительная техника и программное обеспечение", ее алгоритм. Технические характеристики и требования к интерфейсу. Минимальные требования программы. Описание процедуры создания и вывода информации в WebBrowser.
курсовая работа [3,4 M], добавлен 04.01.2016Выбор состава технических и программных средств для создания данного приложения "Экзаменатор", использование среды разработки Borland Delphi. Основные компоненты и спецификация программы. Используемые технические средства, описание и запуск программы.
курсовая работа [540,8 K], добавлен 18.07.2012Рассмотрение понятия, принципов построения (гиперактивность, мультимедийность), структуры, особенностей подготовки и реализации электронного учебного пособия. Подбор наглядного и справочного материала и их связь с текстом при помощи гиперссылок.
курсовая работа [49,1 K], добавлен 18.06.2010Интернет-технологии в образовании, основные аспекты и принципы их применения на современном этапе. Этапы создания электронного пособия, его внутренняя структура, предъявляемые требования и технологическое обеспечение. Листинг разработанного кода.
дипломная работа [1,4 M], добавлен 03.01.2014Создание одной из форм обучения с использованием средств новых информационных технологий - электронного учебника. Администрирование электронного учебного пособия на тему "Линейное программирование". Проектирование структуры электронного учебника.
курсовая работа [1,7 M], добавлен 09.06.2010