




已阅读5页,还剩55页未读, 继续免费阅读
(课程与教学论专业论文)基于wims的数学聊天室的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 本系统的目的是为了方便老师和学生,特别是理工科的在网上进行问题的探讨。研 究方法是先收集资料,特别是国内外关于数学聊天室的软件和一些关于公式可以在网页 中显示的文章。然后进行分析,利用w i m s 脚本、h t m l 语言和5 a v a s c r i p t 进行软件的开 发。本软件可以在聊天的时候,进行公式正确、美观的显示,进行一些简单的计算。系 统的创新之处就是把聊天室和w i m s 进行有机的结合,使该软件具有可以在网络上讨论数 学问题的功能。 虽然当前i n t e r n e t 已经广泛地应用,通过i n t e r n e t 随时可以查找所需的资料和信 息。但唯一不足的是从事理工领域等的科学家们无法利用w e b 广泛地进行学术交流。其 理由很简单,这些科学家们在w e b 页中表现含有数学公式的问题时,无法进行公式的输 入。因此,一种能够简单的输入数学公式,正确、漂亮显示公式和进行数学计算的聊天 室的产生非常有必要。鉴于目前市场上聊天类软件同公式显示没有结合起来,因此本系 统利用w i m s 的公式显示和计算能力与聊天室联系起来,成为本论文的创新点。 文章的开头说明本论文学术背景以及论文理论和实际意义、国内外文献综述、本软 件的主要研究内容和产生的背景以及对数学教学的影响。 第二章中,作者重点的介绍了聊天的相关知识和公共网关接口。 第三章中,作者详细的说明了在系统中如何实现一些数学功能。 最后一章是本论文的结束语,介绍了作者以后的工作方向。 关键词交互式数学服务器;公共网关接口;数学聊天室;客户端;服务器端 a b s t r a e t a b s t r a c t t h ep u r p o s eo ft h i ss y s t e mi sf o rt h es a k eo fc o n v e n i e n c et ot e a c h e r sa n ds t u d e n t s e s p e c i a l l yw h o mb ei nt h ef i e l do ft e c h n o l o g y t h em e t h o do fh o wt oa c h i e v et h i sp a p e ri sa s b e l o w t h ef i r s t s t e p i sc o l l e c t i n ga l lk i n d so fr e s o u r c ea n dr e f e r e n c e e s p e c i a l l yt h e d o m e s t i ca n di n t e m a t i o n a la r t i c l e sa b o u tt h a tf o r m u l ac a nb es h o w e db e a u f i f u l l yi nt h ew e b a n ds o f t w a r ea b o u tt h em a t h e m a t i c a lc h a tr o o m l es e c o n ds t e pi sa n a l y z i n gt h e m t h e s o f t w a r ew a sp r o g r a m m e d 谢mt h el a n g u a g e so fw l m sp o s t s c d p 6h t m la n dj a v a s c r i p t n l e f o r m u l ac a nb ed i s p l a y e db e a u t i f u l l ya n dc o r r e c t l yi nt h ec h a tr o o mw h i c hc a r la l s od e a l 、i t h s o m eb a s i cc a l c u l a t i o n s n ec r e a t i v ep o i n t so ft h es y s t e ma r et h a tm a k i n gag o o di n t e g r a t i o n b e t w e e nc h a tr o o ma n dw 五m sa n dt h e nm a k et h es o r w a r eh a v et h ef u n c t i o no fs o l v i n gs o m e m a t h e m a t i c a lp r o b l e m so nt h ei n t e m e t a l t h o u g ht h ei n t e r n e ti sw i d e l yu s e de v e r y w h e r en o w a d a y s y o uc a nf i n dt h ed a t aa n d i n f o r m a t i o nw h i c hy o un e e do nt h ei n t e m e t b u tt h es h o r t c o m i n go ft h ei n t e r a c ti st h a tt h e s c i e n t i s t so ft e c h n o l o g yc a r tn o tc o m m u n i c a t e 谢me a c ho t h e rw i d e l yt h r o u g hi n t e r a c t n l e r e a s o ni ss os i m p l e ,t h e yf e e ld i f f i c u l tw h e nt h e yc o n f r o n tt h ep r o b l e m st h a th o wt oi n p u tt h e f o r m u l ai nt h ew e b s oac h a tr o o mi nw h i c hc o m p l e xf o r m u l ac a nb es h o w e db e a u t i f u l l yi ss o e s s e n t i a lt op e o p l e b e c a u s et h e r ea r en oc h a tr o o mw i t ht h ef u n c t i o no f m a k i n gac o m b i n a t i o n w i t hc h a tr o o ma n df o r m u l ao u t p u tc o r r e c t l yi nt h ec h a tr o o mi nt h em a r k e tn o w a d a y s s ot h e c r e a t i o n so ft h es y s t e ma r eal i n kb e t w e e nw i m sa n dc h a tr o o mw i t hs o m em a t h e m a t i c a l f u n c t i o n sa n dt h i sc h a tr o o ms h o u l dc o m et ob i r t h a tt h eb e g i n n i n go f t h ep a p e r , m a i n l yi n g o d u c t i o na b o u tt h eb a c k g r o u n do f t h ep a p e ra n d t h em e a n i n gi nt h e o r ya n dr e a l i t y , t h eb a s i ci n 打o d u c t i o na b o u tt h ed a t ai nc i v i la n da b r o a da n d t h ec o n t e n ta b o u tt h es o f t w a r em a i n l ys t u d y a tl a s t ,s o m ei n g o d u c t i o n sa b o u tt h eb a c k g r o u n d o f t h es y s t e m sb i r t ha n dt h es y s t e m si m p a c tt ot h em a t h e m a t i c a le d u c a t i o n i nc h a p t e r2 ,t h ea u t h o rf o c u s e so nt h ek n o w l e d g ea b o u tac h a tr o o ma n dc o m m o n g a t e w a y i n t e r f a c e i nc h a p t e r3 ,t h ea u t h o rm a i n l yk t u sa b o u th o wt oa c h i e v es o m em a t h e m a t i c a lf u n c t i o n s i nt h ec h a tr o o m a tt h el a s tc h a p t e r , s o m ei n t r o d u c t i o n sa b o u tt h em e a n i n go ft h ep a p e ra n dt h et a s ka n d t t t 基于w i m s 的数学聊天室的实现 d i r e c t i o nw h i c hm u s tb ef i n i s h e di nt h ef u t u r e k e yw o r d s :w w wi n t e r a c t i v e m a t h e m a t i c ss e r v e r :c o m m o ng a t e w a yi n t e r f a c e m a t h e m a t i c a lc h a tr o o m :c 1 l e n t :s e r v e r i v 广州大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指 导下,独立进行研究工作所取得的成果。除文中已经注明引 用的内容外,本论文不含任何其他个人或集体已经发表或撰 写过的作品成果。对本文的研究做出重要贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律 后果由本人承担。 学位论文作者签名:w 锄仫日期:加巧年莎月二日 广州大学学位论文版权使用授权书 本人授权广州大学有权保留并向国家有关部门或机构送 交论文的复印件和磁盘,允许沦文被查阅和借阅。本人授权 广州大学可以将学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇 编学位论文。( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:坊 。 导师签名: 日期:年多月2 日 日期:2 ,口湃6 月1 嵋。 第一章绪论 第一章绪论 国内外有很多的聊天软件,例如q q 、m s n 和i c q 等,还有y a h o o 的雅虎通软件和泡 泡等工具,这些软件使用起来非常的方便,例如文字的处理,表情的处理,语音聊天, 文件的传送都达到一定的要求。美中不足的是,该类软件不能显示数学公式和进行复杂 的数学计算等,这就限制了老师和学生进行问题的探讨和交流。 1 1 本论文的学术背景及理论和实际意义 在网络上显示公式对在线教育非常重要。今天的浏览器还不能支持直接的公式输入 和显示,人们普遍采用一些图形的方法在网页中显示公式。当前i n t e r n e t 已被广泛地应 用,通过i n t e r n e t 随时可以查找所需的资料及信息,方便地球各个角落的人进行广泛的 交流。但唯一不足之处是从事理工域的科学家们无法利用网页( w e b ) 进行广泛的交流。其 理由很简单,这些科学家们在w e b 中表现含有数学公式的问题时,有很多不便之处,例 如怎样输入数学公式,如何编辑数学公式等。现在在w e b 中显示数学公式的普遍方法是 首先利用程序进行编辑,然后捕捉( c a p t u r e ) 数学公式,井保存在h t m l 文件中,然后打 开h t m l 文件,将图片链接之后进行表现。此方法不仅让用户必须通过繁琐的操作才可以 完成在w e b 中表现数学公式的程序,而且给维护及管理带来很多不便,因为公式作为图 片,在网页中不能随意的缩放,不易排版,而且因为是图片格式,不能再随意编辑。这 就促进了在w e b 中表现数学公式的简便方法的问世。 1 2 国内外文献综述 现在h t m l 并没有定义这种表示数学公式的特殊排版格式。从h t m l 的标准来看,如 果考虑公式的定义( 必然还要考虑到其它的特殊功能) ,郝么整个标准将变得繁复不堪。 由于时m l 定义中存在了天然的局限性,这个问题必然要留给x m l 技术来解决。x m l 语言 可以自由定义各种标签,并使得这些标签表示特定的含义及形式,随着x m l 技术的诞生 及快速发展,人们已经制定了一套专门用于表示数学符号及数学公式的标记语言 m a t h ,。 基于w i m s 的数学聊天室的实现 1 2 1 a n y e q 韩软公司的w e b 数学公式编辑器a n y e q 是基于文杰2 0 0 2 的数学公式编辑技术,在 w e b 页浏览器( i e ) 中利用a c t i v e xt e c h n o l o g y 技术以a c t i v e xc o n t r o l 来启动该程序 的。利用w e b 数学公式编辑器可在w e b 中自由表现数学公式,并在各种网页以及公告栏 中简便、快速地编辑所需的数学公式。该软件实现了文杰2 0 0 2 中的数学公式编辑技术与 h t m l 、a c t i v e xt e c h n o l o g y 技术的嫁接。a n y e q 的运行界面如下图1 - 1 所示: 图卜1a n y e q 界面 f i g u r e1 1a n y e qi n t e r f a c e 该软件可以新建自己的宏,可以删除宏和重命名宏。可以把右边区域显示的公式复 制成o l e 对象,h t m l 脚本对象和复制成文杰2 0 0 2 脚本。可以把所得的公式保存为b m p 图片的格式和默认的h e m 格式,可以改变公式的颜色等。可以在网页中方便的插入各种 复杂的数学公式,可以对公式进行放大和缩小,但是不能对中文进行支持,这是a n y e q 的一个缺点。 1 2 2m a t h m l 第一章绪论 示为。 l l o o o l l o o 1 2 3w e b e q w e b e q 是基于模板的一种设计思想, 板、矩阵模板、上标模板和下标模板等, 你可以插入各种模板,例如分数模板、根式模 然后填写相应的空格。在填写空格的时候,你 基于w i m s 的数学聊天室的实现 可以通过键盘输入字母和数字,也可以从面板中选择。另外,w e b e q 定义了丰富的抉捷 方式,例如上标模板,你可以通过快捷方式“c t r l + h ”方式来得到。 w e b e q 的特别之处就是其保存功能:首先,可以通过h t m la p p l e t 的方式保存,保 存的公式时候可以设置公式的前景色和背景色。浏览器通过阮b e qv i e w e r 控件来显示公 式。其次,可以通过把编辑的公式作为图片来保存,图片的格式可以是g i f 、j p e g 、p n g 的形式。最后,可以把编辑的公式以m a t h m l 标签的形式来保存,插入到h t m l 的网页中。 w e b e q 中的公式以丰富的形式呈现,通过改变字体( f o n t ) 大小和颜色来改变显示方 式,通过改变公式的前景色和背景色来改变呈现方式。同时可以通过改变操作符的属性、 表的属性、空格的属性和层的属性来显示复杂多变的数学公式。w e b e q 的界面如下图卜2 所示,简单明确,功能强大。 图卜2w e b e q 界面 f i g u r e 】一2w e b e qi n t e r f a c e 1 2 4m a t h t y p e 国外可以在w e b 中显示和编辑公式的软件有m a t h t y p e 。m a t h t y p e 是一个强大的公式 编辑器,能够在各种文档中加入复杂的数学公式和符号。m a t h t y p e 与常见文字处理工具 紧密结合,支持o l e ( 对象的连接与嵌入) ,可以在任何支持o l e 的文字系统中调用,比 4 第一章绪论 w o r d 中的公式编辑器能够显示更多的、更复杂的数学表达式。唯一不足的地方是对中文 的支持没有w o r d 中公式编辑器好,随着版本的增加,功能将进一步的完善。m a t h t y p e 有 如下几个方面的优点: ( 1 ) 直观易用、所见即所得的用户界面,与w i n d o w s 等环境中各种文字处理软件兼容。 ( 2 ) 自动智能改变公式的字体和格式,适合各种复杂的公式,支持多种字体。 ( 3 ) 支持t e x 和l a t e x ,以及国际标准m a t h m l ,能够把公式转化成各种图形。 ( 4 ) 附加几十种专用符号字体,数百种公式符号和模板,涵盖数学、物理、化学、地理 等科学领域。 m a t h t y p e 的界面如下图1 - 3 所示,其中的符号比w o r d 中的公式编辑器多,覆盖面 广,其中的公式选自张景中院士的平面几何新路一书。 1 2 5s c i w r i t e r 图卜3m a t h t y p e 界面 f i g u r el 一3m a t h t y p ei n t e r f a c e s c i w r i t e r 是一种基于x m l 的科学编辑器,它完全的把数学公式的输入和文本的输 入集中于同一个环境中。默认的文挡格式是x h t m l + m a t h m l 2 0 的形式,s c i w r i t e r 文档 5 基于w i m s 的数学聊天室的实现 可以导出为l a t e x 的格式,也可以作为p d f 格式发布,同时可以转化成p o s t s c r i p t 格式 或者是d v i 形式,还可以以网页的形式发布。s c i w r i t e r 可以在网页上以两种形式发布: 一种是以x h t m l + m a t h m l 的形式,另一种是h t m l + m a t hi m a g e s 的形式。s c i w r i t e r 的界 面如下图卜4 所示: 图卜4s c i w r i t e r 界面 f i g u r e1 4s e i w r i t e ri n t e r f a c e 该软件的功能非常强大,可以将x m l 转化成l a t e x 形式、编译l a t e x 、d v i 转化成p d f 格式文件、预览p d f 文件等。编辑的文档可以在各种不同的浏览器中显示,例如可以在 f i r e f o x 、m o z i l l a 、i n t e r n e te x p l o r e r 中显示。同时该软件还可以进行拼写检查和f t p 管理,格式和符号没有一一列举出来,而是以对话框的形式出现,这样使界面简洁,美 观。 1 2 6w h 讧s 1w i m s 的介绍 w m s ( w w wi n t e r a c t i v em a t h e m a t i c ss e r v e r ) 对谈式数学服务器是一个专门为数学 教学而设计的一个网络信息系统。 第一章绪论 w i m s 服务器是由一个核心程序w i m s c g i 和各种不同的活动单元,称之为模块的单 元组成。客户端可以通过h t t p 请求w i r e s c g i 来访问服务器。访问的时候需要带上参数, 其中参数包括模块的名称,请求的类型和模块需要的参数。基于请求,w i m s c g i 处理请 求的模块,把用户的参数传递给相应的模块,最后把模块生成的结果返回给客户端。 一个模块可以由在一个目录中的许多脚本文件组成,这些脚本文件是能够被 w i r e s c 西所识别的脚本所写,也就是利用w i m s 脚本来编写的脚本文件。这些脚本语言 同样的包含了一些能够调用外部数学软件来完成复杂计算的命令,特别是调用不同的自 由数学软件的命令。这种命令可以被w h l l s c g i 程序处理并且发送到接口程序来处理请求, 然后检查其安全性,返回处理后的输出。其运行图如下面图1 5 所示: 图1 - 5w i m s 结构图 f i g u r el 一5t h es t r u c t u r eo fw i m s 基于w i m s 的数学聊天室的实现 2 同其他软件比较的优缺点 ( 1 ) 用户不需要安装软件和更新软件。由于w i m s 的安装和更新都在服务器端进行, 所以在网络的任何一端,即客户端,只需要一个一般的浏览器就行。 ( 2 ) 用户不需要学习软件包的用法和语法。由于w i m s 采用标准的h t m l 用户接口, 特别是学生用户,仅仅需要掌握使用浏览器的一般知识即可。但是现代的数学软件就不 是这样了,所有的数学软件都需要经历一个短期或者是长期的熟练过程。 ( 3 ) 它提供了一种收集知识和积累经验的方式。w i m s 是一个模块化的系统,每一 个应用程序是一个单独的模块,模块之间又是通过标准的h t m l 方式同系统中其他的模块 联系。这样允许模块独立的发展和完善。 ( 4 ) 它使学生和老师能够通过几种方式进行交互。w i m s 是以班级结构为组织,以 班级贯穿系统。它允许老师分配作业给学生,在规定的时间内得到关于学生学习的进度 和难度等可靠的信息。它还可以让老师对学生进行个别的辅导。 ( 5 ) 它提供在不同的组件,例如在练习和计算工具之间进行动态交互的功能。同时, w i m s 在完成某些特定的工作比专业的软件更强大,因为w i m s 使用不同的软件作为后 台引擎,甚至对一个应用或请求使用几个软件共同来完成。 任何东西有自己的优点,同时也必须有自己的缺点,那么w i m s 的不足地方表现在 哪昵? ( 6 ) 低速度。因为w i m s 的每一个响应都要通过网络来传输,所以处理的速度低, 但随着网络的速度的提高而提高。 ( 7 ) 有限的计算功能和编程能力。如果某用户需要完成一个复杂的计算或者是设计 一个复杂的脚本完成特定的任务,那么他应该去使用专用的合适的软件。 ( 8 ) 有限的图形接口的能力。h t m l 图形用户接口不适合交互式的工作。 3w i m s 的当前特征 ( 1 ) 可以用可扩展性编程来实现h t m l 网页,能够进行变量替换和条件匹配 w 1 m s 对h n n l 的扩展性编程,在客户端不需要任何插件和附件,所有的w i m s 命令 都被w l v i s 服务器在把结果送到客户端之前进行了处理,发送之前的处理结果是一个标 准的网页。 ( 2 ) 可以动态的插入图片,图形和t e x 格式的数学公式到网页中 第一章绪论 例如,你可以把下面的一行插入到你网页中。在客户端,访问者将可以看到 r e x 格 式的矩阵,矩阵中元素的值位于变量$ m a t r i x 之间。 ! i n s t e x $ $ l e 硝$ m a t r i x h i g h t ) $ $ ( 3 ) 同外部强大的软件包直接交互 举个例子来说,你可以通过下面的行来定义一个变量f a c t o r ! l e tf a c t o r = ! e x e cp a r ip r i n t ( f a e t o r ( $ n u m b e r ) ) 当执行到这一行的时候,变量f a c t o r 将被当前的值所替代,软件包p a r i 调用字符串 “p r i n t ( f a c t o r ( $ m a x _ l e n g t ho r $ p a s s l e n $ m a x _ l e n g t h t h ei n f o r m a t i o ni st o ol o n g ! l e tn o e r r o r l = n o e n d i f ! i f $ 1 0 9 i n _ l e n $ m i n _ l e n g t ho r $ p a s s l e n $ m i n _ l e n g t h ! ! t h ei n f o r m a t i o ni st o os h o r t 2 0 ! l e tn o _ e r r o r l = n o e n d i f 第二章聊天室和公共用关接口 ! ! 用户名和密码都正确部分的处理 ! f o ri t os r e g i s t e ru s e r n u m b e r l e tu s e r _ i n f o = ! r e c o r d $ io fu s e r l i s t ! u s e r i n f o = $ u s e r i n f o 把信息输出来 l e tp o s i t i o n o f d i v p o s i t i o n o fc h a r i n $ u s e r i n f o l e tu s e r n a m e = ! c h a r1t o $ $ p o s i t i o n o f d i v i o fs u s e r _ i n f o l e tu s e r _ p a s s= ! c h a r $ $ p o s i t i o n o f d i v + 1 t o 一1o f $ u s e r _ i n f o i f $ l o g i n = = $ u s e r n a m ea n d $ p a s s = = $ u s e r _ p a s s ! l e t u s e r _ e x i s t = y e s l e x i t e n d i f n e x t1 输入密码错误部分 ! f o rk ! l e t 1 1 e t ! l e t ! l e t ! i f $ l ! l e t ! e x i t ! e n d i f ! n e x tk t o $ r e g i s t e r _ u s e r n u m b e r u s e r i n f o = ! r e c o r ds ko f p o s i t i o n o f d i v = ! p o s i t i o n o f u s e r l i s t c h a r i n $ u s e ri u s e r _ n a m e = ! c h a rlt o “$ p o s i t i o n o f d i v 一1 o f u s e r _ p a s s = ! c h a r $ $ p o s i t i o n o f d i v + 1 t o 一1 o g i n = = $ u s e r _ n a m ea n d $ p a s s ! = $ u s e r _ p a s s p a s s _ e r r o r2y e s 输入用户名不正确部分 n f o $ u s e ri n f o o f $ u s e r i n f o 基于w i m s 的数学聊天室的实现 f o rs _ - t o $ r e g is t e r u s e r n u m b e r ! l e tu s e r i n f o = ! r e c o r ds so fu s e r l i s t ! l e tp o s i t i o n o f d i v = ! p o s i t i o n o fc h a r i n $ u s e r _ i n f o ! l e tu s e r _ n a m e = ! c h a r1t o $ $ p o s i t i o n o f d i v 一1 o f $ u s e r i n f o ! l e tu s e r _ p a s s = ! c h a r $ $ p o s i t i o n o f d i v + 1 t o o f $ u s e r i n f o i f $ 1 0 9 i n ! _ s u s e r _ n a m e ! l e tl o g i n _ e r r o r = y e s ! e n d i f n e x ts 2 5 公共网关接口 2 5 10 8 i 的介绍 c g l ( c o m m o ng a t e w a yi n t e r f a c e ) 是h r r p 服务器与你的或其它机器上的程序进 r 交 谈”的一种工具,其程序需运行在网络服务器上。 服务器与c g i 程序交换信息的协定方式是通过环境变量实现的。无论什么请求,c 西 程序总能在特定位置找到某些信息。无论环境变量怎样定义,总有一些变量有着特定的 含义。 环境变量是一些保存用户信息的内存区。例如,所有的机器都有一个p a t h 环境变量, 当在当前目录找不到文件时,就要求查找p a t h 变量。当服务器接到一个请求后,它首先 要收集能得到的所有相关信息,并把它放入内存。那么,服务器需要收集什么样的信息 呢? 关于服务器自身的详细信息 关于用户的详细信息 关于用户请求的详细信息 第二章聊天室和公共删关接u 提高编程的速度和清晰性,对于c g i 程序的四种操作如下: 初始化,结束处理 收集输入信息 处理输入 生成输出 一个简单的w e b 表单与c g i 的应用如下图2 - 4 所示: 2 5 2c g i 工作流程 图2 4 w e b 表单和c g i f i g u r e2 - 4w e bf o r ma n dc g l w e b 服务器向c 垂程序求助的时候对话就开始了,首先,服务器通知c g i 程序它有话 要说,通常用户将含有特定任务的消息传给服务器,并且有完成此项特定任务的特定文 件,这个特定文件是指c g i 程序文件,因此进入了对话状态。 1 建立连接 要运行一个c g i 程序,服务器首先要找到该程序。服务器无须终止一切工作到处寻 找c g i 程序,它通常知道c g i 程序通常在何处。对大多数服务器来说,c 西程序一般位于 c g i - b i n 目录下。当服务器找到已有的e g i 程序后,如果该程序有效,服务器就开始对话, 这就是初始化阶段。在c 西脚本被调用之前,双方需要首先互相打招呼,像人们平时打 招呼一样。 基于w i m s 的数学聊天室的实现 2 开始工作 服务器与c g i 程序之间的对话一旦开始,服务器就应该告诉c g i 程序它需要什么。因 为每个c g i 程序一般来说都有其特殊的功能,所以被调用的c g i 程序已经隐式地说明了一 些服务器的要求,正如你找一位擅长数学的朋友来帮忙做家庭作业或者找一个会美术的 朋友来为你的小屋画一张画。 2 5 3g e t 方式和p o s t 方式 对于g e t 方式,用户向服务器上的程序传递少量信息,而得到大量的反馈信息,如 一般的搜索引擎使用的就是这种方式。当客户端通过g e t 方法发送请求,所有的数据都 放在q u e r y - s t r i n g 环境变量中。c g i 程序要返回处理结果给客户端时,它通过标准输出 流将结果数据传递给服务器守护进程,服务器再把处理的结果返回给客户端。 对于p o s t 方式,用户将向服务器上的程序传递大量的信息,而得到的是少量的信息, 如通过w e b 方式填写登记表一般都采用这种方式。p o s t 方法把数据传递到c g i 程序的标 准输入,这种方法能传递更多的信息。 2 6 本章小结 本章主要是介绍有关聊天室的相关知识,系统的介绍了关于聊天室的一些功能的实 现和聊天室中所用到的相关知识。功能实现部分包括了聊天室的框架和登陆模块的设计 与实现。聊天室中用到的相关的知识,例如聊天室的类型、c o o k i e 和j a v a s c r i p t 、公共网 关接口等的介绍。通过本章的介绍,可以更加清楚的了解该系统的工作原理和开发本系 统需要准备的前期知识。 2 4 第三三章聊灭室中数学功能的实现 第三章聊天室中数学功能的实现 3 1 公式输入模块 在数学聊天的时候,首先考虑的是公式的怎样输入的问题。现在各种输入法中只能 对少数的数学符号进行直接的输入,而绝大多数数学符号是不能直接输入的。 在编辑含有数学公式的网页时,人们通常采用两种方法。一类是间接方法,即利用 网页浏览器能够表示的对象来表示数学公式,如利用一些作图工具来画出一些数学公式, 然后将图片插入到网页中去。另一类是直接方法,即制定一套专门用于表现数学公式, 类似于h t m l 语言的数学语言,让网页浏览器能够识别这些语言并且能够把数学公式完 美的显示出来。 总的来说,公式的输入可以分为两类,线性方式和非线性方式。线性方式的优点是 编辑速度快,几乎可以用任何文本编辑器编辑。缺点是入门时记忆量大,不直观,且编 辑时容易出错。非线性方式输入的优点是直观,容易理解,少记忆。但缺点是往往需要 鼠标和键盘并用,输入的速度反而变慢。 理想的输入方式,即所见即所得的方式。在网页中能够进行编辑,能够进行图片的 缩放,能够进行拖动等操作。在本聊天室中采用了半智能化的手段,即不用记忆各种符 号对应的l a t e x 形式,点击对应的符号就能显示l a t e x 形式于消息框中。 下图3 1 是聊天室中公式显示的界面,各种数学符号能够在聊天室中美观的显示。 图3 1 聊天室中公式的显示 f i g u r e3 - 1n l e f o r m u l ad i s p l a y e di nt h ec h a t r o o m 2 5 基于w i m $ 的数学聊天室的实现 3 2 公式显示模块 在w i m s 系统中,h t m l m a t h 利用h t m l 标签产生尽可能漂亮的数学公式,这种方式 产生的公式速度快,但是由于h t m l 语言的限制产生的公式不美观,并且只能产生简单的 公式。 在w i m s 系统中,最强大的产生公式的命令是i n s t e x 。它需要带t e x 形式参数并且 把它转化成图形文件,然后把这个图形插入到命令所在的地方。i n s t e x 命令有一个特点, 它能够检测到插入的公式是静态的还是动态的。对于前者来说,为了提高速度,产生的 图形文件存储在一个永久和单独的地方,以便后来的调用。如果形式参数是动态的,也 就是说,如果表达式中包含变量替换,i n s t e x 产生一个临时的存储图形文件的目录。这 个目录将不会被调用,这就保证表达式将随着条件的改变而改变。为了使浏览器不重新 使用缓冲中的图形,在图形文件的地址上附加一个唯一的时间标志来区分不同的图形。 到目前为止,动态的插入图片的i n s t e x 操作还不太令人满意。即使用一个i n s t e x 命 令来进行一个动态的插入也会有延时发生。实际上,命令i n s t e x 韵机制就是把t e x 资源 转化成一个d 、,i 文件,然后基于d v i p s 转化成一个p o s t s c r i p t 文件,最后利用c o n v e r t 命 令转化成g i f 文件。最后一步利用g h o s t s c r i p t 来解析且转化p o s t s c r i p t 文件,就是在这个 过程将会有延时的发生。如果有一个直接的从d v i 文件转化成g i f 文件的手段,那么速度 将会大大的提高。 m a t h m l 标准提供了一种特别有趣的产生数学公式的能力。w i m s 将打算支持这种标 准,但是到目前为止,这种方法还没有实现。因为大多数浏览器都不能识别m a t h m l 。 当我们达到这样的一个阶段,那就是说如果所有的浏览器都能支持m a t h m l ,服务器必 须有一种能够检测客户端支持m a t h m l 的能力,并且只给支持m a t h m l 的浏览器发送 m a t h m l 代码。这种方式可以通过分析包含在h t t p _ v s e r a g e n t 环境变量中的浏览 器的名称和版本,但是理想的解决办法是通过h t t p 协议,有个标准变量来表明浏览器 是否支持m a t h m l 。 一旦浏览器的m a t h m l 能力得到确认,现在我们需要做的是如何从个粗略的表达 式中或者是从t e x 形式公式来产生m a t h m l 代码。另外一种方法是创建个单一的输出 命令,它能够接受普通的输入作为参数,然后自动的根据环境来产生合适的输出。 第三章聊天室中数学功能的实现 公式显示,是本论文的中心部分,如何让一个数学表达式在网页中正确的显示,是 论文的关键之点。象下面的图3 2 就是一些复杂的公式在聊天室中的显示,聊天室中的 分式的显示、根式的显示、绝对值的显示、上标的显示和下标的显示,这些都可以在本 聊天室中正确美观的显示。例如我们要表示公式万干矿,那么我们需要在消息框中键 入“s s h o w ( s q r t ( a 2 + b 2 ) ) $ ”,然后按发送按扭后结果会显示出来a 图3 - 2 复杂的公式在聊天室中的显示 f i g u r e3 - 2t h ec o m p l e xf o r m u l ad i s p l a y e di nt h ec h a t r o o m 那么像图3 - 2 中这样的数学公式是怎样产生的昵? 假设我们的表达式对应的变量名 为s o u r c e ,那么我们只要用命令! i n s m a t h $ s o u r c e 或者! i n s t e xs s o u r c e 就可以完成显 示。前者是把相应的数学表达式转化成h t m l 标签产生尽可能漂亮的公式,或者将数学表 达式转化成t e x 资源,再用t e x 编译器转化成图片。后者直接利用t e x 编译器把t e x 资源形 式转化成图片。在本聊天室中的公式的显示主要是通过这样两种方式实现的。如果客户 端浏览器能够解析m a t h m l ( 数学标记语言) ,那么服务器将表达式转化成m a t h m l 的形式, 然后输出到浏览器中。 如果是基于w i n d o w ss o c k e t 类的数学聊天室,那公式又是怎样在客户端显示的呢? 数学公式的显示主要采用的是建树的思想,也就是把表达式中的不同的数字、字符和符 号显示在不同的矩形内,再通过画出不同矩形的正确位置而得到公式的正确显示。 基于w i m s 的数学聊天室的实现 先把表达式利用特定的算法生成二叉树( b i n a r yt r e e ) 结构,这种算法在一般的数据 结构教材中都有介绍。生成的二叉树的每个节点( c n o d e ) 都是表达式中的一个元素( 数字、 字符和符号) ,一个节点又有左右子节点,以及节点自身的内容。在按照中序遍历的方式, 先显示树中根的左子树,再访问根节点,最后遍历根的右子树。递归的调用显示矩形的 函数,这样整个表达式的正确位置就会被显示出来。 3 3 绘制图形模块 熟悉m a p l e 学生可能知道,在m a p l e 中,我们要画一个函数或者是表达式的图形, 我们可以借助下面的命令来实现。命令p l o t ( - - 维作图) 、p l o t 3 d ( - 一维作图) 、a n i m a t e ( 动画 制作) ,这些命令的输入参数类型为两类:公式或函数。例如利用m a p l e 画f ( x ) = s i n ( x ) + c o s ( x ) 在0 到万之间的图象,通过命令p l o t ( s i n ( x ) + c o s ( x ) ,0 p i ) 就可以得到如 3 3 的函数图象,p l o t s o u r c e 的格式无论在p l o t 或者是p l o t 3 d 中参数的格式都一样, 支持三维图形的绘制。如图3 - 3 所示。 0 5 d 口5 ,八、 、 i i 如1 怯。量 5 j 爿 图3 - 3f ( x ) = s i n ( x ) + c o s ( x ) 的在 0 ,疗 之间的图象 f i g u r e3 - 3t h eg r a p ho ff ( x ) b e t w e e n0t o 玎 在w i m s 内部是怎样实现画图功能的呢? 那就是在系统里调用了g n u p l o t 后台软件, 然后把结果返回到客户端。在本系统中,如果我们要画f ( x ) = s i n ( x ) 的图象,我们只要 在消息文本框中输入文本“d r a w ( s i n ( x ) ) ”,默认的情况下是二维的函数图象,我们可 2 8 第三章聊天室中数学功能的实现 以通过参数的改变来画出三维的函数图象。例如同样要画y = s i n ( x ) 的三维图象,在文本 框中输入“d r a w ( s i n ( x ) ,3 ) ”即可达到要求。在该聊天室中,有各种数学运算的命令, 对于初学者来说很难记忆,在本系统只需要点击需要的运算,就能把运算规则显示在文 本框中。我们聊天时需要对几个图形进行比较,在该系统中也能达到要求,比如比较函 数f ( x ) = s i n ( x ) 和g ( x ) = c o s ( x ) 的图形,可以在消息框中输入 “$ d r a w ( s i n ( x ) ) $ d r a w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年吉林省特岗教师招聘考试职位表模拟试卷完整答案详解
- 2025黑龙江东北林业大学党委学生工作部校内招聘4人模拟试卷及答案详解(必刷)
- 2025年泰和县上圯水厂面向社会公开招聘模拟试卷附答案详解(黄金题型)
- 2025春季中国有研科技集团有限公司校园招聘模拟试卷及一套答案详解
- 2025年国网陕西省电力有限公司第二批录用人选模拟试卷及答案详解(典优)
- 2025年湖南邵阳城步县事业单位选调28人考前自测高频考点模拟试题及参考答案详解
- 2025湖南省怀化学院高层次人才公开招聘100人模拟试卷及答案详解(易错题)
- 2025吉林省矿业集团有限责任公司遴选31人考前自测高频考点模拟试题完整参考答案详解
- 2025年中国电信江苏公司春季校园招聘笔试题库历年考点版附带答案详解
- 2025年河北雄安新区新建片区学校公开选聘校长及骨干教师13人考前自测高频考点模拟试题参考答案详解
- 大圆满前行考试题及答案
- 2025贵州毕节威宁自治县面向社会招聘城市社区工作者17人考试参考试题及答案解析
- 建筑工地垃圾清理与处理方案
- 修井现场安全培训内容课件
- 2022届辽宁省大连市高三一模语文试题
- 企业后备干部培养及管理办法
- RB/T 089-2022绿色供应链管理体系要求及使用指南
- 某某集团年度经营计划编制指引
- 山区道路施工施组
- 数控heidenhain说明书TNC直接提供两种加工孔模板的循环
- GB/T 42453-2023信息安全技术网络安全态势感知通用技术要求
评论
0/150
提交评论