Создание электронного учебного пособия


Тема: Создание электронного учебного пособия «Разработке программ модульной структуры».

Оглавление
TOC \o "1-3" \h \z \u Введение PAGEREF _Toc436200979 \h 31.Электронное учебное пособие PAGEREF _Toc436200980 \h 62. Модульные структуры PAGEREF _Toc436200981 \h 152.1. Элементы структурного программирования PAGEREF _Toc436200982 \h 152.2.Программно-модульные структуры PAGEREF _Toc436200983 \h 192.3.Методы разработки программ модульной структуры PAGEREF _Toc436200984 \h 223. Разработка электронного пособия PAGEREF _Toc436200985 \h 294. Аппробация PAGEREF _Toc436200986 \h 39Заключение PAGEREF _Toc436200987 \h 39Литература PAGEREF _Toc436200988 \h 40

Введение 
Стратегическая задача развития образования в настоящее время, согласно Федеральному государственному образовательному стандарту, заключается в обновлении его содержания, методов обучения и достижения на этой основе нового качества его результатов. Все педагогические средства должны быть ориентированы на расширение возможностей обучения, учета особенностей и интересов обучаемого. Одним из таких средств в настоящее время служит электронное учебное пособие - учебное электронное издание, созданное на высоком научно - методическом и техническом уровне, частично или полностью заменяющее или дополняющее электронный учебник.
Электронное учебное пособие и работа с ним должны помогать, содействовать формированию всех сфер личности: интеллектуальной, мотивационной, эмоциональной, волевой, саморегуляции. Педагогические программные средства позволяют обеспечить практически мгновенную обратную связь; быстро найти необходимую информацию; существенно сэкономить время при многократных обращениях к гипертекстовым объяснениям; наряду с кратким текстом - показать, рассказать, смоделировать реальные процессы и явления; быстро, но в темпе, наиболее подходящем для конкретного индивидуума, проверить знания по определенному разделу. Использование электронных обучающих программ играет важную роль в процессе обучения как в системе высшего, так и среднего специального и профессионального образования.
Курс «Разработка программ модульной структуры» является разделом предмета «Технологии программирования» и предназначен для изучения вопросов по основам технологии программирования, модульному программированию, позволяет приобрести умения и навыки структурного программирования.
Существует большое количество программных средств, позволяющих реализовать особенности электронных учебных пособий, одним из наиболее популярных является среда объектно-ориентированного программирования Delphi, реализующая современные методы разработки программ.
Анализ научно-педагогической литературы и разработок электронных обучающих программ позволяет сделать вывод о том, что использование средств информационных технологий в системе профессионального образования является актуальным, что и определило выбор темы нашего исследования.
Цель исследования: разработка электронного учебного пособия по курсу "Разработка программ модульной структуры".
Объектом исследования является процесс создания электронного учебного пособия.
Предметом исследования является электронное учебное пособие "Разработка программ модульной структуры".
Задачи исследования:
Провести анализ учебной литературы по курсу "Разработка программ модульной структуры".
Проанализировать психолого-педагогические основы создания и использования обучающих программ в образовательном процессе.
Изучить возможности среды объектно-ориентированного программирования Delphi для создания электронных учебников.
Разработать и апробировать электронное учебное пособие «Разработка программ модульной структуры».
В процессе исследования применялись следующие методы: теоретический анализ литературы по проблемам исследования основных характеристик выпускной работы; обобщение педагогического и программно-технического опыта, статистическая обработка данных, сравнительный эксперимент.
Научная новизна исследования состоит в реализации электронного учебного пособия по курсу "Разработка программ модульной структуры", включающего в себя теоретические сведения по курсу, образцы выполнения лабораторных работ и варианты заданий лабораторных работ.
Практическая значимость исследования заключается в разработке и апробации электронного пособия по курсу "Разработка программ модульной структуры", которая может быть использована студентами высшего профессионального образования, как для самостоятельного изучения так и для обучения с преподавателем.
Последовательность решения основных задач исследования определили структуру выпускной квалификационной работы. Работа состоит из введения, четырех параграфов, заключения, содержит список литературы.

Электронное учебное пособиеВ основе федеральных государственных образовательных стандартов лежит системно – деятельностный подход, обеспечивающий активную учебно– познавательную деятельность обучающихся, формирование готовности к развитию и непрерывному образованию. Реализация такого подхода возможна, если ученик является центральным звеном образовательного процесса и все педагогические средства ориентированы именно на расширение и учет его индивидуальных возможностей и способностей в плане обучения. Образовательная деятельность должна помогать и содействовать в формировании всех сфер личности обучаемого: интеллектуальной, волевой, мотивационной, эмоциональной.
Развитие вычислительной техники и методик ее использования создает новые возможности как для образовательной системы в целом, так и для каждого отдельного учителя и ученика. Педагогические средства, использующие возрастающий потенциал вычислительной техники, позволяют видоизменить процесс обучения, активизируют роль ученика с учетом его особенностей, интересов, подготовке к жизни в мире, который стремительно меняется. Педагогические программные средства создают новые возможности для представления содержания образования и контроля эффективности процесса обучения в электронном виде.
В настоящее время существует несколько устоявшихся и общепризнанных понятий, характеризующих педагогические средства, использующие возможности вычислительной техники: электронный учебник, электронное учебное пособие, педагогическое программное средство, электронное учебное издание.
Основным стандартом, контролирующем электронные издания, является ГОСТ 7.83-2001 [1], в котором определены основные виды электронных изданий, их состав, место расположения выходных сведений в электронных изданиях. Данный международный стандарт упорядочивает электронные издания с точки зрения их библиотечной и каталожной классификации, что важно для производителей электронных учебных средств.
Рассмотрим основные определения учебных электронных изданий.
Электронный учебник – это комплекс информационных, графических, методических и программных средств автоматизированного обучения по конкретной дисциплине, обеспечивающий возможность самостоятельного или при участии преподавателя освоения учебного курса или его большого раздела именно с помощью компьютера [2].
Обычно электронный учебник состоит из трех компонент:
- презентационная составляющая - представляет собой информационную часть учебника, отвечает за информативность курса;
- упражнения – реализуют закрепление полученных знаний;
- тесты – позволяют проводить объективную оценку знаний учащегося как по отдельной теме, так и по всему курсу.
Педагогические программные средства (ППС) – это программные средства, в которых отражается некоторая предметная область, в той или иной мере реализуется технология ее изучения, обеспечиваются условия для осуществления различных видов учебной деятельности [2].
Электронное учебное пособие - учебное электронное издание, созданное на высоком научно - методическом и техническом уровне, частично или полностью заменяющее или дополняющее электронный учебник [3].
Содержание электронного учебного пособия должно соответствовать ФГОС, требованиям и содержанию программы образовательной дисциплины. Электронные учебные пособия могут быть использованы в учебно-воспитательном процессе, при подготовке, переподготовке и повышении квалификации специалистов, в целях развития личности обучаемого, интенсификации процесса обучения.
Рассмотрим основные преимущества электронных учебных пособий по сравнению с традиционными учебниками. Электронное пособие в учебном процессе особенно эффективно в тех случаях, если пособие:
Обеспечивает практически мгновенную обратную связь - свойство интерактивности. Интерактивное взаимодействие между учеником и элементами учебного пособия реализуется посредством адаптации интерфейса пользователя под индивидуальные запросы обучаемого; использования гиперссылок, фреймовой структуры пособия; всплывающих окон; личном участии обучаемого в моделировании изучаемых процессов; тестировании и т.д.
Использует простой и удобный механизм навигации по электронному пособию. Гиперссылки, фреймовые структуры и карты-изображения позволяют быстро перейти к нужному разделу или фрагменту и при необходимости так же быстро возвратиться обратно. Пользователю не нужно запоминать страницы, на которых был расположен изучаемый материал.
Помогает быстро найти необходимую информацию, поиск которой в обычном учебнике затруднен. Важен правильно организованный механизм поиска как в пределах электронного пособия, так и вне его. Например, по гипертекстовым ссылкам можно перемещаться по тексту пособия, просматривать рисунки, обращаться к другим изданиям, ссылки на которые в нем имеются (литература и т.д.), написать электронное письмо автору пособия.
Экономит время при многократных обращениях к гипертекстовым объяснениям, адаптирует изучаемый материал к уровню знаний учащегося, что способствует улучшению восприятия и запоминанию информации. Адаптация основана на использовании слоистой структуры пособия.
Использует возможности и преимущества мультимедийных технологий. Дополнительные (по сравнению с печатным изданием) средства воздействия на обучаемого позволяют быстрее осваивать и лучше запоминать учебный материал. К таким возможностям относят: использование анимационных моделей, звуковое сопровождения, соответствующее лекторскому тексту и т.д.
Позволяет быстро, но в индивидуальном темпе проверить знания по определенной теме, разделу, всему курсу. Использование слоистой структуры пособия дает возможность встроенного автоматизированного контроля уровня знаний обучаемого, соответствующего уровню его знаний.
Может обновить необходимую учебную информацию, например, с помощью сети Интернет.
Однако, кроме рассмотренных преимуществ, электронное пособие имеет и недостатки. Для использования такого пособия необходимо наличие дополнительного специального оборудования - компьютера с соответствующим программным и аппаратным обеспечением. Работе за монитором присуще повышенная утомляемость, поэтому необходимо дозировать время, отведенное работе с электронным пособием.
Рассмотрим процесс создания электронных учебных пособий. При разработке электронного учебного пособия в первую очередь необходимо провести структурирование информации для того, чтобы предоставить максимально возможный объем информации в минимальном (оптимальном) виде. Т.е., требование лаконичности – это одно из исходных требований при построении обучающих программ. Компьютер позволяет получать не только статическую информацию, а наглядные динамические модели. Интерактивность обучающей программы, формы и способы осуществления диалога в ней так же играют решающую роль в ее эффективности. При этом необходимо, по возможности, учитывать и психологические особенности обучающихся: лицам с образным типом памяти больше подходит наглядно-образная подача материала с элементами игровой формы, а лицам с мыслительным типом – больше самостоятельная работа с материалом, отработка различных умений и аналитические виды заданий.
Проблема подачи учебного материала рассматривается в двух аспектах:
Скорость подачи учебного материала: если скорость входной информации превосходит возможности человека по ее восприятию происходит перегрузка обучаемого том, что приводит к увеличению потери информации. Однако умеренное повышения темпа обучения мобилизирует внутренние ресурсы человека, приводит в действие целый ряд механизмов, направленных на преодоление возникших трудностей.
При недостаточности информации эффективность деятельности человека также снижается, как и при избыточности.
Таким образом, создавая обучающие программы нужно ориентироваться на некоторую оптимальную скорость передачи информации, исключающую монотонность и «бедность» внешних воздействий, вследствие которых у учащегося развиваются явления, сходные с утомлением (увеличивается количество ошибок, снижается эмоциональный тонус, развивается сонливость).
Исследователи выделяют следующие общие требования к структуре и содержанию учебного материала:
оптимальная скорость и краткость изложения,
максимальная информативность текста;
2. использование слов и сокращений, знакомых и понятных обучаемым;
3. отсутствие нагроможденности, четкий порядок во всем и тщательная сгруппированность (структурирование) информации;
4. наличие кратких и «ёмких» заголовков, маркированных и нумерованных списков, текст которых легко просматривается;
5. вся наиболее важная информация должна помещаться в верхнем левом углу экрана и быть доступной без скроллинга;
6. каждому положению или идее должен быть отведен отдельный абзац текста;
7. основная идея абзаца должна находиться в самом начале - в первой строке;
8. использование табличного формата предъявления материала, таблицы позволяют представить материал в компактной форме и наглядно показывают связи между различными понятиями; таблица должна помещаться на один экран без скроллинга; большие таблицы рекомендуется разбивать на несколько более мелких;
9. графика должна органично дополнять текст: образное мышление доминирует над словесно-логическим в тех случаях, когда преобразование зрительных сообщений в речевую форму слишком громоздко, а обобщения результатов не требуется, т.е. графика используется в первую очередь при оперировании сложными образами – объемные формы, цветовые композиции и т.д.;
10. звуковая информация должна использоваться для дополнения. Исследования показывают, что эффективность слухового восприятия информации составляет 15%, зрительного – 25%, а их одновременное включение в процесс обучения повышает эффективность восприятия до 65%.
Эффективность ориентации в учебном материале во многом зависит от того, насколько хорошо организована система оглавления, указателей и ссылок.
Выделяют следующие требования к организации систем поиска, навигации и гиперссылок:
1. в программу обязательно должно быть включены необходимые пользователю функции поиска – правильно расставленные метки с ключевыми словами и элементами содержания;
2. в каждой программе должен быть ключевой экран, на котором должна быть представлена схема, отображающая основные этапы обучения. С помощью нее обучающийся должен иметь возможность распознавать стадию собственного обучения;
3. гиперссылки должны содержать подробную информацию о том, куда они ведут и четко просматриваться;
4. рекомендуется использование подробных оглавлений, как правило, в стиле «перевернутой пирамиды»;
5. текст должен, по возможности, помещаться на 1-2 экрана. Если раздел нельзя разбить и он занимает больше 4-5 экранов, то вначале следует сделать список подразделов (меток) и от них организовать локальные ссылки в пределах раздела;
6. в конце каждого раздела должны быть следующие кнопки: возврат на начало, переход к оглавлению и переход к следующему разделу;
7. необходимо использовать пояснения к картинкам или фотографиям, которые бы повторяли загрузку изображений;
8. если навигационная панель выполнена графическими средствами, то рекомендуется ниже данной панели помещать ее текстовую копию;
9. следует исключить выделение текста подчеркиванием (кроме гиперссылок);
10. должна просматриваться четкая логическая структура каждого последующего шага цепочки гиперссылок;
11. необходимо помнить, что обучаемые отдают предпочтение более структурированным методам обучения, при которых они могут либо последовательно проходить по-своему учебный материал или осуществлять поиск в иерархической системе меню.
При разработке электронных учебных средств так же важно учитывать физиологические особенности восприятия цветов и форм обучающимися. Восприятие предмета в целом формируется на основе совместной деятельности ряда анализаторов человека, причем установлено, что существует определенная последовательность восприятия различных признаков сигнала. Например, в первую очередь, различается положение и яркость сигнала, затем его цвет и только после этого форма. Ощущения различных цветов может вызывать различные эмоции человека; возбуждать или успокаивать и т.д., поэтому при проектировании электронных обучающих программ рекомендуется учитывать следующие особенности восприятия цветов и форм:
стимулирующие (теплые) цвета способствуют возбуждению и действуют как раздражители, холодные цвета успокаивают;
сочетание двух цветов – переднего плана (или цвета знака) и фона, существенно влияет на зрительный комфорт;
составление цветовой гаммы обучающей программы начинается с выбора трех главных функциональных цветов: представление обычного текста, гиперссылок и посещенных ссылок;
цветовая схема должна быть одинаковой на протяжении всей программы;
при выборе шрифтов следует учитывать, что прописные буквы воспринимаются тяжелее, чем строчные; цифры лучше воспринимаются тогда, когда они образованы прямыми линиями; отношение толщины шрифта к высоте ориентировочно составляет 1:5; отношение размера шрифта к промежутку между буквами 1:0,375 до 0, 75;
буквы русского алфавита наиболее легко воспринимаются при следующей последовательности шрифтов: академический, стандартный, романский;
любой фоновый рисунок повышает утомляемость глаз обучаемого и снижает эффективность восприятия материала;
большое влияние на подсознание человека оказывает мультипликация: четкие, яркие быстро сменяющиеся картинки легко запоминаются подсознанием, причем, чем короче воздействие, тем оно сильнее;
любой движущийся объект понижает восприятие материала, оказывая отвлекающее воздействие и нарушая динамику внимания;
включение в качестве фонового сопровождения песен и мелодий приводит к быстрой утомляемости обучаемого;
интенсивность визуальных и звуковых сигналов должна соответствовать средним значениям диапазона чувствительности.
В настоящее время нет единой классификации электронных обучающих программ, существует множество различных подходов к их систематизации. В зависимости от методических целей выделяют следующие типы:
Обучающие программы: автоматизированные учебные курсы и компьютерные (электронные) учебники, программы-тренажеры, программы искусственного интеллекта, компьютерные справочники и энциклопедии.
Контролирующие и наставнические программы: контролирующие программы предназначены для проверки уровня знаний и умений; тестирующие программы позволяют определить параметры или характеристики обучаемого после ответа на определенную последовательность вопросов; наставнические программы, направленные, в основном, на усвоение новых понятий в форме диалога[20].
Демонстрационные и информационно-справочные программы: демонстрационные программы предназначены для наглядной демонстрации учебного материала описательного характера; информационно-справочные программы - для вывода необходимой информации.
Имитационные программы и программы для проблемного обучения: имитационные и моделирующие программы предназначены для "симуляции" объектов и явлений; программы для проблемного обучения построены на идеях и принципах когнитивной психологии, в них осуществляется непрямое управление деятельностью учащихся- предъявляются разнообразные задачи и учащиеся побуждаются решать их путем проб и ошибок.
Интегрированные системы, прикладные программы и учебные игры: интегрированные системы являются программными комплексами, состоящими из нескольких типов компьютерных учебных программ; прикладные программы учебного назначения - редакторы, базы данных и файловые системы, электронные динамические системы; учебные игры создают среду, облегчающую усвоение обучаемым знаний и приобретение ими умений и навыков.
Таким образом, в настоящее время задача создания электронных учебных пособий достаточно актуальна, возможности, предоставляемые электронными учебными пособиями, показывают, что они обладают принципиально новыми качествами по сравнению с традиционными учебниками, объединяя в себе преимущества компьютерных и педагогических технологии.
2. Модульные структуры2.1. Элементы структурного программированияСтруктурное программирование - это программирование, технология которого предполагает использование суперпозиции трех базовых алгоритмических структур: линейной, разветвленной и циклической.
Создателем структурного подхода к программированию считается Э. Дейкстра. Фактически это первый законченный метод программирования, предлагающий путь от задачи до ее воплощения в программе. Этот метод применялся очень широко в практическом программировании и по сей день не потерял своего значения для определенного класса задач.
Структурный подход базируется на двух основополагающих принципах: первый - это использование процедурного стиля программирования, второй – это последовательная декомпозиция алгоритма задачи сверху вниз.
Для облегчения понимания программы Дейкстра предложил строить ее как композицию из нескольких типов управляющих конструкций (структур), которые позволяют сильно повысить понимаемость логики работы программы.
Структурный подход к программированию заключается в обязательном предварительном составлении структурированных алгоритмов с записью их на псевдокоде. Простота чтения, понимания и исправления структурированных описаний позволяет существенно уменьшить количество ошибок в алгоритмах и программах и сократить время их отладки на ЭВМ.
При структурном подходе к составлению алгоритмов и программ используются три основных правила композиции:
1) альтернативный выбор;
2) циклический повтор;
3) вспомогательные алгоритмы (подпрограммы).
Структурированными считаются алгоритмы и программы составленными с использованием указанных трех правил структурной композиции. Неструктурированными считаются алгоритмы и программы, в которых используются операторы goto ... или отсутствует ступенчатая запись циклов и альтернатив.
Рассмотрим основные конструкции структурного программирования.
Следованием называется конструкция, представляющая собой последовательное выполнение двух или более операторов (рис.1).

Рис.1. Конструкция «Следование»
Ветвление задает выполнение либо одного, либо другого оператора в зависимости от выполнения какого-либо условия (рис. 2).

Рис.2. Конструкция «Полное ветвление»
Условие - логическое выражение, которое может принять одно из двух значений – истина или ложь; условия могут быть простыми (с использованием операций отношения >, <, =, <>, <=, >=) или сложными (с использованием логических операций; Оператор 1 и Оператор 2 - простые или составные операторы. Оператор 1 будет исполнен в случае, когда условие истинно. Оператор 2 - если условие ложно. Одновременно Оператор 1 и Оператор 2 выполнены быть не могут.
Ветвление в сокращенной форме может быть представлено в виде блок-схемы на рис. 3.

Рис.3. Конструкция «Неполное ветвление»
Циклом называется многократное повторение некоторого набора действий. Эти повторяющиеся действия называются телом цикла. Программа, содержащая цикл, называется циклической.
Цикл с предусловием. Компьютер сначала проверяет условие. Если оно истинно, будет выполнено тело цикла, и произойдет переход снова на проверку условия. То есть, пока условие истинно, будет выполняться тело цикла. Таким образом, условие является в данном операторе условием выполнения цикла. Цикл с предусловием представлен блок-схемой на рис. 4.

Рис.4. Конструкция «Цикл с предусловием»
Тело цикла может выполняться бесконечно (условие всегда истинно), может не выполниться ни разу (условие сразу ложно).
Цикл с постусловием. Компьютер сначала выполняет тело цикла, затем проверяет условие. Если оно ложно, будет вновь выполнено тело цикла, и так до тех пор, пока условие не станет истинным. Таким образом, условие в данном операторе является условием окончания цикла. Цикл с постусловием представлен блок-схемой на рис. 5.

Рис.5. Конструкция «Цикл с постусловием»
Тело цикла всегда выполнится хотя бы один раз, может выполняться бесконечно (если условие всегда ложно).
Особенностью базовых конструкций является то, что любая из них имеет только один вход и один выход, поэтому конструкции могут вкладываться друг в друга произвольным образом, например, цикл может содержать следование из двух ветвлений, каждое из которых включает вложенные циклы.
Структурное программирование ясно определило значение модульного построения программ при разработке больших проектов, но в языках программирования единственным способом структуризации программы оставалось составление ее из подпрограмм и функций. 
2.2.Программно-модульные структуры 
Приступая к разработке каждой программы, следует иметь в виду, что она, как правило, является большой системой, поэтому необходимо принять меры для ее упрощения. Для этого такую программу разрабатывают по частям, которые называются программными модулями. А сам такой метод разработки программ называют модульным программированием.
Программный модуль это любой фрагмент описания процесса, оформляемый как самостоятельный программный продукт, пригодный для использования в описаниях процесса. Это означает, что каждый программный модуль программируется, компилируется и отлаживается отдельно от других модулей программы, и тем самым, физически разделен с другими модулями программы. Каждый разработанный программный модуль может включаться в состав разных программ, если выполнены условия его использования, декларированные в документации по этому модулю. Таким образом, программный модуль может рассматриваться и как средство борьбы со сложностью программ, и как средство борьбы с дублированием в программировании (т.е. как средство накопления и многократного использования программистских знаний).
Модульное программирование является воплощением в процессе разработки программ обоих общих методов борьбы со сложностью: и обеспечение независимости компонент системы, и использование иерархических структур. Для воплощения первого метода формулируются определенные требования, которым должен удовлетворять программный модуль, т.е. выявляются основные характеристики «хорошего» программного модуля. Для воплощения второго метода используют древовидные модульные структуры программ (включая деревья со сросшимися ветвями).
Не всякий программный модуль способствует упрощению программы. Для оценки приемлемости выделенного модуля используются некоторые критерии. Так, исследователями предлагаются два общих критерия:
хороший модуль снаружи проще, чем внутри;
хороший модуль проще использовать, чем построить.
Майерс предлагает для оценки приемлемости программного модуля использовать более конструктивные его характеристики:
размер модуля,
прочность модуля,
сцепление с другими модулями,
рутинность модуля (независимость от предыстории обращений к нему).
Размер модуля измеряется числом содержащихся в нем операторов или строк. Модуль не должен быть слишком маленьким или слишком большим. Маленькие модули приводят к громоздкой модульной структуре программы и могут не окупать накладных расходов, связанных с их оформлением. Большие модули неудобны для изучения и изменений, они могут существенно увеличить суммарное время повторных трансляций программы при отладке программы. Обычно рекомендуются программные модули размером от нескольких десятков до нескольких сотен операторов.
Прочность модуля это мера его внутренних связей. Чем выше прочность модуля, тем больше связей он может спрятать от внешней по отношению к нему части программы и, следовательно, тем больший вклад в упрощение программы он может внести.
Функционально прочный модуль это модуль, выполняющий (реализующий) одну какую-либо определенную функцию. При реализации этой функции такой модуль может использовать и другие модули. Такой класс программных модулей рекомендуется для использования.
Информационно прочный модуль это модуль, выполняющий (реализующий) несколько операций (функций) над одной и той же структурой данных (информационным объектом), которая считается неизвестной вне этого модуля. Для каждой из этих операций в таком модуле имеется свой вход со своей формой обращения к нему. Такой класс следует рассматривать как класс программных модулей с высшей степенью прочности. Информационно прочный модуль может реализовывать, например, абстрактный тип данных.
Сцепление модуля это мера его зависимости по данным от других модулей. Характеризуется способом передачи данных. Чем слабее сцепление модуля с другими модулями, тем сильнее его независимость от других модулей. Для оценки степени сцепления Майерс предлагает упорядоченный набор из шести видов сцепления модулей. Худшим видом сцепления модулей является сцепление по содержимому. Таким является сцепление двух модулей, когда один из них имеет прямые ссылки на содержимое другого модуля (например, на константу, содержащуюся в другом модуле). Такое сцепление модулей недопустимо. Не рекомендуется использовать также сцепление по общей области это такое сцепление модулей, когда несколько модулей используют одну и ту же область памяти. Единственным видом сцепления модулей, который рекомендуется для использования современной технологией программирования, является параметрическое сцепление (сцепление по данным) это случай, когда данные передаются модулю либо при обращении к нему как значения его параметров, либо как результат его обращения к другому модулю для вычисления некоторой функции. Такой вид сцепления модулей реализуется на языках программирования при использовании обращений к процедурам (функциям).
Рутинность модуля это его независимость от предыстории обращений к нему. Модуль будем называть рутинным, если результат (эффект) обращения к нему зависит только от значений его параметров (и не зависит от предыстории обращений к нему). Модуль будем называть зависящим от предыстории, если результат (эффект) обращения к нему зависит от внутреннего состояния этого модуля, изменяемого в результате предыдущих обращений к нему. Майерс не рекомендует использовать зависящие от предыстории (непредсказуемые) модули, так как они провоцируют появление в программах хитрых (неуловимых) ошибок. Однако такая рекомендация является неконструктивной, так как во многих случаях именно зависящий от предыстории модуль является лучшей реализаций информационно прочного модуля. Поэтому более приемлема следующая рекомендация:
всегда следует использовать рутинный модуль, если это не приводит к плохим (не рекомендуемым) сцеплениям модулей;
зависящие от предыстории модули следует использовать только в случае, когда это необходимо для обеспечения параметрического сцепления;
в спецификации зависящего от предыстории модуля должна быть четко сформулирована эта зависимость таким образом, чтобы было возможно прогнозировать поведение (эффект выполнения) данного модуля при разных последующих обращениях к нему.
Методы разработки программ модульной структуры 
В качестве модульной структуры программы принято использовать древовидную структуру, включая деревья со сросшимися ветвями. В узлах такого дерева размещаются программные модули, а направленные дуги (стрелки) показывают статическую подчиненность модулей, т.е. каждая дуга показывает, что в тексте модуля, из которого она исходит, имеется ссылка на модуль, в который она входит. Другими словами, каждый модуль может обращаться к подчиненным ему модулям, т.е. выражается через эти модули. При этом модульная структура программы, в конечном счете, должна включать и совокупность спецификаций модулей, образующих эту программу. Спецификация программного модуля содержит:
синтаксическую спецификацию его входов, позволяющую построить на используемом языке программирования синтаксически правильное обращение к нему (к любому его входу),
функциональную спецификацию модуля (описание семантики функций, выполняемых этим модулем по каждому из его входов).
Функциональная спецификация модуля строится так же, как и функциональная спецификация программного средства.
В процессе разработки программы ее модульная структура может по-разному формироваться и использоваться для определения порядка программирования и отладки модулей, указанных в этой структуре. Поэтому говорят о разных методах разработки структуры программы. Обычно в литературе обсуждаются два метода: метод восходящей разработки и метод нисходящей разработки.
Метод восходящей разработки заключается в следующем. Сначала строится модульная структура программы в виде дерева. Затем поочередно программируются модули программы, начиная с модулей самого нижнего уровня (листья дерева модульной структуры программы), в таком порядке, чтобы для каждого программируемого модуля были уже запрограммированы все модули, к которым он может обращаться. После того, как все модули программы запрограммированы, производится их поочередное тестирование и отладка в принципе в таком же (восходящем) порядке, в каком велось их программирование.
Однако, современная технология не рекомендует такой порядок разработки программы. Во-первых, для программирования какого-либо модуля совсем не требуется наличия текстов используемых им модулей для этого достаточно, чтобы каждый используемый модуль был лишь специфицирован, а для тестирования его возможно используемые модули заменять их имитаторами (заглушками). Во-вторых, каждая программа в какой-то степени подчиняется некоторым внутренним для нее, но глобальным для ее модулей соображениям (принципам реализации, предположениям, структурам данных и т.п.), что определяет ее концептуальную целостность и формируется в процессе ее разработки. При восходящей разработке эта глобальная информация для модулей нижних уровней еще не ясна в полном объеме, поэтому очень часто приходится их перепрограммировать, когда при программировании других модулей производится существенное уточнение этой глобальной информации (например, изменяется глобальная структура данных). В-третьих, при восходящем тестировании для каждого модуля (кроме головного) приходится создавать ведущую программу (модуль), которая должна подготовить для тестируемого модуля необходимое состояние информационной среды и произвести требуемое обращение к нему. Это приводит к большому объему «отладочного» программирования и в то же время не дает никакой гарантии, что тестирование модулей производилось именно в тех условиях, в которых они будут выполняться в рабочей программе.
Метод нисходящей разработки заключается в следующем. Сначала строится модульная структура программы в виде дерева. Затем поочередно программируются модули программы, начиная с модуля самого верхнего уровня (головного), переходя к программированию какого-либо другого модуля только в том случае, если уже запрограммирован модуль, который к нему обращается. После того, как все модули программы запрограммированы, производится их поочередное тестирование и отладка в таком же (нисходящем) порядке. При этом первым тестируется головной модуль программы, который представляет всю тестируемую программу и поэтому тестируется при «естественном» состоянии информационной среды, при котором начинает выполняться эта программа. При этом те модули, к которым может обращаться головной, заменяются их имитаторами (так называемыми заглушками). Каждый имитатор модуля представляется весьма простым программным фрагментом, который, в основном, сигнализирует о самом факте обращения к имитируемому модулю, производит необходимую для правильной работы программы обработку значений его входных параметров (иногда с их распечаткой) и выдает, если это необходимо, заранее запасенный подходящий результат. После завершения тестирования и отладки головного и любого последующего модуля производится переход к тестированию одного из модулей, которые в данный момент представлены имитаторами, если таковые имеются. Для этого имитатор выбранного для тестирования модуля заменяется самим этим модулем и, кроме того, добавляются имитаторы тех модулей, к которым может обращаться выбранный для тестирования модуль. При этом каждый такой модуль будет тестироваться при «естественных» состояниях информационной среды, возникающих к моменту обращения к этому модулю при выполнении тестируемой программы. Таким образом, большой объем «отладочного» программирования при восходящем тестировании заменяется программированием достаточно простых имитаторов используемых в программе модулей. Кроме того, имитаторы удобно использовать для того, чтобы подыгрывать процессу подбора тестов путем задания нужных результатов, выдаваемых имитаторами. При таком порядке разработки программы вся необходимая глобальная информация формируется своевременно, т.е. ликвидируется весьма неприятный источник просчетов при программировании модулей. Некоторым недостатком нисходящей разработки, приводящим к определенным затруднениям при ее применении, является необходимость абстрагироваться от базовых возможностей используемого языка программирования, выдумывая абстрактные операции, которые позже нужно будет реализовать с помощью выделенных в программе модулей. Однако способность к таким абстракциям представляется необходимым условием разработки больших программных средств, поэтому ее нужно развивать.
Особенностью рассмотренных методов восходящей и нисходящей разработок является требование, чтобы модульная структура программы была разработана до начала программирования (кодирования) модулей.
Конструктивный подход к разработке программы представляет собой модификацию нисходящей разработки, при которой модульная древовидная структура программы формируется в процессе программирования модулей. Разработка программы при конструктивном подходе начинается с программирования головного модуля, исходя из спецификации программы в целом. При этом спецификация программы принимается в качестве спецификации ее головного модуля, который полностью берет на себя ответственность за выполнение функций программы. В процессе программирования головного модуля, в случае, если эта программа достаточно большая, выделяются подзадачи (внутренние функции), в терминах которых программируется головной модуль. Это означает, что для каждой выделяемой подзадачи (функции) создается спецификация реализующего ее фрагмента программы, который в дальнейшем может быть представлен некоторым поддеревом модулей. Важно заметить, что здесь также ответственность за выполнение выделенной функции несет головной (может быть, и единственный) модуль этого поддерева, так что спецификация выделенной функции является одновременно и спецификацией головного модуля этого поддерева. В головном модуле программы для обращения к выделенной функции строится обращение к головному модулю указанного поддерева в соответствии с созданной его спецификацией. Таким образом, на первом шаге разработки программы (при программировании ее головного модуля) формируется верхняя начальная часть дерева, например, такая, которая показана на рис. 6.
Аналогичные действия производятся при программировании любого другого модуля, который выбирается из текущего состояния дерева программы из числа специфицированных, но пока еще не запрограммированных модулей. В результате этого производится очередное доформирование дерева программы, например, такое, которое показано на рис. 7.

Рис.6. Первый шаг формирования модульной структуры программы при конструктивном подходе

Рис.7. Второй шаг формирования модульной структуры программы при конструктивном подходе
Архитектурный подход к разработке программы представляет собой модификацию восходящей разработки, при которой модульная структура программы формируется в процессе программирования модуля. Но при этом ставится существенно другая цель разработки: повышение уровня используемого языка программирования, а не разработка конкретной программы. Это означает, что для заданной предметной области выделяются типичные функции, каждая из которых может использоваться при решении разных задач в этой области, и специфицируются, а затем и программируются отдельные программные модули, выполняющие эти функции. Так как процесс выделения таких функций связан с накоплением и обобщением опыта решения задач в заданной предметной области, то обычно сначала выделяются и реализуются отдельными модулями более простые функции, а затем постепенно появляются модули, использующие ранее выделенные функции. Такой набор модулей создается в расчете на то, что при разработке той или иной программы заданной предметной области в рамках конструктивного подхода могут оказаться приемлемыми некоторые из этих модулей. Это позволяет существенно сократить трудозатраты на разработку конкретной программы путем подключения к ней заранее заготовленных и проверенных на практике модульных структур нижнего уровня. Так как такие структуры могут многократно использоваться в разных конкретных программах, то архитектурный подход может рассматриваться как путь борьбы с дублированием в программировании. В связи с этим программные модули, создаваемые в рамках архитектурного подхода, обычно параметризуются для того, чтобы усилить применимость таких модулей путем настройки их на параметры.
На рис. 8 представлена общая классификация рассмотренных методов разработки структуры программы.

Рис.8. Классификация методов разработки структуры программ.
3. Разработка электронного учебного пособия3.1. Анализ содержания курса «Программы модульной структуры»
Важной целью профессиональной подготовки является формирование умений решать задачи с использованием компьютера и его программного обеспечения. Курс «Разработка программ модульной структуры» должен помочь углубить и систематизировать теоретические знания по модульному программированию, дать практические умения по составлению программ с применением основных элементов структурного программирования (алгоритмических структур, типовых алгоритмов обработки массивов, рекурсии, функций и других приемов программирования).
На основе анализа содержания данного курса разработано содержание электронного пособия (табл.1).
Таблица 1
Содержание курса «Разработка программ модульной структуры»
№ Наименование
раздела курса Содержание раздела курса
1 Модульное программирование Элементы структурного программирования. Программно-модульные структуры. Методы разработки программ модульной структуры .
2 Линейные алгоритмы Программирование линейных алгоритмов. Оператор присваивания. Операторы ввода/вывода данных.
3 Разветвляющиеся алгоритмы Оператор перехода. Условный оператор: полное и неполное ветвление. Оператор выбора. Использование вложенных условных операторов. Отличия оператора выбора от оператора условия.
4 Циклические алгоритмы Циклический алгоритм, тело цикла. Цикл с параметром. Операторы цикла с условием: с предусловием и с постусловием. Вложенные операторы цикла. Операторы ограничения и прерывания цикла.
5 Программы работы с массивами Линейные массивы, Двумерные массивы. Алгоритмы обработки массивов: сортировка, поиск заданного элемента и т.д.
6 Программы работы со строками Стандартные функции и процедуры для работы со строками.
7 Множества Множества. Операции над множествами.
8 Вспомогательные алгоритмы. Подпрограммы Программирование с использованием процедур и функций. Формальные и фактические параметры. Параметры-значения и параметры-переменные. Глобальные и локальные переменные. Рекурсии.
9 Записи Записи. Записи с вариантами.
10 Работа с файлами Виды файлов. Стандартные процедуры и функции для работы с файлами. Программы по созданию файла и его корректировки (замена элементов, добавление элементов, удаление элементов). Особенности работы с текстовыми файлами. Особенности работы с типизированными файлами.
Согласно содержанию курса разработаны 11 разделов, охватывающих все вопросы курса. Каждый раздел содержит теоретический материал, пример выполнения лабораторных работ и варианты индивидуальных заданий для каждой работы (кроме разделов 1,2).
Работа студентов в рамках данной дисциплины предусматривает выполнение лабораторных работ в компьютерном классе под руководством преподавателя. В ходе лабораторных занятий студенты разрабатывают и реализовывают на компьютере решение задач. По каждой теме выдается индивидуальное задание по самостоятельной работе каждому студенту.
Рассмотрим более подробно содержание разработанных разделов курса.
Раздел №1. Модульное программирование.
Цель: изучение понятия структурного программирования, возможностей модульного программирования.
Перечень изучаемых вопросов:
Понятие и элементы структурного программирования.
Программно-модульные структуры.
Методы разработки программ модульной структуры.
Раздел №2. Паскаль. Общие сведения.
Цель: изучение основных сведений языка программирования Паскаль, понятия блок-схема, его составных блоков.
Перечень изучаемых вопросов:
Язык программирования Паскаль. История.
Алгоритм. Блок-схемы.
Стандартные типы данных.
Структура программы на языке Паскаль.
Раздел №3. Линейные алгоритмы.
Цель: овладение навыками разработки алгоритмов линейных процессов, умением составлять математические модели алгоритмов и записывать программы на языке Паскаль.
Перечень изучаемых вопросов:
Выражения: арифметические, отношения, логические и т.д.
Арифметические операции: сложение, вычитание, умножение, деление, целочисленное деление, взятие остатка от целочисленного деления.
Операции отношения: равно, не равно, больше, меньше, больше или равно, меньше или равно, принадлежность.
Логические операции: AND, OR, XOR, NOT.
Правила вычисления выражений.
Стандартные арифметические функции :SIN (x), ARCTAN (x), COS(x), EXP (x), LN (x), SQRT (x), SQR (x), ABS (x), INT (x), FRAC (x), TRUNC (x), ROUND (x), PI, RANDOM, ODD, (x) xn=exp(n*LN(x)).
. Оператор присваивания
Оператор ввода числовых данных: READ и READLN.
Оператор вывода числовых данных: WRITE и WRITELN.
Вывод числовых данных с форматом и без формата
Приводится пример выполнения лабораторной работы вычисления значения у и р, используя расчетные формулы
у=а 3x2+ , p=ln(a+x2)+sin2
при значениях а=0,59, z=-4.8, х=2,1. Описан алгоритм разработки программы и сама программа.
Даны варианты индивидуальных заданий, подобных рассмотренному примеру.
Раздел №4. Разветвляющиеся алгоритмы
Тема 1. Условный оператор
Цель работы: овладение практическими навыками разработки алгоритмов и программ с разветвляющейся структурой.
Перечень изучаемых вопросов:
Оператор полного ветвления: правило выполнения, форма записи, блок-схема, понятие условия.
Оператор неполного ветвления: правило выполнения, форма записи, блок-схема.
В качестве примера выполнения лабораторной работы рассмотрена составная функция вида
.
Функция вычисляется на трех диапазонах аргумента x по трем различным формулам. Описан алгоритм разработки программы в виде блок-схемы и подробно разобран процесс написания программы.
Даны варианты индивидуальных заданий, подобных рассмотренному примеру.
Тема 2. Оператор выбора.
Цель работы: овладение практическими навыками разработки алгоритмов и программ с разветвляющейся структурой средствами оператора выбора.
Перечень изучаемых вопросов:
Оператор выбора case: правило выполнения, формат записи, понятие селектора, блок-схема.
Отличие оператора выбора от условного оператора.
В качестве примера выполнения лабораторной работы рассмотрена задача: пользователь вводит целое число от 1 до 10, программа должна приписать к нему слово «ученик» с необходимым окончанием (нулевое, «а» или «ов»). Описан алгоритм разработки программы в виде блок-схемы и подробно разобран процесс написания программы.
Даны варианты индивидуальных заданий, подобных рассмотренному примеру.
Раздел №5. Циклические алгоритмы
Тема 1. Операторы цикла.
Цель работы: овладение практическими навыками разработки алгоритмов и программ с циклической структурой.
Перечень изучаемых вопросов:
Понятие цикла, тела цикла, условия.
Цикл с предусловием while: правило выполнения, формат записи, блок-схема.
Цикл с постусловием repeat: правило выполнения, формат записи, блок-схема.
Цикл с параметром for: понятие параметра, шага, правило выполнения, формат записи, блок-схема.
Приводится пример выполнения лабораторной работы вычисления значения заданной функции , x[-20; 20], h = 4.
Даны варианты индивидуальных заданий, подобных рассмотренному примеру.
Тема 2. Комбинированные суммы и произведения.
Цель работы: освоение методов вычисления конечных сумм и произведений с помощью циклов с известным числом повторений.
Перечень изучаемых вопросов:
Понятие вложенного цикла.
Внешний и внутренний цикл.
Приводится пример выполнения лабораторной работы вычисления значения .
Даны варианты индивидуальных заданий, подобных рассмотренному примеру.
Раздел №6. Программы работы с массивами
Тема 1. Одномерные массивы.
Цель работы: овладение практическими навыками разработки алгоритмов и программ обработки одномерных массивов.
Перечень изучаемых вопросов:
Понятие массива, элемент массива, индекс элемента массива.
Обращение к элементам массива.
Описание массива.
Операции над массивами: присвоение, сравнение, равенство.
Действия над элементами массива: инициализация, ввод и вывод элементов массива, копирование массивов, перестановка элементов массива.
Приводится пример выполнения лабораторной работы по поиску суммы и количества положительных элементов массива.
Даны варианты индивидуальных заданий, подобных рассмотренному примеру.
Тема 2.. Двумерные массивы.
Цель работы: освоение методов обработки двухмерных массивов.
Перечень изучаемых вопросов:
Понятие двумерного массива: индексы элемента массива.
Обращение к элементам двумерного массива.
Описание двумерного массива.
Ввод и вывод элементов двумерного массива.
Приводится пример выполнения лабораторной работы по нахождению максимальных элементов каждой строки матрицы и выводу их на экран. Даны варианты индивидуальных заданий, подобных рассмотренному примеру.
Раздел №7. Программы работы со строками.
Цель работы : освоение методов обработки строковых данных.
Перечень изучаемых вопросов:
Понятие символа, строки, символьный, строковый типы данных, символьная константа.
Объявление символьных переменных.
Функции, которые могут применяться к символам Chr(x), Ord(ch), Pred(ch), Succ(ch).
Операции со строками: сцепление, операции отношения.
Ввод и вывод строки.
Стандартные процедуры и функций для строк: Length(st), Delete (st,Poz, N), Insert (St1, St2, Poz), Copy(St, Poz, N), Concat(St1,St2, ... , StN), Pos (St1, St2), Str(X, St), Val(St, X, code), Upcase (ch), где s-строка, St1, St2 –подстрока, N- число символов, Poz –номер позиции, X- число, Code – целочисленная переменная, ch – символ.
Приводится образец выполнения лабораторной работы на примере решения задачи: посчитайте количество символов ‘о’ в строке, выведите на экран позиции, на которых они находятся. Затем замените эти символы на ‘!’.
Даны варианты индивидуальных заданий, подобных рассмотренному примеру.
Раздел №8.Множества.
Цель работы: получение навыков в задании переменных типа множество и организации ввода и вывода данных типа множество; получение практических навыков в выполнении операций над множествами.
Перечень изучаемых вопросов:
Понятие множества, базового типа, формат записи, конструктор множества.
Объявление множества.
Операции над множествами:
объединение, пересечение, вычитание множеств;
проверка принадлежности элемента множеству;
проверка на равенство и неравенство множеств;
проверка на принадлежность одного множества другому.
Приводятся примеры операций над множествами.
Приводится образец выполнения лабораторной работы на примере решения задачи: Известен набор продуктов - хлеб, масло, сыр, молоко, имеющихся в ассортименте магазинов. В три магазина доставлены отдельные виды этих продуктов. Требуется построить множества A, B, C, которые содержат соответственно:
продукты, имеющиеся одновременно во всех магазинах;
продукты, имеющиеся по крайней мере в одном из магазинов;
продукты, которых нет ни в одном из магазинов.
Даны варианты индивидуальных заданий, подобных рассмотренному примеру.
Раздел №9. Вспомогательные алгоритмы. Подпрограммы
Тема 1. Функции.
Цель работы: овладение навыками алгоритмизацией и программирования задач с использованием функции пользователя.
Перечень изучаемых вопросов:
Понятия подпрограммы, функции, основной программы, заголовка функции, тело функции.
Описание функции.
Формальные и фактические параметры.
Параметры-значения и параметры-переменные.
Вызов функции.
Рекурсивные функции.
Приводится образец выполнения лабораторной работы на примере вычисления значения , используя функцию . Даны варианты индивидуальных заданий, подобных рассмотренному примеру.
Тема 2. Процедуры.
Цель работы: приобретение практических навыков в программировании процедур; изучение механизма передачи параметров; знакомство с локальными и глобальными переменными.
Перечень изучаемых вопросов:
Понятия процедуры, основной программы, заголовка процедуры, тело процедуры.
Описание процедуры.
Вызов процедуры.
Локальные и глобальные переменные.
Параметры-значения и параметры-переменные.
Способы передачи параметров процедуре: передача параметров по значению, передача параметров по ссылке или по адресу.
Различия между процедурами и функциями.
Даны варианты индивидуальных заданий.
Раздел №10. Записи.
Цель работы: получить навыки в организации ввода и вывода значений комбинированных типов данных; получить навыки программирования задач с использованием записей.
Перечень изучаемых вопросов:
Понятие комбинированного типа (записи), селектора записи, формат записи.
Объявление данных типа записи.
Доступ к полям записи.
Записи с вариантами: понятие, фиксированная и вариантная части.
Оператор присоединения: понятие, формат записи.
Даны варианты индивидуальных заданий.
Раздел №11. Файлы.
Цель работы: изучение файловых типов в языке Паскаль; получение навыков в организации файлов и использовании их для обработки информации.
Перечень изучаемых вопросов:
Понятие файла.
Типы файлов: текстовый, типизированный, нетипизированный.
Объявление файловых переменных.
Доступ к файлам: ASSIGN (< ф.п.>, < имя файла или л.у.>); < ф.п.> - файловая переменная; < имя файла или л.у.> - это полное имя файла, которое включает в себя путь доступа, непосредственно имя файла и расширение. "л.у." -стандартное логическое устройство.
Инициация файла и завершение работы с ним: Reset(< ф.п.> [,< размер записи в байтах >]); ReWrite(< ф.п.> [,< размер записи в байтах >]); Append(< ф.п.>); Close(< ф.п.>); EOF(< ф.п.>);
Считывание данных из файла и запись их в файл: Read(< файловая переменная >, < список ввода >); ReadLn(< файловая переменная >, < список ввода >); Write(< файловая переменная >, < список вывода >); WriteLn(< файловая переменная >,< список вывода >).
Текстовые файлы: понятие, особенности.
Типизированные файлы: понятие, особенности.
Чтение компонент типизированного файла последовательным и прямым методом доступа, процедуры Seek(< файловая переменная >,< номер компоненты >); FilePos(< файловая переменная >); FileSize(< файловая переменная >).
Нетипизированные файлы: понятие, особенности, процедуры BlockRead(< файловая переменная >, < буфер >,< кол-во компонент, считываемых за один раз >, [,< кол-во считанных компонент >]);BlockWrite(< файловая переменная >,< буфер >,< кол-во записываемых компонент >, [,<кол-во записанных компонент >]).
Процедуры и функции для работы с файлами.
Приведены примеры работы с файлами. Даны варианты индивидуальных заданий.
3.2. Структура, интерфейс и реализация обучающего пособия в среде Delphi
В настоящее время существует большое количество программных средств, применяемых для создания компьютерных средств обучения. Они предоставляют среду для обработки и редактирования разных видов информации, в том числе элементов продуктов мультимедиа, включая графические изображения, звуковые элементы, анимацию и видеоклипы.
Многие авторы выделяют следующие группы программных средств, которые можно использовать для создания компьютерных средств обучения:
специализированные программные средства, которые предназначены для быстрой подготовки определенных типов гиперссылочных или мультимедийных приложений (презентаций, анимационных роликов, публикаций в сети Интернет, звуковых записей и др.). Например, Macromedia Flash, Macromedia Dreamweaver, Microsoft FrontPage, Microsoft PowerPoint, EasyHelp и т.д.
авторские средства разработки предназначены для создания программных средств учебного назначения. Например, Adobe Authorware; HyperMethod; ToolBook Assistant; Web Course Builder и др.
универсальные языки программирования позволяют создавать обучающие программы, но для разработки последних необходимо владеть достаточно хорошими навыками программирования. Например, Delphi; Javascript; Perl; Си++ и др.
Реализуем электронное учебное пособие средством объектно-ориентированной среды программирования Delphi. На основе проведенного анализа содержания курса, строится структура электронного пособия.
Рассмотрим подробнее интерфейс и процесс разработки учебного пособия.
Для создания обучающей программы необходимо создать две формы: первая форма – титульный лист, содержащий название программы и переход к следующей форме; вторая форма – основная, содержит структуру учебного пособия и позволяет открывать и показывать нужный материал.
Первая форма (рис.9) содержит метки с названием учебного пособия и кнопку перехода ко второй форме.

Рис.9. Форма с названием пособия
Вторая форма является основной и отражает структуру учебника и изучаемый материал. Для создания иерархической структуры использован компонент Delphi TreeView (рис.10), который служит для отображения сложных данных в Windоws, отображающихся в виде списка или дерева. Уровень вложенности элементов дерева не ограничен, каждому узлу дерева можно присвоить определенное изображение. Ее номер задается в поле Image Index. Имена узлов редактируются как названия обычных объектов Windоws.

Рис.10.
Используя данный компонент, создадим иерархическую структуру пособия (рис.11).

Рис.11. Окно TreeView Items Editor
Для отображения информации каждого отдельного пункта содержания пособия разместим на форме компоненту TWebBrowser, которая позволяет просматривать данные в формате HTML. После этого, чтобы отобразить в нем страницу HTML, необходимо вызвать его метод Navigate, основной параметр которого передает строка с URL, указывающим адрес, из которого должна осуществляться загрузка.

Рис.12. Компонент TWebBrowser
Предварительно необходимо создать и заполнить информацией HTML - страницы для каждого пункта содержания пособия. Так, на рис.12. представлено, что узлу №1 структуры дерева соответствует адрес файла 1.1.mht. Аналогичным образом прописываются адреса страниц для каждого узла дерева.
Страница 1.1.mht содержит информацию по первой теме Раздела 1 Элементы структурного программирования (рис.13). Аналогично созданы 43 файла формата .mht, отражающие материал всего курса «Программы модульной структуры».

Рис.13. Страница 1.1.mht
В результате, при выборе пользователем пункта Элементы структурного программирования в структуре пособия, в окне компоненты TWebBrowser отображается информация, соответствующая этому пункту (ри.14).

Рис.14. Отображение данных в окне TWebBrowser
Далее необходимо оформить интерфейс формы, ввести её заголовок, для выхода из приложения создать кнопку Выход (рис.15).

Рис.15. Интерфейс основной формы
Таким образом, содержание учебного пособия отражается в левой части программы в виде дерева, с возможностью раскрытия и закрытия тем каждого раздела курса. Для просмотра подразделов конкретного раздела необходимо нажать на знак плюса слева от названия раздела. Ниже названия раздела выходят созданные подразделы, выбрать каждый из которых можно нажав на название соответствующего подраздела. Содержание подраздела выходит в правой части окна.

ЗаключениеВ результате выполнения выпускной квалификационной работы изучены теоретико-методологические основы создания электронных учебных пособий и разработано пособие «Программы модульной структуры» средствами объектно-ориентированной среды программирования Delphi.
Проанализировано понятие электронного учебного пособия, определяемое как учебное электронное издание, созданное на высоком научно - методическом и техническом уровне, частично или полностью заменяющее или дополняющее электронный учебник. Выделены преимущества и недостатки электронных пособий, описаны общие требования к структуре и содержанию учебного материала.
Рассмотрены элементы структурного программирования, программно-модульные структуры и методы разработки программ модульной структуры.
Проанализированы инструментальные средства разработки обучающих программ в соответствии со следующей классификацией: специализированные программные средства, авторские средства разработки, универсальные языки программирования. Рассмотрена объектно-ориентированная среда программирования Delphi как средство создания электронных учебных пособий.
Проведен анализ содержания учебного пособия по дисциплине «Программы модульной структуры». На основе данного анализа построена структура электронного учебника, содержащего 15 тем, охватывающих все вопросы курса. Каждая тема курса работа содержит краткий теоретический материал, пример выполнения лабораторной работы и варианты индивидуальных заданий. Описано содержание разработанных лабораторных работ.
Для проверки эффективности разработанного электронного учебного пособия «Программы модульной структуры» проведена опытно-экспериментальная работа, показывающая, что использование данного пособия способствует повышению качества знаний обучаемых по изучаемой теме, развитию мыслительных способностей учащихся; создать интерес к выполнению заданий, формирует «компьютерную грамотность» учащихся.
Разработанное электронное учебное пособие " Программы модульной структуры" может быть использовано студентами различных специальностей с целью получения, углубления и систематизации теоретических знаний по модульному программированию; позволяет получить практические умения по составлению программ с применением основных элементов структурного программирования (алгоритмических структур, типовых алгоритмов обработки массивов, рекурсии, функций и других приемов программирования).

ЛитератураГОСТ 7.83- 2001 Система стандартов по информации, библиотечному и издательскому делу. Электронные издания. Оснровные виды и выходные сведения[Электронный ресурс] - Режим доступа: URL: http://protect.gost.ru/document.aspx?control=7&id=130979. - 20.10.2015. - Загл. с экрана.
Роберт, И.В. Информационные и коммуникационные технологии в образовании: Учебно-методическое пособие для педагогических вузов/ Под ред. И.В.Роберт. – М.:Дрофа, 2009, - 320 с.
А.Ю. Руднев, В.А. Тегин Разработка и использование электронных учебных изданий [Электронный ресурс] - Режим доступа: URL: http://www.disedu.ru/p/2.html. - 22.10.2015. - Загл. с экрана.
Алгинин, Б.Е. Концепция информатизации образования / Б.Е. Алгинин, Б.Г. Киселев. //Информатика и образование.- 1993. - № 1. – С.13-16.
Баранова, Ю.Ю. Методика использования электронных учебников в образовательном процессе/ Ю.Ю .Баранова, Е.А. Перевалова, Е.А. Тюрина, А.А Чадин. //Информатика и образование. - 2000 - № 8. –С.17-19.
Власов, Д.А. Технологические процедуры создания электронного учебника/ Д.А, Власов, Л.С. Кузина, В.М. Монахов. - М:МЭСИ, 2001. -118с.
Виштак, О.В. Дидактические возможности учебных изданий в совершенствовании СУД учащихся / О.В. Виштак. //Информатика и образование. – 2003. - № 2. –С. 50-53.
Дагене, В.А. 100 задач по программированию/ В.А. Дагене, Г.К. Григас, К.Ф. Аугутис. - М.: Просвещение, 1993.
Задачник-практикум по информатике. 10-11 кл./Под ред. И.Г.Семакина. - М.: Лаборатория базовых знаний, 2001.
Зайнутдинова, Л.Х.. Создание и применение электронных учебников / Л.Х. Зайнутдинова. –Астрахань: ЦНТЭП, 1999. -364с.
Иванов, В.Л. Структура электронного учебника / В.Л.Иванов. // Информатика и образование. - 2001 - № 6. –С.14-15.
Коджаспирова, Г.М. Педагогический словарь: для студ. высш. и сред. пед. учеб. заведений / Г.М. Коджаспирова, А.Ю. Коджаспиров.– М.: Академия, 2000. – 176с.
Культин, Н.Б. Самоучитель: Программирование в Turbo Pascal 7.0 и Delphi. / Н.Б. Культин.– СПб.: БХВ – Санкт-Петербург, 2000. – 416 с.
Могилев, А.В. Информатика: учеб. пособие для студ. пед.вузов, обуч.по спец. "Информатика" /А.В.Могилев, Н.И.Пак, Е.К.Хённер -. М.: ACADEMIA, 2004.
Могилев, А.В. Практикум по информатике: учеб, пособие для студ. педвузов/под ред. Е.К. Хеннера. – М.: ACADEMIA, 2002.
Павловская, Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов / Т.А. Павловская.– СПб: Питер, 2008.
Павловская, Т.А. Паскаль. Программирование на языке высокого уровня: Практикум. / Т.А. Павловская.– СПб: Питер, 2008.
Прайс, Д. Программирование на языке Паскаль. Практическое руководство. /Пер.с англ. - М.:, Мир, 1987.
Роберт, И.В., Панюкова С.В., Кузнецов А.А., Кравцова А.Ю. Информационные и коммуникационные технологии в образовании: Учебно-методическое пособие для педагогических вузов./Под ред. И.В.Роберт. – М., 2006, - 374 с.
Роберт, И.В. Современные информационные технологии в образовании: дидактические проблемы; перспективы использования. /Под ред. И.В.Роберт. – М.: Школа-Пресс, 1994.
Фаронов, В.В. Delphi. Программирование на языке высокого уровня / В.В. Фаронов. -М.: ПИТЕР, 2006.-639 с.
Христочевский, С.А. Электронный учебник - текущее состояние. // Компьютерные инструменты в образовании.- 2001 - № 6.- С.23-24.

Приложенные файлы


Добавить комментарий