简易计算器制作课程设计报告
程序设计 课程设计报告
设计名称: 系 (院): 专业班级: 姓 名: 学 号: 指导教师: 设计时间: 设计地点:
多功能计算器 计算机科学学院 网络工程 10902
周桂明 200905945
向华老师
2010.12.20 - 2010.12.31 4#2 号软件实验室
Monday Dec 20 2010
Monday Dec 20 2010
网络工程10902 周桂明 长江大学计算机科学学院
反双曲正切 Atanh(x)= Log((1 + x) / (1 – x)) / 2
反双曲余切 Acoth(x)= Log((x + 1) / (x – 1)) / 2
第7页 多功能计算器
(3)进制转换运算功能
10 转 16 :Convert.ToString ( int, 16 ); 10 转 8 :Convert.ToString ( int, 8 ); 10 转 2 :Convert.ToString ( int, 2 ); 16 转 10 :Convert.ToInt32 ( string,16 ); 8 转 10 :Convert.ToInt32 ( string,8 ); 2 转 10 :Convert.ToInt32 (string,2 );
第5页 多功能计算器
Monday Dec 20 2010
四、总体设计思路
网络工程10902 周桂明 长江大学计算机科学学院
1、粗略分析各个功能实现方法
第6页 多功能计算器
(1)基本的四则运算功能(粗略简述)
首先让用户输入一个字符串的运算式(支持键盘直接输入和计算器输入),当用户按下
回车键或计算器的等于键时执行运算操作,运算操作完成后返回运算结果并显示。运算操作
(5)角度,弧度,梯度运算功能
(注意:Math.Sin(x) x 为弧度) 角度转弧度:x / 180 * Math.PI 角度转梯度:x * 9 / 10
Monday Dec 20 2010
(6)其它普通功能
网络工程10902 周桂明 长江大学计算机科学学院
由于其它功能实现比较简单,这里不多加讲解。
双曲余弦 Cosh(x) = (Exp(x) + Exp(-x)) / 2
双曲正切 Tanh(x) = (Exp(x) – Exp(-x)) / (Exp(x) + Exp(-x))
双曲余切 Coth(x) = (Exp(x) + Exp(-x)) / (Exp(x) – Exp(-x))
反双曲正弦 Asinh(x)= Log(x + Sqrt(x * x + 1)) 反双曲余弦 Acosh(x)= Log(x + Sqrt(x * x – 1))
第8页 多功能计算器
(7)特殊功能 (创建子进程运行)
①标准计算器功能:去除科学计算器的大部分计算功能,剩下标准计算功能; ②批量处理计算器功能:利用读取txt文本功能,批量处理大量运算式(每行为一条运算式)
并返回结果保存txt文本,从而达到批量处理功能; ③矩阵相关运算功能:计算矩阵的加法,乘法,逆矩阵,等等运算(最大支持10维方阵); ④解方程组功能:可以对一条方程式求解或方程组(两条方程式组成)求解; ⑤算式积分,微分功能:可以对运算式求积分和微分; ⑥货币转换功能:当程序运行时,利用JS获取专业外汇网站 ”和讯外汇” 网页的货币兑换比
第 13 页 多功能计算器
3、统计功能测试
求样本数据 9 , 8 , 7 , 6 , 5 的总体方差
理论结果:2
Monday Dec 20 2010
网络工程10902 周桂明 长江大学计算机科学学院
第 14 页 多功能计算器
七、运营投入使用
本多功能计算器软件经过大量的测试完善后,不久将会运营投入使用,具体时间,另行
3、设计程序结构图 (UML)
第 10 页 多功能计算器
Monday Dec 20 2010
五、详细设计与实现
网络工程10902 周桂明 长江大学计算机科学学院
1、构建绘制系统框图(UI)
第 11 页 多功能计算器
Monday Dec 20 2010
大学计算机科学学院
第 15 页 多功能计算器
附页:(详细代码)
using System; using System.Collections; using System.Text; using System.Windows.Forms; namespace Calculator {
public partial class Form1 : Form {
1、粗略分析各个功能实现方法…………………….…. 6 2、设计程序流程图………………………………….…. 9 3、设计程序结构图(UML)………...…………….…. 10 五、详细设计与实现 …………………………..………….… 11 1、构建绘制系统框图(UI)………… …………….… 11 2、编写相关代码……………………………………..… 12 六、程序测试………………………………………….…....… 12 七、运营投入使用…………………………..…………...…… 14 八、课程设计小结………………………………………...….. 14 附页:(详细代码)………………………………………...….. 15
第4页 多功能计算器
Monday Dec 20 2010
网络工程10902 周桂明 长江大学计算机科学学院
(20)记录数据求总和功能。 (21)记录数据离均差平方和功能。 (22)记录数据求值差功能。 (23)记录数据求样本和总体方差功能。 (24)记录数据求样本和总体标准差功能。
特殊功能:
(1)标准计算器功能。 (2)批量处理计算器功能。 (3)矩阵相关运算功能。 (4)解方程组功能。 (5)算式积分,微分功能。 (6)货币转换功能。 (7)单位转换功能。 (8)物理相关运算功能。 (9)化学相关运算功能。
网络工程10902 周桂明 长江大学计算机科学学院
第2页 多功能计算器
目录
一、课程设计目的和意义……………..………...…………… 3 二、课程设计任务和要求………………………………….… 3 三、功能需求分析……………………………………………. 4 四、总体设计思路……………………………………………. 6
(4)阶乘运算功能
通常我们所说的阶乘是定义在自然数范围里的,但是也存在小数的阶乘即广义阶乘,这伽玛 函数有关; 普通阶乘:自然数范围里的阶乘;(这里不多加讲解,注意: 0!= 1 ) 广义阶乘:Math.Sqrt(2.05585 * Math.PI * x) * Math.Pow((x / Math.E), x)
#region 全局变量 特征数据 public static char Angle = 'j'; //(记录当前)弧度,梯度,角度 public static int FHex = 10; //(记录当前)进制 public static bool FSize = true; //(记录当前)窗体大小 伸缩作用 #endregion
学好 “ 程序设计 ” 仅仅通过课堂教学或自学获取理论知识是远远不够的,还必须加 强实践,亲自上机输入、编辑、检查、修改、调试和运行各种典型算法。在此引用向华老师 的名言:想学好程序设计,写代码,再写代码,还是写代码!
指导老师意见: 成绩:
教师签名:
年月日
Monday Dec 20 2010
网络工程10902 周桂明 长江大学计算机科学学院
例,并保存数据为XML格式,从而达到以后不联网状态正常运行; ⑦单位转换功能:用XML制定单位换算比例数据并属性选择嵌入到EXE程序中; ⑧物理相关运算功能:对一些物理固定公式求法进行相关计算求解; ⑨化学相关运算功能:对一些化学固定公式求法进行相关计算求解;
(由于本次课程设计仅针对科学计算器的实现,上述特殊功能这里暂不多讲解和分析,将在 多功能计算器 V2.0 版本时全部实现,并分析设计流程和公开程序测试,敬请期待!)
Monday Dec 20 2010
网络工程10902 周桂明 长江大学计算机科学学院
三、功能需求分析
(1)基本的四则运算功能。 (2)三角函数运算功能。 (3)幂函数运算功能。 (4)对数函数运算功能。 (5)度分秒转换运算功能。 (6)进制转换运算功能。 (7)与,或,非,异或运算功功能。 (8)角度,弧度,梯度运算功能。 (9)科学计算法显示功能。 (10)求余运算功能。 (11)绝对值运算功能。 (12)阶乘运算功能。 (13)左右移位运算功能。 (14)取整数运算功能。 (15)取小数运算功能。 (16)倒数运算功能 (17)统计记录功能。 (18)记录框控制操作功能。 (19)记录数据平均值功能。
发布,敬请关注 /stoodcreat
八、课程设计小结
课程设计对学生而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要 的意义。通过课程设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容。
程序设计课程设计是计算机类各专业的重要课程,也是其他诸多类专业的重要选修课。 开设这门课可以为理解、应用和开发程序提供技术和方法支持,为后续课程的学习提供重要 思想和方法基础。同时对于学生逻辑思维培养和程序设计思想体系的建立有着重要的影响。
果进入堆栈,反复循环,直到计算完毕后输出计算结果)
(2)三角函数运算功能
由于VS2008 C#编译器中已经封装的大量的三角函数运算操作符,这里仅列举部分作为参
考:已经封装好的这里不多加分析,仅列举没有封装的操作符的计算方法。使用方法:例子:
sin(x) 则为 Math. sin(x) ;
双曲正弦 Sinh(x) = (Exp(x) – Exp(-x)) / 2