Автор работы: Пользователь скрыл имя, 16 Октября 2013 в 23:50, дипломная работа
Несмотря на многообразие публикаций, посвященных различным подходам к решению данной задачи и существование широкого спектра программного обеспечения, предоставляющего разнообразные технологии, для ее решения, до сих пор не выработано универсального подхода, позволяющего максимально облегчить процесс публикации на веб-сайте математических текстов и минимизировать усилия со стороны клиента для просмотра документа.
Введение 3
1 Постановка задачи 5
2 Используемые средства реализации 6
2.1 JavaScript 6
2.2 MathML 7
2.3 jQuery 9
3 Обзор существующих методов решения 10
4 Пользовательский интерфейс 11
5 Реализация 11
5.1 Синтаксис 11
5.2 Алгоритм конвертации 13
5.3 Алгоритм вычисления 14
5.4 Алгоритм конвертации натурального логарифма 14
5.5 Алгоритм конвертации логарифма «а» по основанию «b» 14
5.6 Алгоритм функции вычисления квадратного корня 15
5.7 Алгоритм функции вычисления корня n-ой степени 15
5.8 Алгоритм вычисления степени 15
5.9 Алгоритм проверки на количество скобок 16
5.10 Алгоритм проверки на корректность результата вычисления 16
Заключение 17
Список использованных источников 18
ПЕТРОЗАВОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ
КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ И КИБЕРНЕТИКИ
Выпускная квалификационная работа на степень бакалавра
ОТОБРАЖЕНИЕ МАТЕМАТИЧЕСКИХ ФОРМУЛ В ОКНЕ БРАУЗЕРА СРЕДСТВАМИ DHTML И MATHML
студент 4 курса группы 22405 Д. В. Яровой
_________________
подпись
_________________
подпись
Допущена к защите
и. о. зав. каф. Щеголева Л. В.
_________________
подпись
Итоговая оценка
_________________
подпись
Петрозаводск
2012
СОДЕРЖАНИЕ
В настоящее время, когда информация является важнейшим ресурсом, огромное значение приобретают технологии хранения, обработки и предоставления пользователям информации разнообразных видов. В связи с бурным развитием вычислительной техники и информационных технологий, электронная форма представления данных становится основной во многих областях человеческой деятельности.
Особенное значение
имеет представление в
Можно с уверенностью утверждать, что категория математических текстов составляет немаловажную часть всего объема знаний, требующих электронного представления, поэтому несомненную важность представляет задача размещения текстов, содержащих математические формулы на веб-сайтах. Вместе с тем существует ряд серьезных проблем, возникающих при публикации подобного рода документов. В число основных препятствий на пути предоставления математических текстов для широкого доступа в электронной форме, входят:
Несмотря на многообразие публикаций, посвященных различным подходам к решению данной задачи и существование широкого спектра программного обеспечения, предоставляющего разнообразные технологии, для ее решения, до сих пор не выработано универсального подхода, позволяющего максимально облегчить процесс публикации на веб-сайте математических текстов и минимизировать усилия со стороны клиента для просмотра документа.
1 ПОСТАНОВКА ЗАДАЧИ
Основной целью настоящей работы является продолжение разработки технологии отображения математических выражений на сайте средствами MathML. В ходе предыдущего года нами были достигнуты следующие результаты:
Основными задачами в ходе текущего курсового проекта являются:
Среди основных требований к системе выделяется использование языка программирования JavaScript, для облегчения интеграции с веб-сервером, а также в силу его хорошей приспособленности для работы с текстовыми данными.
2 ИСПОЛЬЗУЕМЫЕ СРЕДСТВА РЕАЛИЗАЦИИ
2.1 JAVASCRIPT
JavaScript — это язык управления сценариями просмотра гипертекстовых страниц Web на стороне клиента. Если быть более точным, то JavaScript - это не только язык программирования на стороне клиента. Liveware, прародитель JavaScript, является средством подстановок на стороне сервера Netscape. Однако наибольшую популярность JavaScript обеспечило программирование на стороне клиента.
Основная идея JavaScript состоит в возможности изменения значений атрибутов HTML-контейнеров и свойств среды отображения в процессе просмотра HTML-страницы пользователем. При этом перезагрузки страницы не происходит.
На практике это выражается в том, что можно, например, изменить цвет фона страницы или интегрированную в документ картинку, открыть новое окно или выдать предупреждение [7].
Название JavaScript является собственностью Netscape. Реализация языка, осуществленная разработчиками Microsoft, официально называется Jscript. Версии JScript совместимы (если быть совсем точным, то не до конца) с соответствующими версиями JavaScript, т. е. JavaScript является подмножеством языка JScript.
JavaScript стандартизован ECMA (European Computer Manufacturers Association — Ассоциация европейских производителей компьютеров). Соответствующие стандарты носят названия ECMA-262 и ISO-16262. Этими стандартами определяется язык ECMAScript, который примерно эквивалентен JavaScript 1.1. Отметим, что не все реализации JavaScript на сегодня полностью соответствуют стандарту ECMA [9].
Для создания механизма управления страницами на клиентской стороне было предложено использовать объектную модель документа. Суть модели в том, что каждый HTML-контейнер — это объект, который характеризуется тройкой:
Объектную модель можно представить как способ связи между страницами и браузером. Объектная модель — это представление объектов, методов, свойств и событий, которые присутствуют и происходят в программном обеспечении браузера, в виде, удобном для работы с ними кода HTML и исходного текста сценария на странице. Мы можем с ее помощью сообщать наши пожелания браузеру и далее — посетителю страницы. Браузер выполнит наши команды и соответственно изменит страницу на экране.
Объекты с одинаковым набором свойств, методов и событий объединяются в классы однотипных объектов. Классы — это описания возможных объектов. Сами объекты появляются только после загрузки документа браузером или как результат работы программы. Об этом нужно всегда помнить, чтобы не обратиться к объекту, которого нет. [4,8].
2.2 MATHML
Язык MathML является подмножеством языка XML (eXtensible Markup Language — расширяемый язык разметки), который часто служит для создания других языков. Такое использование XML сегодня вполне естественно и хорошо зарекомендовало себя и в других случаях, когда применение HTML для передачи данных новых типов наталкивалось на ограничения этого формата. К настоящему времени консорциум W3C опубликовал 3-е издание версии 3.0 спецификации языка MathML, что говорит о жизнеспособности и устойчивости проекта.
Среди целей, которые ставились рабочей группой W3C по математике при создании MathML, были:
Общий принцип использования MathML состоит в том, что математические конструкции встраиваются в обычный HTML-документ и (если браузер либо специальная программа поддерживает эту спецификацию) адекватно воспроизводятся при загрузке документа из сети [6].
Первое, с чем приходится столкнуться в MathML и что отличает данный язык разметки от аналогов, — это использование двух способов кодирования выражений. Один из них основан на непосредственной передаче синтаксиса формулы (presentation), другой, напротив, отражает семантику выражения (content). Презентационная разметка описывает математическую символику с выражениями, которые строятся с использованием некоторых схем вывода, с заданием способов размещения подвыражений, таких, как дроби, верхние и нижние индексы. Семантическая разметка описывает математические объекты и функции, где для каждого узла конструируется дерево выражения согласно некоторой конкретной схеме, а ветви этого дерева отвечают подвыражениям.
Все элементы MathML делятся на три группы: элементы представления, элементы содержания и интерфейсные элементы.
Элементы представления
описывают визуально
Наиболее важными элементами представления являются mi, mn и mo, используемые для представления идентификаторов, чисел и операторов соответственно. Обычно эти элементы отображаются разными стилями: числа — прямым шрифтом, идентификаторы — наклонным, вокруг операторов оставляется дополнительное свободное пространство [1].
Основные элементы языка MathML, а так же их использование и результат представлены в приложениях А и Б.
2.3 JQUERY
jQuery — библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HT
3 ОБЗОР СУЩЕСТВУЮЩИХ МЕТОДОВ РЕШЕНИЯ
Набирать теги на языке MathML достаточно трудоемко, по мере усложнения формулы, тег приобретает громоздкий вид, что делает набор в ручную очень сложным и однообразным занятием. Существует огромное количество программ, которые автоматизируют набор формул в формате MathML. Во-первых это, математические пакеты, такие как, Mathematica или Maple, позволяют сохранять набранные в них формулы в формате MathML. Во-вторых, web-редактор, Amaya, так же позволяет сохранять формулы в этом формате.
Так же существует множество конвертеров из различных форматов в формат MathML. Например конвертер LaTeX2HTML преобразует формулу, записанную в формате TeX в формат MathML. Не менее известный конвертер из формата TeX, это TtM (TeX to MathML translator). Word2MathML может преобразовывать файлы MS Office Word в XHTML+MathML, после чего файл может быть просмотрен в браузере.
Конвертеры из текстового формата найти достаточно трудно. Одним из них является MathML Generator, он принимает на вход математическое выражение, записанное в строку, и выдает сгенерированный код MathML. Недостатком этого конвертера является то, что он поддерживает далеко не все алгебраические операторы. Еще одним представителем является PhpMathPublisher, он так же принимает на вход математическое выражение, но выдает формулу в виде картинки. Достоинством этого конвертера является кроссбраузерность.
Информация о работе Отображение математических формул в окне браузера средствами DHTML и MATHML