欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    第五章 选择分支与循环嵌套.docx

    • 资源ID:17514049       资源大小:76.75KB        全文页数:24页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第五章 选择分支与循环嵌套.docx

    1、第五章 选择分支与循环嵌套第五章 选择分支与循环嵌套5.1 分支结构与分支结构语句 (2个例子)5.2 循环结构与循环结构语句(6个例子)5.3 程序实例(10个例子)习题练习 (11个例子)5.1 分支结构与分支结构语句5.1.1 IF-Then-Else-End If 结构语句结构一般如下:If e Then A组语句 Else B组语句 End Ife 为判决条件,可以是逻辑变量,关系表达式或逻辑表达式。当A组语句仅有一个时,可简化为 :If e Then 例如,程序代码:If Text1.Text = “” Then Text1.SetFocus End If可以简化为:当文本框中文本

    2、为空时,则使得文本框成为焦点。 If Text1.Text = “” Then Text1.Setfocus (省去End If)较为复杂的结构如下:If e1 Then 如果e1为True,则执行A1组语句 A1 组语句ElseIf e2 Then 如果e2为True,则执行A1组语句 A2 组语句 End If 例题5-1 已知三角形的三边长度,设计求此三角形面积的程序。问题分析:a + b c & a + c b & b + c a , S = sqr(p(p-a)(p-b)(p-c) , p=(a+b+c)/2算法设计:开始输入a、b、c判断a + b c & a + c b & b

    3、+ c a,通过则求p,求S,否则提示:“输出数据错误信息”结束。设计程序代码如下:Private Sub Command1_Click( ) Dim a As single, b As single, c As single a = Val(Text1.text) Text 属性为字符串型,转为数值型 b = Val(Text2.text) c = Val(Text3.text) If a + b c and a + c b and b + c a Then p = (a+b+c)/2 s = sqr(p*(p-a)*(p-b)*(p-c) Text4.text = CStr(s) 数值型,

    4、转为字符串型,不使用,则自动强制转换 Else Text4.text = “数据错误” End If End SubPrivate Sub Command2_Click ( ) 结束程序 End End SubPrivate Sub Command3_Click ( ) 清除原有数据 Text1.text = “” Text2.text = “” Text3.text = “” Text4.text = “” Text1.SetFocusEnd Sub 例题5-2 一个有多个分支的示例程序数学表达式:,试写出该程序。程序界面设计:两个文本框和一个命令按钮及相应的说明标签,文本框1中输入测试数据

    5、,单击命令按钮,在文6本框2给出测试结果。Private Sub Command1_Click ( ) Dim x as Integerx = Val(Text1.Text )If x 1 Then Text2.Text = “这是小于1的数”ElseIf x 20, Is “P”) B组语句 ( 4 ) 多个范围的组合 Case Else n组语句End Select例题5-2 的程序代码也可用本结构语句实现:Private Sub Command1_Click ( ) Dim x as Integer x = Val(Text1.text) Select Case x Case Is 1

    6、Text2.Text = “这是小于1的数” Case 1 To 10 Text2.Text = “这是1到10之间的数”Case Else Text2.Text = “这是大于10的数” End SelectEnd Sub 5.2 循环结构与循环结构语句循环语句按结构分:当型结构和直到型TrueFalseTrueFalse结构的区别仅仅是False和 True 位置交换,下为当型的两种结构:A5.2.1 Do-Loop 循环语句结构四种结构形式:(1) Do While e (2) Do Exit Do Exit Do Loop Loop While e (3) Do Until e (4)

    7、 Do Exit Do Exit Do Loop Loop Until e前两种为当型结构,后两种为直到型结构,Do语句Loop语句之间为循环体语句,循环体语句包含一条或多条Exit Do语句,如果程序执行到Exit Do语句,就会直接退出循环,转而执行Loop语句的下一条语句。 Exit Do 语句最常用的形式是与If-Then结合,即为:If e Then Exit Do在执行循环体时,如果条件e被满足,则执行Exit Do语句,直接退出循环。 例题5-3 设计采用欧几里得算法求解两个自然数的最大公约数的程序。问题分析及界面设计:界面参照例题5-1,算法如下:例题 2-1求两个自然数的最大

    8、公约数的算法。(辗转相除法) S1.输入两个自然数M、N; S2.求M除以N的余数R; S3.使得M=N,即为N替换M; S4.使得N=R,即为R替换N; S5.如果R0,则重复执行S2、S3、S4(循环),否则转S6 S6.输出M,M即为M、N的最大公约数。程序设计如下:Private Sub Command1_Click( ) Dim m as Long, n as Long Dim r as Long m = Val(Text1.Text) 取数据mBasic实现INPUT m,nDOr=m MOD nm=n n=rLOOP UNTIL r=0PRINT mEND n = Val(Tex

    9、t2.Text) 取数据n If m 1 Or n1 Then 检验数据合法性 Text3.Text = “数据错误!” Else Do 求最大公约数 r = m Mod n m = n n = r Loop Until r = 0 Text3.Text = Csr(m) End SubPrivate Sub Command3_Click ( ) 清除原有数据 Text1.text = “” Text2.text = “” Text3.text = “” Text4.text = “” Text1.SetFocus End SubPrivate Sub Command3_Click () En

    10、d End Sub5.2.2 For-Next 循环结构语句如果事先知道循环次数,则可使用For-Next 循环结构语句,它的一般形式如下: For v = e1 to e2 Step e3 Exit For e1为初值,判别v是否超过e2,若超过,退出循环,执行Next语句的下条。 Next v 执行Next语句,系统执行下述操作:v = v+ e3v 是循环控制变量,应为整型或单精度型;e1、e2、e3为控制循环的参数。e1为初值,e2为终值,e3为步长(e1 =1 时可省)。For-Next 循环的正常循环次序可用下式计算: 循环次数= Int(e2-e1)/e3) +1如下面程序代码:

    11、Private Sub Form_Click() For i = 1 To 10 Step 2 Print i; Next i Print “i =”; iEnd Sub 例题5-4 求1 10 这十个数的和与连乘积的程序。Option ExplicitPrivate Sub Form_Click() Dim i As Integer, s As Integer s = 0 Print s=; For i = 1 To 10 s = s + i If i 10 Then Print i; +; Else Print i; =; End If Next i Print sf = 1 Print

    12、f=; For i = 1 To 10 f = f * i If i = “A” And Mid(a , I , 1) = “Z”Then t = t & Mid( a , I , 1) 从字符串a 左边第I个位置开始向右取一个字符 End If Next I For I = Len(t)to 1 Step -1 d = d & Mid ( t , I , 1) Next I Text2.Text = d End Sub Private sub Cmd2_Click ( ) Text1.Text = “” Text2.Text= “” Text1.SetFocusEnd SubPrivate

    13、sub Cmd3_Click ( ) EndEnd SubPrivate sub Form_Load() MsgBox “本程序的功能是将一个从由字母、数字组成的字符串中找到所有大写字母并逆序输出”, “示例程序”End Sub5.2.3 循环嵌套大循环套小循环,小循环一定包含在大循环之内,而不得相互交叉。程序示例: Private Sub Form_Click ( ) For i = 1 to 9 For j = 1 to 9 Print i ; “*” ; j ; “ =” ; i*j Next j Print Next i End Sub 例题5-6一个模拟摇奖器的程序。设有100个人中

    14、签,要从中找出中奖人。由机器自动产生1000个1100间的数据,第1000个随机数据即为中奖人的号码。问题分析:产生01之间随机数的函数Rnd(x), 其中0=Rnd(x) 0 Then X = Val(Text1.Text) Label2.Caption = “Log(X) = ” Text2.Text = Str(Log(X) Else MsgBox”输入数据错误!”, 48 + vbOKOnly,”程序示例” Text1.Text = “” Text1.SetFocus End IfEnd Sub Private Sub Cmd3_Click( ) 求Sqr (X) If Text1.T

    15、ext = “” Then MsgBox”请输入X的值!”, 16 + vbOKOnly,”程序示例” Text1.SetFocusElseIf IsNumeric(Text1.Text)And Val( Text1.Text) 0 Then X = Val(Text1.Text) Label2.Caption = “Sqr(X) = ” Text2.Text = Str(Sqr(X) Else MsgBox”输入数据错误!”, 48 + vbOKOnly,”程序示例” Text1.Text = “” Text1.SetFocus End IfEnd Sub Private Sub Cmd4_

    16、Click( ) 求Sgn(X) If Text1.Text = “” Then MsgBox”请输入X的值!”, 48 + vbOKOnly,”程序示例” Text1.SetFocusElseIf IsNumeric(Text1.Text)And Val( Text1.Text) 0 Then X = Val(Text1.Text) Label2.Caption = “Sgn(X) = ” Text2.Text = Str(Sgn(X) Else MsgBox”输入数据错误!”, 48 + vbOKOnly,”程序示例” Text1.Text = “” Text1.SetFocus End

    17、IfEnd Sub Private Sub Cmd5_Click( ) Text1.Text = “” Text2.Text = “” Label2.Caption = “” Text1.SetFocusEnd SubPrivate Sub Cmd6_Click( ) EndEnd Sub 例题5-8 编写一个按月收入额计算个人收入调节税的应用程序。计税公式如下:Tax =式子中,income 为纳税人的月收入。 界面设计与思路:输入、输出文本框各一个,选择框一个,按钮三个。设计代码如下: Option Explicit Private Sub Command1_Click() Dim Tax

    18、 As Single, income As Single income = Val(Text1.Text) If Check1.Value = 1 Or income = 1600 Then Tax = 0 ElseIf income = 2100 Then Tax = (income - 1600) * 0.05 ElseIf income = 3600 Then Tax = (income - 1600) * 0.1 - 25 ElseIf income = 6600 Then Tax = (income - 1600) * 0.15 - 125 ElseIf income = 21600

    19、 Then Tax = (income - 1600) * 0.2 - 375 ElseIf income = 41600 Then Tax = (income - 1600) * 0.25 - 1375 ElseIf income = 61600 Then Tax = (income - 1600) * 0.3 - 3375 ElseIf income 101600 Then Tax = (income - 1600) * 0.45 - 15375 End If Text2.Text = Tax End SubPrivate Sub Command2_Click() Text1.Text =

    20、 Text2.Text = Text1.SetFocusEnd Sub Private Sub Command3_Click() Unload MeEnd Sub 例题5-9 编写程序,找出所有三位数水仙花数。所谓水仙花数,是指各位数字的立方和等于该数本身的数。例如:153 = 1+3+5,所以153是一个水仙花数。改错:Private Sub Command1_Click() Dim i As integer, a As Integer, b As Integer, c As Integer, e As Long For i = 100To 999 取三位数 a = Int(Val(i/10

    21、0) b = Int(Val(i-a*100)/10) c = i-a-b e = a3+b3+c3 If e = i then Text1.Text = CStr(e) Next iText1.Text = CStr(e) End Sub Private Sub Command2_Click() EndEnd Sub 方法一 : (三位数依次循环)Private Sub Command1_Click()Dim i As Long, a As Long, b As Long, c As Long, e As Long, f As String For i = 100 To 999 a = i

    22、100 b = (i - a * 100) 10 c = i - a * 100 - b * 10 e = a 3 + b 3 + c 3 If i = e Then f = I &”=”&”3+” &b&”3+”&c&”3” List1.AddItem f End If Next iEnd Sub方法二 :(三位数每位循环一次)Option ExplicitPrivate Sub Command1_Click()Dim i As Integer, a As Integer, b As Integer, c As Integer, e As Integer, f As String For a = 1 To 9 For b = 0 To 9 For c = 0 To 9 e = a 3 + b 3 + c 3 i = 100 * a + 10 * b + c


    注意事项

    本文(第五章 选择分支与循环嵌套.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开