Курсовая: Особенности создания математических формул в Web - текст курсовой. Скачать бесплатно. ';

lastTag:=SeekSymbol+1; notFound:=false;

end;

inc(SeekSymbol);

end;

end;

if tmpString<>'' then

begin

tmpString:=tmpString+'

';

List[i]:='

Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
';

lastTag:=SeekSymbol+1; notFound:=false;

end;

inc(SeekSymbol);

end;

end;

if tmpString<>'' then

begin

tmpString:=tmpString+'

';

List[i]:='

Napishem.com Napishem.com Napishem.com

Курсовая

Особенности создания математических формул в Web

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Архив Zip, 105 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!

Узнайте стоимость написания уникальной работы



МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение образования «Гродненский Государственный университет

имени Янки Купалы»

Математический факультет




Кафедра теории функции, функционального анализа и прикладной математики







Особенности создания математических формул в Web




Курсовая работа студента 2 курса

Парахневича Юрия Николаевича








Научный руководитель:

доцент Вувуникян Ю.М.



Допущен к защите

29 апреля 2002 г.

Зав.кафедрой ТФФА и ПМ

Ровба Е.А.



Гродно, 2002



Содержание:


  1. Введение.

  2. Язык математической разметки MathML.

  3. Создание математических формул в Web с помощью MathBuilder

  4. Заключение.

  5. Приложение 1: Исходный код программы MathBuilder v1.01

  6. Приложение 2: Скриншоты.































Введение.


В эпоху развития интернет технологий остро возник вопрос о создании сайтов со специфическим содержанием, то есть содержащим особую разметку, и специфические картинки.

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

В развитие форм математической записи существенный вклад внесла технология связи. В своем развитии она прошла путь от глиняных планшетов и папирусов до печатного способа представления информации, а математические записи велись с использованием возможностей, предоставляемых технологией связи на различных временных этапах.

В настоящее время возникла новая среда связи, представленная ЭВМ с сетевой структурой. Это открывает новые возможности для передачи и представления математической информации.










2. Язык математической разметки MahML.


Первоначально WWW предназначалась для ученых. Но в ходе использования WWW выяснилось, что информация, передаваемая по ее каналам, представляет интерес не только для специалистов. Но возможност ивключения математических выражений в HTML оказались очень ограниченными. Статьи записывались в закодированной форме, основу которой составляли наборы символов ASCII.

Несмотря на широкое распространение Web, недостаток поддержки научной связи ограничивает сферу ее применения.

Проблемы, возникающие при записи математических выражений, можно разделить на две группы : проблемы кодирования и проблемы реализации. Проблемы, связанные с включением в документ математических записей как иллюстрационного материала, относятся к проблемам реализации.

В последнее время первостепенную важность приобретают различные способы автоматической обработки данных. Поэтому решение проблемы кодирования математических записей для Web важнее, чем разрешение проблемы реализации, но и ее нельзя игнорировать

В настоящее время идет активный процесс включения интерактивных материалов в учебную программу. Однако строгие временные и технические ограничения создают трудности при использовании интерактивных материалов на занятиях по математическим дисциплинам.

Например, осуществить проверку экзаменационных ответов на ПК невозможно без умения записывать математические выражения на языке, понятном машине. Следующим шагом использования новых технологий в области образования является создание интерактивных учебников.

дополнение к вышесказанному, MathML должен согласовываться и с существующей HTML средой.

Одним из способов согласования является развитие XML - упрощенного варианта SGML, разработанного для Web. XML позволяет вводить и использовать новые отметки. В то же время XML синтаксис тщательно определяет структуру документа, что облегчает автоматическую обработку и сопровождение больших массивов данных.

XML подходит для разметки сложных и специализированных данных. В силу вышесказанного MathML можно определить как XML прикладную программу. XML предоставляет способ определения структуры и синтаксиса. Механизмы обработки и представления информации MathML требуют детальной разработки. Для обработки данных MathML необходимо расширить возможности окон просмотра.

Общие принципы MathML:


Существует глубокая связь между математическими идеями и их записью.

Математическая запись, выполненная с соблюдением правил, исключает двоякое толкование.

В некоторых случаях символическая и математическая структура записи эквивалентны. В подобных ситуациях MathML предлагает использовать отметки типа

, и .

Рассмотрим пример : < (x + 2)^2 >.Используя отметки MathML, его можно записать так :

(

x

+

2

)

2

В дополнение к отметкам представления MathML содержит еще примерно 50 различных отметок. Используя эти отметки, предыдущий пример можно закодировать так:

x

2

2

Рассмотрим пример :

x ^ 2 + 4x + 4 = 0

x

2

+

4

x

+

4

=

0

Здесь стоит обратить внимание на два аспекта: во-первых, в примере присутствуют отметки типа MI,MN,MO и "вложенные" отметки типа MSUP и MROW, а во-вторых, отметки типа MROW используются для обозначения условия, в данном случае представленного операндом "=".

Отметки, содержащие данные, указывают на их тип. Например, отметка MI указывает на идентификатор или переменную, а отметка MN - на номер. Другие отметки обозначают схему размещения. Каждая схема размещения содержит определенное число подвыражений в сторогом порядке. Например,MSUP схема должна содержать в точности два подвыражения.

x = (-b + - sqrt( b ^ 2 - 4ac)) / 2a:

x

=

-

b

&PlusMinus

b

2

-

4

a

c

2

a

В этом примере следует обратить внимание на то, что знак "плюс/минус" - специальный поименованный объект. MathML предоставляет большой список имен математических объектов.

Элементы представления соответствуют конструкциям традиционной математической записи и позволяют описывать синтаксическую структуру математического выражения. Например, структура This улучшает качество математической записи и в тех случаях, когда не известена, например, разрешающая способность монитора. Элементы представления можно разделить на два класса : лексемы и схемы размещения. Существует также набор пустых элементов, используемых вместе с конкретной схемой размещения. Все лексемы (в синтаксическом смысле),включенные в математическое выражение, должны быть помечены MathML отметками лексем. Типы MathML лексем : идентификаторы (переменные, имена функций и т.д.), числа, операторы, заграждающие метки (например, круглые скобки) и строковые литералы. Для представления текста нематема

тического характера используются элементы лексем. Схемы размещения - конструкторы выражений традиционных математических записей.

Лексемы :


идентификаторы

номер

оператор

заграждающая метка

текст

пробел

литерал строки

Общая схема размещения :


изменение стиля

включение сообщения о синтаксической ошибке

при сохранении размера содержание становится невидимым.

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

формирование знака квадратного корня (радикала безиндекса)

формирование радикала с определенным индексом


Таблицы и матрицы :

таблица или матрица

строка в таблице или матрице

одно вхождение в таблицу или матрицу.

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

Многие математические символы типа интегрального символа, знака "+",круглых скобок и т.д. имеют заданные по умолчанию атрибуты, которые могут включаться в и схемы.

Многие операторы в каждой конкретной форме могут использоваться по-разному.

Знак "+", например, в зависимости от ситуации может быть как префиксом, так и инфиксом. Если оператор является первым подвыражением в и его длина превышает единицу, то используется префиксная форма; если же оператор является последним подвыражением в ,то правилами предусматривается использование постфиксной формы. Инфиксная форма для операторов, включенных в схему типа , не используется. Если возникает ситуация выбора одной из нескольких форм и не дано никаких дополнительных указаний, то право ее остается за пользователем. Существуют четыре атрибута, регулирующие соотношениями между размерами операторов ,заграждающих меток и других элементов : stretchy, symmetric, maxsize и minsize. Например, если для символа maxsize="3", это означает, что его размеры могут превысить стандартные не более, чем в три раза.

































3. Создание математических формул в Web с помощью MathBuilder


Программа MathBuilder (рис.1) представляет собой приложение к системе создания математических формул MathType 5 . При публикации математических формул в web без использования языка математической разметки MathML, с помощью представления формулы в формате *.bmp, (*.gif ) возникает проблема, связанная с неверным расположением формулы,

(рис.2) эту проблему можно решить с помощью некоторого HTML кода, а именно

Но учитывая объёмы формул, используемые в математической литературе, встаёт необходимость автоматизации этого процесса. Автоматизировать этот процесс может MathBuilder. Сама программа имеет простой интерфейс (рис.2), меню «Файл» и «Редактировать». Меню «Файл» содержит в себе «Открыть» (Открытие файла в формате *.txt), «Сохранить» (Сохранение файла в формате *.txt), «Экспортировать» (Экспорт файла в формат *.html),

«Выход» (Выход из программы). Меню «Редактировать» \содержит в себе следующие функции: «Просмотр» (Открывается окно браузера, в котором без сохранения можно просмотреть результат работы),

«Вставить рисунок» (позволяет вставить ссылку в файл на нужный рисунок), «Гиперссылка» (вставляет ссылку на интернет документ, помещая в файл ссылку на документ).

Сам набор документа ничем не отличается от набора текстового документа в редакторе «Блокнот». При нажатия «вставить рисунок» программа предлагает выбрать файл рисунка (в данном случае математическую формулу) и в поле набора текста появляется запись

Это означает что в HTML файл будет включена ссылка на картинку. Надо отметить что при сохранении математической формулы, требуется сохранить её в каталог, в котором находится сама программа MathBuilder. Эта процедура предназначена для корректного отображения картинки браузером,

Ведь если, к примеру, сохранить её в каталоге «мои документы» и указать программе на этот каталог то в ссылке на картинку пропишется путь в этот каталог. А на сервере, на котором будет находится той или иной документ, не будет этого каталога, следовательно картинка отображаться не будет. Программа MathBuilder предусматривает этот момент и поэтому она записывает ссылку на картинку так, как будто она находится в текущем каталоге. Если воспользовавшись встроенным броузером картинка отображаться не будет, то это означает что нужная математическая формула не находится в каталоге с программой.

При разработке программы возникла одна проблема: Если пользователь, создав математическую формулу с системе MathType сохранит её в формате *.bmp (хотя MathType не предлагает сохранение в таком формате) то как ни странно файл сохранится в заданном формате, даже ярлык у этого файла будет таким, какой характерен для файлов с таким форматом, однако броузер Internet Explorer отображать этот рисунок не будет, т.к. в самом деле MathType сохранит файл с заданным расширением (bmp) но в формате gif. Следовательно, следует сохранять файл в формате *.gif, тогда проблем такого типа не будет.

Пояснение к исходному коду программы:


procedure TForm1.N2Click(Sender: TObject);

begin

With OpenDialog1 do

If Execute Then

Begin

memo1.lines.loadfromfile(Filename);

ExtractFilename(Filename);

SaveDialog1.FileName := Filename;

Filename := ' ';

End;

end;


этот код обеспечивает открытие файла.


procedure TForm1.N3Click(Sender: TObject);

begin

Memo1.Lines.SaveToFile(SaveDialog1.FileName); // Сохранение файла

end;


procedure TForm1.N4Click(Sender: TObject);

begin

with SaveDialog1 do

If execute Then

Memo1.Lines.SaveToFile(SaveDialog1.FileName); // Меню «Сохранить как.»


End;

//сейчас идёт описание самой главной части программы

procedure TForm1.N5Click(Sender: TObject);

var list: TStringList;

tmpString: string;

i,CurrentSymbol,SeekSymbol, lastTag: integer;

notFound: boolean;

begin

With SaveDialog2 do

If execute then

Begin

list:=TStringList.Create;

for i:=0 to memo1.Lines.Count-1 do list.Add(memo1.lines[i]);

list.Insert(0,'');

list.Add('');


// в этой части (смотрите выше) происходит вставка тэгов

// перед набранным текстом и после текста.


for i:=1 to memo1.Lines.Count do

begin

lastTag:=1; tmpString:='';

for CurrentSymbol:=1 to Length(List[i]) - 9 do

if Copy(List[i], CurrentSymbol, 9) = '' then

begin

tmpString := tmpString+'

';

lastTag:=SeekSymbol+1; notFound:=false;

end;

inc(SeekSymbol);

end;

end;

if tmpString<>'' then

begin

tmpString:=tmpString+'

';

List[i]:='

Текст1 Имя_Файла.bmp> Текст2 '+

Copy(List[i],lastTag,CurrentSymbol-lastTag)+

'

'+

Copy(List[i],CurrentSymbol,SeekSymbol-CurrentSymbol+1) +'

'+Copy(List[i],lastTag, Length(List[i])-lastTag+1)+'
'+tmpString+'
';

end;

end;

List.SaveToFile(Filename);

list.Free;

End;

end;

//В этой части происходит вставка таблицы (смотрите стр. 9).

//Чтобы обеспечить корректное отображение формулы браузером.


В общем, код программы основан на нескольких принципах: на поиске тэга, в котором находится ссылка на математическую формулу, вставка таблицы, и экспортировании текста в формат HTML. При написании программы самой сложной частью оказалась вставка таблицы. В начале программа могла находить нужные тэги только в том случае, если он находился отдельно в какой либо строчке. Далее, после устранения вышеописанной ошибки, второй проблемой стала невозможность вставки в документ сразу несколько картинок, что непосредственно важно для математического документа. Самой последней проблемой была невозможность работы программы на других машинах. Эта проблема была вызвана некорректным обращением компонента программы со средой Windows. Решение оказалось банальным – я использовал браузер, отображающий результаты работы без сохранения (а в нём была проблема), который назначен Windows по умолчанию. И вот все проблемы были решены.





























Заключение:

Изучение языка математической разметки «MathML» содержит в себе некоторые минусы:

  1. Не все браузеры поддерживает «MathML».

  2. Доскональное изучение «MathML» громоздко и сложно для обычного пользователя.

На момент написания «MathBuilder» из браузеров, которые поддерживают язык математической разметки был только Mozilla 0.9.9 и Internet Explorer 5.5 остальные не поддерживают без плагинов (англ. plug-in дополнительная программа для выполнения каких либо специфических функций). Однако, метод которым пользуется MahBuilder поддерживается всеми браузерами.

Вышеописанная программа, на мой взгляд, вносит некий вклад в развитие математических представлений в Web, потому что на всех математических сайтах, математические формулы представлены как на рисунке № 3,то есть с новой строчки, что менее корректно выглядит, в отличии от рисунка №4, когда формула отображается в той же строке, что и текст. Следовательно целесообразнее использовать метод, используемый в MathBuilder.






























Приложение №1

Исходный код программы MathBuilder.

unit MyEditu;


interface


uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls, Menus, ExtDlgs, shellapi;


type

TForm1 = class(TForm)

Memo1: TMemo;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N7: TMenuItem;

SaveDialog2: TSaveDialog;

N6: TMenuItem;

N8: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

OpenDialog3: TOpenDialog;

OpenDialog2: TOpenDialog;

N9: TMenuItem;

N12: TMenuItem;

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form1: TForm1;


implementation


uses Unit4;


//es Unit2;


{$R *.DFM}


procedure TForm1.N2Click(Sender: TObject);

begin

With OpenDialog1 do

If Execute Then

Begin

memo1.lines.loadfromfile(Filename);

ExtractFilename(Filename);

SaveDialog1.FileName := Filename;

Filename := '';

End;

end;


procedure TForm1.N3Click(Sender: TObject);

begin

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

end;


procedure TForm1.N4Click(Sender: TObject);

begin

with SaveDialog1 do

If execute Then

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

end;

procedure TForm1.N5Click(Sender: TObject);

var list: TStringList;

tmpString: string;

i,CurrentSymbol,SeekSymbol, lastTag: integer;

notFound: boolean;

begin

With SaveDialog2 do

If execute then

Begin

list:=TStringList.Create;

for i:=0 to memo1.Lines.Count-1 do list.Add(memo1.lines[i]);

list.Insert(0,'');

list.Add('');


for i:=1 to memo1.Lines.Count do

begin

lastTag:=1; tmpString:='';

for CurrentSymbol:=1 to Length(List[i]) - 9 do

if Copy(List[i], CurrentSymbol, 9) = '' then

begin

tmpString := tmpString+'

'+

Copy(List[i],lastTag,CurrentSymbol-lastTag)+

'

'+

Copy(List[i],CurrentSymbol,SeekSymbol-CurrentSymbol+1) +'

'+Copy(List[i],lastTag, Length(List[i])-lastTag+1)+'
'+tmpString+'
';

end;

end;

List.SaveToFile(Filename);

list.Free;

End;

end;

procedure TForm1.N6Click(Sender: TObject);

// prosmotr

var list: TStringList;

tmpString: string;

i,CurrentSymbol,SeekSymbol, lastTag: integer;

notFound: boolean;

Begin

list:=TStringList.Create;


for i:=0 to memo1.Lines.Count-1 do list.Add(memo1.lines[i]);

list.Insert(0,'');

list.Add('');


for i:=1 to memo1.Lines.Count do

begin

lastTag:=1; tmpString:='';

for CurrentSymbol:=1 to Length(List[i]) - 9 do

if Copy(List[i], CurrentSymbol, 9) = '' then

begin

tmpString := tmpString+'

'+

Copy(List[i],lastTag,CurrentSymbol-lastTag)+

'

'+

Copy(List[i],CurrentSymbol,SeekSymbol-CurrentSymbol+1) +'

'+Copy(List[i],lastTag, Length(List[i])-lastTag+1)+'
'+tmpString+'
';

end;

end;

List.SaveToFile('tmp.html');

list.Free;

ShellExecute(handle, 'open', 'tmp.html', '', '', SW_SHOW);

//winexec('tmp.html', SW_SHOW)

//Form2.showModal;

End;

//end of prosmotr }

procedure TForm1.N8Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N10Click(Sender: TObject);

var tmpMemo: string;

begin

With OpenDialog2 do

if execute then

Begin

begin

tmpMemo:=tmpMemo + '';

Memo1.SelText :=tmpMemo;

end;

End;

end;

procedure TForm1.N11Click(Sender: TObject);

var Href: String;

begin

With OpenDialog3 do

if Execute then

Begin

Href:=Href + ''

+ 'Ссылка' + '';

Memo1.SelText :=Href;

End;

end;


procedure TForm1.N12Click(Sender: TObject);

begin

form4.ShowModal;

end;


end.

















Приложение№2.

Скриншоты.


Рис.1


Рис.2

Рис.3


Рис.4

1Авиация и космонавтика
2Архитектура и строительство
3Астрономия
 
4Безопасность жизнедеятельности
5Биология
 
6Военная кафедра, гражданская оборона
 
7География, экономическая география
8Геология и геодезия
9Государственное регулирование и налоги
 
10Естествознание
 
11Журналистика
 
12Законодательство и право
13Адвокатура
14Административное право
15Арбитражное процессуальное право
16Банковское право
17Государство и право
18Гражданское право и процесс
19Жилищное право
20Законодательство зарубежных стран
21Земельное право
22Конституционное право
23Конституционное право зарубежных стран
24Международное право
25Муниципальное право
26Налоговое право
27Римское право
28Семейное право
29Таможенное право
30Трудовое право
31Уголовное право и процесс
32Финансовое право
33Хозяйственное право
34Экологическое право
35Юриспруденция
36Иностранные языки
37Информатика, информационные технологии
38Базы данных
39Компьютерные сети
40Программирование
41Искусство и культура
42Краеведение
43Культурология
44Музыка
45История
46Биографии
47Историческая личность
 
48Литература
 
49Маркетинг и реклама
50Математика
51Медицина и здоровье
52Менеджмент
53Антикризисное управление
54Делопроизводство и документооборот
55Логистика
 
56Педагогика
57Политология
58Правоохранительные органы
59Криминалистика и криминология
60Прочее
61Психология
62Юридическая психология
 
63Радиоэлектроника
64Религия
 
65Сельское хозяйство и землепользование
66Социология
67Страхование
 
68Технологии
69Материаловедение
70Машиностроение
71Металлургия
72Транспорт
73Туризм
 
74Физика
75Физкультура и спорт
76Философия
 
77Химия
 
78Экология, охрана природы
79Экономика и финансы
80Анализ хозяйственной деятельности
81Банковское дело и кредитование
82Биржевое дело
83Бухгалтерский учет и аудит
84История экономических учений
85Международные отношения
86Предпринимательство, бизнес, микроэкономика
87Финансы
88Ценные бумаги и фондовый рынок
89Экономика предприятия
90Экономико-математическое моделирование
91Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Не понимаю, как может выступать против ГМО страна, у которой на гербе птица с двумя головами.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, курсовая по программированию "Особенности создания математических формул в Web", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2017
Рейтинг@Mail.ru