分享
分享赚钱 收藏 举报 版权申诉 / 5

类型VB上机实验八.doc

  • 上传人:tkhy51908
  • 文档编号:7014514
  • 上传时间:2019-04-30
  • 格式:DOC
  • 页数:5
  • 大小:68KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    VB上机实验八.doc
    资源描述:

    1、Visual Basic 语言上机实验八实验名称:循环结构程序设计(2 学时)一、实验目的1. 掌握 WhileWend和 For语句的使用。2. 掌握 Do While/UntilLoop与 Doloop While/Until两种循环语句的使用。3. 加深理解循环的概念,掌握循环的规则及其执行过程。4. 学会如何控制循环条件,防止死循环或不循环。二、背景知识如果在指定的条件下多次重复执行一组相同的语句可以通过循环来实现,VB 提供了下面几种形式的循环语句:1For 循环语句For 循环变量 = 初值 To 终值 Step 步长语句块Exit For语句块Next 循环变量说明:在使用这种循

    2、环语句时,要求循环执行的次数预先可以确定。循环次数由初值、终值和步长值 3个因素确定,计算公式为:循环次数 = Int(终值初值)/步长 + 1)2DoLoop 循环语句说明:(1)在循环次数不能确定的情况下,就需要用到 DoLoop循环语句。(2)格式 1是先判断循环条件是否成立,然后决定是否执行循环体;格式 2是先执行循环体,再判断循环条件是否成立,也就是说,不管循环条件是否成立,格式 2都至少执行一次循环体。(3)在格式 1和格式 2中使用关键字 While实现的循环称为“当型循环” ,即当循环条件成立时,反复执行循环体,直到循环条件不成立时为止;使用关键字 Until实现的循环称为“直

    3、到型循环” ,即当循环条件不成立时,反复执行循环体,直到循环条件成立时为止。3. WhileWend语句While 语句块Wend说明:此语句是为了保持与低版本 Visual Basic兼容而保留的。在实际应用中,它与格式 1:Do WhileUntil 语句块Exit Do语句块Loop格式 2:Do 语句块Exit Do语句块Loop WhileUntil Do WhileLoop结构非常相似。三、实验举例注:实验举例的内容不需要再上交作业。实例 1 求自然对数的底 e 的近似值,要求其误差小于 10-6,求 e近似值的公式为:e = !1!321!n分析:本实例涉及到程序设计中的两个重要

    4、的运算:累加和连乘。累加是在原有和的基础上逐次地加上一个数;连乘则是在原有积的基础上逐次地乘以一个数。在本题中可以定义三个变量,s 用来表示累加和,初值为 0;i 用来计数,表示第几项,初值为 0(表示第 1项,即加数“1” ) ;t 用来表示加数,初值为 1,加数中用到连乘运算,容易找到后项与前项的关系为 ,编程时可先iiniii )!()!()1(21! 根据上一个加数计算出下一个加数,然后进行累加,循环次数事先不能确定,可以采用DoLoop循环语句来实现,将题目规定的误差范围作为循环条件。据此编写程序代码如下:Private Sub Form_Click()Dim s As Single

    5、, i As Integer, t As Doubles = 0: i = 0: t = 1Do While t 0.000001s = s + t 累加和i = i + 1 为下一项作准备t = t / i 计算出下一项的值LoopMsgBox “共计算了 “ & i & “项的和是“ & sEnd Sub程序运行时,单击窗体,运行结果如图 8.1所示。当然,本题也可以使用 For循环语句来编程。但由于循环次数事先不能确定,因此需预设一个较大的循环次数(可以根据题目合理选择) ,然后在循环体内判断是否达到规定的误差,如果达到了可采用 Exit For语句立即终止循环。据此编写程序如下:Pri

    6、vate Sub Form_Click()Dim s As Single, i As Integer, t As Doubles = 0: t = 1For i = 1 To 100If t 10a = a - 1If a Mod 13 = 0 And a Mod 7 = 0 Thenfound = found + 1Print aEnd IfWendEnd Sub实例 3 输入任意一个整数,将其反向输出。例如输入 1234,则输出 4321。分析:实现任意一个整数的反向输出,首先应该将这个数的每个数字位给拆出,然后再把它们按照反序重新组合。假设整数 a由文本框 Text1获得,编写程序如下:

    7、Private Sub Form_Click()Dim a As Long, b As Integer, d As Longa = Val(Text1.Text)d = 0Do While a 0b = a Mod 10 获得当前数的最低位d = d * 10 + b 将得到的数位组合到变量 d中a = a 10LoopPrint dEnd Sub说明:在上面的程序中,循环的对任意一个数 a进行了“Mod 10”和“整除 10”的运算,目的是依次地得到整数的各个数位,得到一个数位后使用累加将其组合到新的变量中。四、实验内容1.从键盘输入 10个数值,统计其中正数、负数和零的个数。要求:窗体文件

    8、保存为 Vbsy81.frm,工程文件保存为 Vbsy81.vbp。2.编写程序,找出 1100 之间的全部同构数。所谓同构数是指一个自然数平方的最后几位正好是该自然数本身,例如 52=25,25 2=625等。提示:本题可利用字符串函数 Right和 Len。根据自然数的长度取出其平方数的最后若干位进行比较。要求:窗体文件保存为 Vbsy82.frm,工程文件保存为 Vbsy82.vbp。3.利用公式 求圆周率 ,直到最后一项的绝对值小于 10-4为止。9175314要求:窗体文件保存为 Vbsy83.frm,工程文件保存为 Vbsy83.vbp。4.编写一个测试打字准确率的程序。首先由程序

    9、随机产生一段 30个大写字母的范文,然后用户对照产生的范文进行输入,完成后显示输入准确率。在窗体上画 3个名称分别为Label1Label3 的标签,再画 3个名称分别为Text1Text3 的文本框和 2个名称分别为Command1、Command2 的命令按钮。程序运行界面如图 8.2所示。程序运行后,单击“产生范文”(Command1)命令按钮,则在文本框 Text1中生成 30个大写字母的范文;在文本框 Text2中输完 30个字符后,单击“测试结果” (Command2)命令按钮,则在文本框 Text3中显示出打字的准确率。据此填空,将下面的程序补充完整。Private Sub Co

    10、mmand1_Click() 产生 30个字母的范文Dim i As Integer, str As String * 1RandomizeText1.Text = “Text2.Text = “Text2.SetFocusText3.Text = “For i = 1 To 30str = 随机产生一个大写字母Text1.Text = Text1.Text + str 将产生的字母连入范文框Next iEnd SubPrivate Sub Text2_Change()If Then 键入满 30个字符Command2.Enabled = True “测试结果”命令按钮激活ElseComman

    11、d2.Enabled = FalseEnd IfText3.Text = “ Text2文本框内容改变时,应重新计算准确率End SubPrivate Sub Command2_Click() 完成打字准确率的计算Dim y As Integer, i As Integer, r As Singley = 0 For i = 1 To 30 将两个文本框中的字符逐个比较If ThenEnd IfNext ir = y / 30 * 100Text3.Text = 0.1 * Int(10 * (r + 0.05) & “%“ 显示正确率,保留一位小数End Sub要求:窗体文件保存为 Vbsy84.frm,工程文件保存为 Vbsy84.vbp。图 8.2 打字练习程序运行界面提示:(1)为保证程序正确运行,在属性窗口中应将文本框 Text1和 Text3的Locked属性设置为“True” ,将文本框 Text2的 MaxLength属性设置为“30” ,将命令按钮Command2的 Enabled属性设置为“False” 。 (2)大写字母的 ASCII值在整数 6590 之间,知道了大写字母的 ASCII值,可以利用 Chr函数将其转换成对应的字符。

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:VB上机实验八.doc
    链接地址:https://www.docduoduo.com/p-7014514.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开