VB 程 序 设 计 实 验 报 告
2020年  05  月  20  日
课程名称:        VB程序设计        实验名称:      实验四 循环结构
1、实验目的
1.掌握For语句的使用
2.掌握Do语句各种形式的使用
3.掌握如何控制循环条件,防止死循环或不循环
4.掌握滚动条、进度条和定时器控件的使用
2、实验内容
实验4-1
用单循环和Print 方法显示有规律的图形,可通过Form_Click 事件实现,如图2.4.1 所示。
实验4-2
用单循环实现如图2.4.2 所示的界面。
实验4-3
求s=1+(1+2)+(1+2+3)+(1+2+3+4)+ ? +(1+2+3+4+ ? +n)
实验4-4
筛选在 Text1 文本框输入的字母字符,并反序在Text2 中存放,界面如图2.4.4 所示
实验4-5
计算s = 1 + 1/2 + 1/4 + 1/7 + 1/11 + 1/16 + ……当第 i 项的值 <10 -4 时结束
实验4-6
编一程序,显示出所有的水仙花数。所谓水仙花数,是指一个 3 位数,其各位数字立方和等于该数字本身。例如, 153 是水仙花数,因为 153 = 1^3 +5^3+3^3
实验4-7
计算π 的近似值, π 的计算公式为:
π=2*2^2/1*3 ×4^2/3*5*……*(2*n)^2/((2n-1)*(2n+1))
实验4-8
求 Sn=a+aa+aaa+aaa+ ? aa? aaa(n 个 a) ,其中 a 是一个由随机数产生的 1~ 9( 包括 1,9) 中的一个正整数, n 是一个由滚动条产生的 5~ 10( 包括 5,10) 中的一个数。
实验4-9
任意改变文本的字号。要求利用滚动条和标签控件实现对标签字体大小的任意改变,如图2.4.8 所示。
实验4-10
将 Image 图像装入图片,利用水平和垂直滚动条改变图像控件的大小来实现对图片进行任意大小的缩放,如图2.4.9 所示。
实验4-11
利用 TextBox 、ProgressBar 、Timer 控件设计一个带有进度条的倒计时程序,如图 2.4.10 所示。要求倒计时时间以分为单位输入,以秒为单位显示,进度条指示的是倒数读秒剩余时间,即填充块的数目是随时间减少的。当在文本框输入分钟数按回车键时,开始进入倒计时,进度条也随之减少。
实验4-12
参阅教材例4.29 ,用迭代法求x=a^(1/3)求立方根的迭代公式为:Xi+1=2/3Xi+a/3Xi^2
迭代到为止,为方程的近似解。显示 a=3 、27 的值,并通过求 a^(1/3)的表达式加以验证。
实验4-13
一个富翁试图与陌生人做一笔换钱生意,换钱规则为:陌生人每天给富翁 10 万元钱,直到满一个月( 30 天);而富翁第一天给陌生人1 分钱,第二天2 分,第三天4 分,……,富翁每天给陌生人的钱是前一天的两倍,直到满一个月。分别显示富翁给陌生人的钱和陌生人给富翁的钱为多少?
实验4-14
用计算机安排考试日程。期末某专业在周一~周六的6 天时间内要考x,y, z 三门课程,考试顺序为先考x,然后考y,最后考z,规定一天只能考一门,且z 课程只能安排在周五或周六考。编写程序安排考试日程(即x, y, z 三门课程各
在那一天考),要求列出满足条件的所有方案。
3、实验分析及设计
实验4-1
( 1)对于特殊字符 " ★ " 、 " ☆" 通过汉字标准输入的软键盘菜单中的 " 特殊符号 " 命令来实现。
( 2)用 String(n, " ★ ") 函数产生重复字符串,如:String(5, " ★") 将产生" ★★★★ " 。
( 3)通过循环结构确定显示的起始位 Tab(20-2*i) ,显示有规律的子串, " ★ " 的列宽约为 2。
实验4-2
利用Chr 函数将字母编码值转换成字母
实验4-3
用 For 单循环求前30 项和。
用 Until 求多项式和,直到和大于5000 为止。
实验4-4
① 要考虑字母的大写和小写。
② 首先利用Len 函数求 Text1.Text 字符串长度,然后利用For 循环结构和Mid 函数逐一取字符进行判断是否为字母,若是字母,则利用语句“ Text2.Text= 字母& Text2.Text ”将字母连接到Text 文本框前面,实现反序
实验4-5
①第i 项的分母是前一项的分母加 i
②因为事先不知循环次数,应使用Do While 循环结构;也可利用For 循环结构,设置循环的终值为一个较大的值,当满足精度后退出循环。
实验4-6
利用三重循环,将三个数连接成一个 3 位数进行判断
实验4-7
同时要防止大数相乘时结果溢出的问题,将变量类型和常数 2 改为双精度型
实验4-8
为了得到不断重复a 的 n 位数 Temp ,可用如下程序段实现:
Temp=0
For i=1 To n
Temp=Temp*10+a
Next i
实验4-9
①将滚动条的Min 、 Max 分别设置为字号的最小值和最大值;
②当拖动滑块时,字体取原来值,字号跟着变化
实验4-10
①将 Image 图像 Stretch 属性设置为True ,使得图片随着图像控件大小的改变而变化;
②将滚动条的最大值和最小值与图像控件放大和缩小的大小相关联。
实验4-11
注意数据类型,防止数据溢出
实验4-12
假定 x0 的初值为 a,根据迭代公式得x1用 x1 代替 x0 继续迭代。
实验4-13
设富翁第一天给出的钱为 0.01 ,第 2 天给出的钱为前一天的两倍,即,如此重复到30 天,累计求得富翁给出的钱远远超出陌生人给出的10 万 *30 =300 万
实验4-14
用三个for循环和选择语句实现
4、程序代码
实验4-1
Private Sub form_load()
For i = 1 To 9
    Print Tab(2 * (9 - i) + 2); String(2 * i - 1, "★")
Next i
End Sub
实验4-2
Private Sub form_load()
For i = 1 To 9
    Print Tab(i); String(2 * (10 - i), Chr(64 + i))
Next i
End Sub
实验4-3
Private Sub command1_click()
Dim s As Integer
For i = 1 To 30
    For j = 1 To i
        s = s + j
    Next j
Next i
Text1.Text = "前30项的和 = " & s
End Sub
Private Sub command2_click()
Dim s As Integer, i As Integer, n As Integer
n = 1
i = 1
Do
    s = s + n
    i = i + 1
    n = n + i
Loop Until (s > 5000)
    Text2.Text = "前30项的和 = " & s
End Sub
实验4-4
Private Sub command1_click()
Dim s1 As String
s1 = Text1.Text
For i = 1 To Len(s1)
    If (Mid(s1, i, 1) >= "A" And Mid(s1, i, 1) <= "Z") Or (Mid(s1, i, 1) >= "a" And Mid(s1, i, 1) <= "z") Then
    Text2.Text = Mid(s1, i, 1) & Text2.Text
    End If
Next i
End Sub
Private Sub command2_click()
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub command3_click()
End
End Sub
实验4-5
Private Sub Command1_Click()
Dim i As Integer, n As Single, s As Single, temp As Long
temp = 1
Do
    temp = temp + i
    n = 1 / temp
    s = s + n
    i = i + 1
Loop While (n > (10 ^ (-5)))
Print "Do While结构  " & s; Tab(40); (i) & "项"
End Sub
vb编程基础知识for whilePrivate Sub Command2_Click()
Dim n As Single, s As Single, temp As Long
temp = 1
For i = 0 To 1000
    temp = temp + i
    n = 1 / temp
    s = s + n
    If n < (10 ^ (-5)) Then Exit For
Next i
Print "For结构  " & s; Tab(40); (i + 1) & "项"
End Sub
实验4-6
Private Sub form_load()
Dim n1 As Integer, n2 As Integer, n3 As Integer
Print "水仙花数:"
For i = 100 To 999
    n1 = i Mod 10
    n2 = Int(i / 10) Mod 10
    n3 = Int(i / 100)
    If (n1 ^ 3) + (n2 ^ 3) + (n3 ^ 3) = i Then Print i
Next i
End Sub
实验4-7
Private Sub form_load()
Dim x As Double, y As Double, pi As Double
pi = 2
For n = 1 To 1000

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。