5.Создание программы моделирования.
5.1.Выбор интерфейса пользователя.
Интерфейсом пользователя называют совокупность методов и средств, позволяющих пользователю вводить исходные данные для расчетов в компьютер, контролировать процесс вычислений и получать результаты расчётов в удобной для восприятия форме.
В настоящее время существует несколько типов интерфейсов пользователя:
- пакетный интерфейс;
- текстовый командный интерфейс;
- текстовый оконный интерфейс;
- графический командный интерфейс;
- графический оконный интерфейс;
Пакетный интерфейс подразумевает подготовку исходных данных в виде единого блока параметров, передаваемого программе, и вывод результатов так же в виде единого блока. Блоки входных данных и блоки результатов, чаще всего, представляют собой файлы, размещённые на каком либо носителе информации. Этот интерфейс применяется, в первую очередь, для автоматизированного расчёта задач с большим объёмом исходных данных, и не предназначен для интерактивной работы с программой. Интерактивный режим работы - это режим диалога пользователя и компьютера. Интерактивный режим наиболее удобен для работы на персональной электронно-вычислительной машине.
Текстовый командный интерфейс, является одним из простейших интерактивных интерфейсов пользователя, и подразумевает ввод исходных данных с клавиатуры и управление программой вычислений, посредством определённого набора текстовых команд, набираемых пользователём с клавиатуры и вывод результатов вычислений в текстовом виде на экран дисплея или печатающее устройство. Этот интерфейс, ввиду малого удобства использования, вытесняется другими, более совершенными интерфейсами.
Текстовый оконный интерфейс, также является интерактивным, и представляет собой некоторый набор областей на экране, называемых окнами. Каждое окно предназначено для отображения определённого типа информации. Так же возможен ввод данных и управление процессом вычисления посредством манипулятора мышь.
Текстовый оконный интерфейс часто снабжён системой меню. Меню позволяет упростить процесс ввода информации и команд методом выбора пунктов меню. Этот интерфейс зачастую содержит систему быстрого управления процессами вычислений, ввода и вывода информации, называемую системой "горячих" клавиш. Во всех текстовых режимах, невозможно отображение графической информации. В настоящее время, несмотря на сравнительное удобство использования, вытесняется графическими интерфейсами.
Графический командный интерфейс объединяет в себе текстовый командный интерфейс и возможность вывода графической информации. Этот тип интерфейса мало распространён из-за появления графического оконного интерфейса
Графический оконный интерфейс обладает всеми возможностями текстового оконного интерфейса и, в дополнении к ним, имеет возможность вывода графической информации на дисплей компьютера. Особенностью этого интерфейса является его поддержка, встроенная практически во все современные операционные системы, такие как Windows95/98/2000, Linux, OS/2, FreeBSD, Solaris, MacOS и многие другие. Это значительно упрощает написание программ, использующих этот интерфейс. Этот интерфейс является интуитивно понятным пользователю.
Для использования программ, использующих для диалога с пользователем графический оконный интерфейс, от пользователя требуется минимальная подготовка. Это позволяет сконцентрировать внимание пользователя не на особенности управления вычислениями, а на объекте вычислений, что значительно повышает эффект от использования программы. Поэтому этот тип интерфейса пользователя максимально подходит для программ, используемых в учебных целях.
В силу вышесказанного, для реализации учебной программы моделирования распространения сигналов по оптическому волокну был выбран графический оконный интерфейс пользователя.
Для реализации интерфейса были использованы функции операционной системы Windows95, как наиболее распространённой на данный момент.
5.2. Выбор языка моделирования.
Для программной реализации модели необходимо выбрать язык программирования. Выбранный язык должен обладать следующими свойствами:
- развитый набор библиотек математических функций;
- возможность использования функций операционной системы Windows95 для поддержки графического оконного интерфейса пользователя.
- наличие оптимизирующего компилятора, способного создавать оптимальный, с точки зрения быстродействия, машинный код.
Из языков обладающих этими свойствами, можно выделить три наиболее распространённых: Basic, С++ и Pascal. Для всех трёх языков существуют компиляторы, встроенные в интегрированные среды разработки. Конкретные реализации компиляторов с этих языков (Misrosoft VisualBasic, Microsoft VisualC++, Borland C++ и Borland Delphi) предоставляют возможность написания и отладки программ, выполняющихся под управлением операционной системы Windows95.
Все три языка обладают хорошей структурированностью и наборами стандартных библиотек, но компилятор языка C++ имеет гораздо лучшие способности по оптимизации кода, чем компиляторы языков Basic и Pascal, ввиду большей близости языка C++ к машинному.
Дополнительным достоинством языка C++ является его давняя стандартизация, что привело к созданию совместимых компиляторов с этого языка практически для любого типа ЭВМ и любой операционной системы, благодаря чему программа, написанная на C++, обладает высокой переносимостью. Переносимость программ подразумевает независимость результатов работы программы от среды её выполнения, что позволяет использовать для работы с программой практически любые компьютеры [18,19,20].
Основываясь на вышеперечисленных достоинствах языка C++, для написания программы моделирования выбран именно этот язык программирования.
5.3.Описание алгоритма работы программы моделирования.
При запуске программы вызывается процедура WinMain [20,21], расположенная в модуле main.cpp. Блок схема процедуры WinMain представлена на рис.5.3.1. Из этой процедуры производится вызов функции RegClass (рис.5.3.2).
Эта процедура регистрирует в операционной системе (ОС) глобальный класс "DrawGraph" [21,22], с указателем на процедуру вывода на экран графиков DrawGraphProc (рис.5.3.3). Если процедуре RegClass не удалось зарегистрировать класс в системе, программа прекращает свою работу и отдаёт управление ОС.
После вызова процедуры RegClass производится вызов системной функции создания диалогового окна DialogBox с указателем на ресурсы, описанные в модулях resource.h и MainDlg.rc и указателем на процедуру обработки сообщений [22], направляемых ОС этому окну, AppDlgProc (рис.5.3.4). После выполнения функции DialogBox, программа завершает свою работу и передаёт управление операционной системе.
При выполнении функции DialogBox, ОС вызывает процедуру AppDlgProc с параметром umsg=WM_INITDIALOG, при этом процедура AppDlgProc вызывает процедуру инициализации меню CreateMenu (рис.5.3.5), расположенную в модуле menu.h.
Процедура CreateMenu вызывает функции ОС GreatePopupMenu и AppendMenu для создания меню, привязанных к кнопкам "Линия", "Тип излучателя" и "Тип оптического волокна" основного диалога. После создания меню из процедуры CreateMenu вызываются системные функции SendMessage для посылки сообщений процедуре UpdateMenuParams (рис.5.3.6), с параметром wparam=IDM_LINE1, IDM_RADIATE2, IDM_FIBRETYPE1. После чего посылается сообщение UpdateMenuParams с параметрами umsg=WM_COMMAND; lparam=TRUE; wparam=IDOK, что приводит к вызову из процедуры UpdateMenuParams функций ОС SetDlgItemTextA, используемых для инициализации параметров модели.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.