文档介绍:符号多项式上向量加运算支持系统的设计和实现
摘要本课程设计主要是设计一系统来实现符号多项式上向量加运算。系统的设计主要包括对符号多项式进行数学建模和计算以及应用程序的开发两个方面。在课程设计中,系统开发平台为Windows XP,程序设计语言为C++,工具为VC++,程序运行平台为Windows 98/2000/XP。这一支持系统是在用户从界面输入需要相加的向量形式的符号多项式后,对用户输入的向量进行格式检测并分析,在分析中先计数逗号数目,并由此数目再加上数目1便得向量的分量个数(或称为维数),这样就可以进行循环处理各个分量的相加。在程序设计中,利用AppWizard生成一个应用程序框架,选择基于对话框的框架。程序通过调试运行,能够实现设计目标,并且经过适当完善后,将可以与其他处理符号多项式方面的系统综合应用在数学、工程和其他方面上解决实际问题。
关键词:符号多项式;向量;字符串;C++
1 引言
编写说明:
本节主要是对程序设计的背景、目的以及程序设计的基本思路进行初步的说明和分析。
目前在市场上有着多种先进的计算器,然而对能够处理符号多项式各种计算的计算器却几乎没见过。对于符号多项式的计算,首先是用户按照数学习惯输入需要进行计算的符号多项式,计算包括各种算术、逻辑运算以及自定义的运算;然后计算器系统能够按照数学规则来处理用户输入的符号多项式并把结果按照数学习惯输出。设计出这种功能的计算器对处理符号多项式有着很大的方便,能够在工程上,数学上和其他方面很灵活的去应用,很大程度上减少了工作量,实用性强,适用面广。
本课程设计主要是设计一系统能够支持符号多项式上向量加运算,该运算也可以作为上述处理符号多项式的计算系统功能设计的一部分。全程序中采用C++语言作为描述该系统程序设计语言,VC++作为开发工具,在程序的设计过程中,尽量考虑到用户的输入数学习惯,如:输入向量(5x^7+2x^3+8,3x^5)和(x^3+9x^2,6)就得到(5x^7+3x^3+9x^2+8,3x^5+6)等符号多项式的向量相加,这使得用户能够按照自己的输入习惯输入计算。这在很大程度上方便了用户的输入并增加了该程序的实用性,兼顾了市场上计算器的广度和深度。
从课程设计本质上讲,该课程设计的要求是:学会分析各个分量循环相加的数据结构的特性,以便为应用涉及的数据存入选择适当的逻辑结构、存储结构及相应的算法。并熟练对字符串的分析技术。另一方面,本课程设计的编辑过程也是复杂程序设计的训练过程,要求我们编写的程序正确易读,符合软件工程的规范并且要达到实现用户的要求(例如:输入/出符合数学习惯、等)。当然本程序设计除了用VC++编写算法外还提供了大量的MFC(Microsoft Foundationg Class)基础类库、应用程序向导和“可视化”的资源编辑器[1]。
课程设计目的
在结构化程序设计中关键是如何对用户的输入进行检测及字符串分析的问题,作为VC++集成开发环境提供了建立控制台应用程序的方法,为我们学习和掌握C++语言提供了非常好的开发环境,同时,它又很好的让我们更加熟练的掌握了C++语言以及MFC基础类库、应用程序向导和“可视化”资源编辑器。
2 系统分析与需求分析
编写说明:
本节主要是对该系统进行可行性分析和需求分析。可行性分析主要是针对系统开发必要性和可能性的研究;需求分析主要是针对用户的需求包括使用范围和功能要求的研究。
系统可行性分析
该系统主要是要实现符号多项式上向量加运算,因此系统应在用户从界面输入符号多项式后,按照系统设计的算法对不同的输入应作出正确的处理并通知给用户。
从前面的概述中可以看出,对于处理符号多项式方面的多功能计算系统目前还处在研究中,而我们在设计本课题时也是针对符号多项式的一个特殊计算即向量加运算。因此从对研究有关符号多项式的处理上来说本课题设计也是有着一定意义的。
在设计时我们应对用户输入的符号多项式进行输入检测,在此设计中我们可以运用到编译原理技术来进行输入检测,因此本系统如果能应用上编译技术那给检测也带了许多方便,也能说明此系统的结合性很强。
由于此课程设计是要求系统能支持对符号多项式上的向量加运算。因此在设计时我们支持用户按照输入格式即可进入系统运算。只要设计一个简单的界面便可达到预期的目的。
需求分析
向量运算处理。把从对话框读取的向量赋值给数组,并对数组分别进行计算维数处理,并划分向量的分量存储位置范围。
用户首先进入该程序的界面,在界面上在输入提示下输入合理的多项式A和B,用户确定无误后选择“确定计算”按钮,经程序检测后,若用户输入的多项式不符合程序中的约定,则出现“输入错误,请看输入提示”并清空多项式