第六课选择结构一.doc_第1页
第六课选择结构一.doc_第2页
第六课选择结构一.doc_第3页
第六课选择结构一.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北仑中学 算法与程序设计 自编教材第六课 选择结构一 一、顺序结构程序应用 例1 编写一个求解一元二次方程实数根的程序,要求:输入一元二次方程ax2+bx+c=0的a、b、c三个系数的值,输出求解结果。 (1) 设计界面打开VB,在窗体中添加5个文本框、5个标签、1个命令按钮,如图1,注意各个对象的名称。Label5Label4Label3Label2Label1Command1Text4Text5Text3Text2Text1(图1 求解一元二次方程的程序界面)(2) 设置属性对象属性属性值Form1Caption一元二次方程(自己姓名)Label1Captiona=Label2Captionb=Label3Captionc=Label4Captionx1=Label5Captionx2=Command1Caption求解Text1Text(空白)Text2Text(空白)Text3Text(空白)Text4Text(空白)Text5Text(空白)(3) 编写代码首先要明确编程的对象和事件,在本例中,是对command1对象的click事件编写程序,双击command1按钮,打开代码编写窗口。算法:定义用到的变量取得a的值取得b的值取得c的值计算b2-4ac的值赋给d计算第一个根x1计算第二个根x2显示x1的值显示x2的值VB程序:Dim a,b,c,d,x1,x2 as singlea=val(text1.text)b=val(text2.text)c=val(text3.text)d=b*b-4*a*cx1=(-b+sqr(d)/(2*a)x2=(-b-sqr(d)/(2*a)text4.text=str(x1)text5.text=str(x2)算法到程序 注意上面两个框中每句话和代码的对应,体验从算法到程序语言的转变。 点击“运行”菜单启动,调试程序,在三个文本框中分别输入a、b、c的值,点“求解”按钮,测试程序。分别用1 3 1 、1 2 1 、2 1 1 三组数据测试。用2 1 1 这组数据测试时程序出错了,请思考为什么?二、选择结构例1中编写的一元二次方程求解程序在使用测试数据 2 1 1 时产生错误,是由于在程序设计时没有对b2-4ac是否大于等于零进行判断,更准确的算法应为:算法:定义用到的变量取得a的值取得b的值取得c的值计算b2-4ac的值赋给d如果d大于等于0 ,那么计算第一个根x1计算第二个根x2显示x1的值显示x2的值否则 提示“无实数根”结束如果VB程序:Dim a,b,c,d,x1,x2 as singlea=val(text1.text)b=val(text2.text)c=val(text3.text)d=b*b-4*a*cif d=0 then x1=(-b+sqr(d)/(2*a)x2=(-b-sqr(d)/(2*a)text4.text=str(x1)text5.text=str(x2)else label6.caption=”无实数根”endif算法到程序为了显示提示信息,需要在图1的程序界面上再添加一个标签对象label6 ,设置caption属性值为空白。注意从算法到程序的过程中,有加粗字的行的对应,像这样出现“如果那么,否则”形式的话,就是属于选择结构程序了,需要用到VB中的if 语句,简化的流程图如图2:d=0 吗?图2Y开始求解两个根结束输出无实数根获取a、b、c的值,计算dN这是典型的两分支结构,对应的VB语句结构就是:计算d的值If d=0 then 求解两个根,输出Else 输出无实数根Endif如果再进一步完善,还可以考虑输入的a的值是否为0 ,流程图如图3:d=0 吗?图3Y开始求解两个根结束输出无实数根获取a、b、c的值NA0 吗?输出 “不是一元二次方程”YN计算d图3中的一个分支就是图2的内容,典型的分支结构的嵌套,对应的VB语句结构为:If a0 then 计算d的值If d=0 then 求解两个根,输出Else 输出无实数根EndifElse输出“不是一元二次方程”Endif根据上面的结构,继续修改command1对象的click事件的代码,代码编写完成后输入测试数据0 1 1 进行测试,查看程序是否正常运行。 程序运行时,如果无实数根或不是一元二次方程,还可以将text4、text5、label4、label5这4个对象不显示,这些对象都有一个visible属性,将属性值设置为false就可以不显示这个对象。例如输出无实数根时,可以设置不显示这些对象,代码示范如下:Label6.caption=” 无实数根”Text4.visible=falseText5.visible=falseLabel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论