您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > 用vb求方程ax2+bx+c=0的解。
沈阳航空航天大学课程设计学号__________班级__________姓名__________指导教师__________年月日沈阳航空航天大学学院:能源与环境学院专业:环境工程班级:环境1301学号:2013041201036题目:求方程ax^2+bx+c=0的解一、课程设计时间2014-2015第2学期第2周,共计1周,20学时。二、课程设计内容求方程ax^2+bx+c=0的解。先进行系统性初始化(输入系数a,b,c)存入一个文本文件中;从文件中读取数据再求方程的解(注意:要判断解存在的条件),最后绘制曲线。用户界面的菜单至少包括“系数初始化”,“求解方程“,”绘制曲线“,”退出“4项。三、课程设计要求程序质量:贯彻事件驱动的程序设计思想。用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:________学生签名:________五、成绩六、教师评语沈阳航空航天大学设计用纸第3页,共12页目录一、需求分析...................................................................4二、设计分析...................................................................4三、技术要点...................................................................5四、总结.........................................................................10五、完整的源程序.........................................................10六、参考文献.................................................................12沈阳航空航天大学设计用纸第4页,共12页一、需求分析求方程ax^2+bx+c=0的解,并且要先进行系数初始化先把数据存入一个文本文件中,在读取出来在求解,最后绘制曲线。所以系统最关键的两点是能求解并且能绘图。要求:(1)VB用户界面上的菜单至少包括“系数初始化”,“求解方程”,“绘制曲线”,“退出”4项菜单。(2)求解之前要先进行系数初始化,即:能将输入的a,b,c三个系数能存入文本文件中,求解和绘图时又能将之导出来。(3)能够判断任何一个一元二次方程是否有解,又能随时将有解的方程求出解。(4)能够画出任何一个二次函数的图像。二、设计分析(1)基本原理:用运算符和表达式将该方程表示出来,将各个系数先倒入再导出,就可以判断和求出方程的解了。同理也可以画出图像。……具体展开(2)总体设计:沈阳航空航天大学设计用纸第5页,共12页图1总体设计(3)详细设计:图2详细设计三、技术要点(1)进行数据初始化存入文本文档:PrivateSubxscsh_Click(IndexAsInteger)Dima#,b#,c#'声明变量a=InputBox(请输入a)'给变量赋值窗体1显示菜单创建3个组合窗体窗体2,3求根画图开始建立3个窗体窗体1显示菜单窗体2求解方程窗体3绘出图形作为欢迎界面判断有解并解出根画出图像沈阳航空航天大学设计用纸第6页,共12页b=InputBox(请输入b)c=InputBox(请输入c)Openf:\wbwd.txtForOutputAs#1'使用open语句向文件中写入数据Write#1,a,b,c,Close#1'使用close语句关闭文件EndSub(2)读取存入的数据信息并求解方程。Form1中程序段如下:PrivateSubqjfc_Click(IndexAsInteger)Form1.Hide'将form1隐藏Form2.Show'同时读取form2EndSubSubCommand1_Click()Form2中程序段如下:沈阳航空航天大学设计用纸第7页,共12页PrivateSubCommand1_Click()Dima#,b#,c#,d#,x1!,x2!'定义变量Openf:\wbwd.txtForInputAs#1'用open语句读取指定文件的数据Input#1,a,b,c'再赋值给a,b,cd=b^2-4*a*cIfd0Then'判断delt是否小于零MsgBox(无解)Elsex1=(-b-d^(1/2))/(2*a)'解出根x2=(-b+d^(1/2))/(2*a)EndIfPrintx1,x2'再把根打印出来EndSub(3)再次读取存入的数据,绘出方程的图像。Form1中的程序段如下:PrivateSubhzqx_Click(IndexAsInteger)Form1.Hide'将form1隐藏Form3.Show'同时读取form3EndSub沈阳航空航天大学设计用纸第8页,共12页Form3中的程序段如下:PrivateSubCommand1_Click()Dima#,b#,c#,y!,x!'声明变量Openf:\wbwd.txtForInputAs#1'用open语句读取指定文件的数据Input#1,a,b,c'再赋值给a,b,cForm3.Scale(-8,4)-(8,-4)'定义坐标系Line(-7.5,0)-(7.5,0)'画x轴Line(0,4)-(0,-1.9)'画y轴Forx=-4To4Step0.01'利用循环结构标记出在方程上的点y=a*x*x+b*x+cPSet(x,y)'使用pset方法画出指定的点NextxEndSub(4)退出程序代码如下:PrivateSubtc_Click(IndexAsInteger)EndEndSub沈阳航空航天大学设计用纸第9页,共12页(5)欢迎界面的设计。PrivateSubTimer1_Timer()Text1.Left=Text1.Left-100'使欢迎字符滚动IfText1.Left=0ThenText1.Left=5000'滚动到末端使之重复EndSubPrivateSubPicture1_Click()Picture1.Picture=LoadPicture(D:\新建文件夹\沈航)'向窗体添加图片EndSubPrivateSubform_load()Text1.FontBold=True'调整text中的字体Text1.FontSize=20EndSub沈阳航空航天大学设计用纸第10页,共12页四、总结这次课设我的题目是求方程ax^2+bx+c=0的解,通过这次课设让我了解了VB与数据库之间的联系,可以应用常用图形的绘制方法和数据的读和写进行联系,还可以通过VB语言进行运算。在课设过程中,我遇到了重重困难,例如:VB中如何存入数据,如何读取,如何画出图形。通过老师的指点和自己查阅资料,我克服了困难,顺利的完成了任务。同时我也了解了VB的出现是一场技术革命,它在生活中各个方面都能发挥巨大的作用,所以,学好VB是社会发展的需要。……五、完整的源程序PrivateSubform_load()Text1.FontBold=True'调整text中的字体Text1.FontSize=20EndSubPrivateSubhzqx_Click(IndexAsInteger)Form1.Hide沈阳航空航天大学设计用纸第11页,共12页Form3.ShowEndSubPrivateSubPicture1_Click()Picture1.Picture=LoadPicture(D:\新建文件夹\沈航)'向窗体添加图片EndSubPrivateSubtc_Click(IndexAsInteger)EndEndSubPrivateSubTimer1_Timer()Text1.Left=Text1.Left-150'使欢迎字符滚动IfText1.Left=0ThenText1.Left=3600'滚动到末端使之重复EndSubPrivateSubxscsh_Click(IndexAsInteger)Dima#,b#,c#'声明变量a=InputBox(请输入a)'给变量赋值b=InputBox(请输入b)c=InputBox(请输入c)Openf:\wbwd.txtForOutputAs#1'使用open语句向文件中写入数据Write#1,a,b,c,Close#1'使用close语句关闭文件EndSubPrivateSubqjfc_Click(IndexAsInteger)Form1.HideForm2.ShowEndSubPrivateSubCommand1_Click()Dima#,b#,c#,d#,x1!,x2!'定义变量Openf:\wbwd.txtForInputAs#1'用open语句读取指定文件的数据Input#1,a,b,c'再赋值给a,b,cd=b^2-4*a*cIfd0Then'判断delt是否小于零MsgBox(无解)沈阳航空航天大学设计用纸第12页,共12页Elsex1=(-b-d^(1/2))/(2*a)'解出根x2=(-b+d^(1/2))/(2*a)EndIf'再把根打印出来Printx1,x2EndSubPrivateSubCommand1_Click()Dima#,b#,c#,y!,x!'声明变量Openf:\wbwd.txtForInputAs#1'用open语句读取指定文件的数据Input#1,a,b,c'再赋值给a,b,cForm3.Scale(-8,4)-(8,-4)'定义坐标系Line(-7.5,0)-(7.5,0)'画x轴Line(0,4)-(0,-1.9)'画y轴Forx=-4To4Step0.01'利用循环结构标记出在方程上的点y=a*x*x+b*x+cPSet(x,y)'使用pset方法画出指定的点NextxEndSub六、参考文献[1]王亚杰.《VisualBasic语言程序设计教程》.沈阳航空航天大学。[2]……[3]……
本文标题:用vb求方程ax2+bx+c=0的解。
链接地址:https://www.777doc.com/doc-2202577 .html