vb 基本控制结构

信息工程学院1

程序设计基础(VB) 实验/实习报告

学院:创新实验学院班级:生科创新123 姓名:李欣莅学号:2012010422 成绩:A

实习三基本控制结构

一、实习目的

1. 掌握三种控制结构的编程思路

2. 掌握为程序提供数据的方法,特别是从数据文件中获得数据的方法

3. 掌握程序结果输出的几种方法,特别是将数据输出到数据文件的方法

4. 掌握源程序的缩进书写格式

5. 理解累加、累积、判断素数、求极值、输出数列、最大公约数与最小公倍数等常用算法及程序实现方法。

二、实习内容

1. 完成教材顺序结构例题验证,掌握程序的基本组成部分,理解顺序结构程序设计的基本方法,掌握数据输入、输出的方法和途径。

2. 完成教材编程题1小题。

3. 完成教材选择结构例题验证,理解选择结构程序设计的基本方法,理解选择语句用法,掌握实现选择功能的基本算法。

4. 完成教材编程题2、3、4、5、6小题。

5. 完成教材循环结构例题验证,理解选择循环程序设计的基本方法,理解循环语句用法,掌握实现循环功能的基本算法。

6. 完成教材编程题有关循环部分的习题。

三、程序设计及代码

1. 顺序结构:

习题1

实验报告的内容与格式按任课教师的要求书写。

Private Sub Command1_Click()

Dim a As Singl e, b As Singl e, c As Singl e, d As Singl e x = Val(InputBox("请输入x 变量的值")) a = Sqr(x) b = (x) ^ 2 c = (x) ^ 3 d = (x) ^ (1 / 3)

Print "平方根为:" & round(a, 3), "平方为:" & round(b, 3), "立方为:" & round(c, 3), "立方根为:" & round(d, 3) End Sub

2. 选择结构:

习题二

Private Sub Command1_Click()

Dim a As Single, b As Single, c As Single

a = Val(Text1.Text)

b = Val(Text2.Text)

c = Val(Text3.Text)

If a > b Then

If a > c And b > c Then

Print "最大值为" & a; ",最小值为" & c ElseIf a > c And c > b Then

Print "最大值为" & a; ",最小值为" & b ElseIf c > a Then

Print "最大值为" & c; "最小值为" & b

End If

Else

If b > c And a > c Then

Print "最大值为" & b; ",最小值为" & c ElseIf b > c And c > a Then

Print "最大值为" & b; ",最小值为" & a ElseIf c > b Then

Print "最大值为" & c; "最小值为" & a

End If

End If

End Sub

习题三

Private Sub Command1_Click()

Dim x$

x = Val(InputBox("请输入一个年份")) If x Mod 4 = 0 Then

If x Mod 100 = 0 Then

Print "不是闰年"

Else

Print "闰年"

End If

ElseIf x Mod 400 = 0 Then

Print "闰年"

Else

Print "不是闰年"

End If

End Sub

习题4

Private Sub Command1_Click()

Dim x As Integer

x = Val(InputBox("请输入一个数")) If x Mod 5 = 0 Then

MsgBox x & "能被5整除"

Else

MsgBox x & "不能被5整除"

End If

End Sub

习题5

Private Sub Command1_Click()

Dim a!, b!

a = InputBox("请输入您的收入:")

If a < 300 Then Print "免征。"

ElseIf a <= 500 Then

b = (a - 300) * 0.002

ElseIf a <= 5000 Then

b = (a - 500) * 0.003 + 200 * 0.002

ElseIf a > 5000 Then

b = (a - 5000) * 0.004 + 4500 * 0.003 + 200 *0.002 End If

MsgBox "您需要纳税的金额为:" & b

End Sub

习题6

Private Sub Command1_Click() n = 0

Dim a As Integer

For a = 100 To 200

If a Mod 3 = 0 Then

Else

Print a;

n = n + 1

If n Mod 8 = 0 Then

Print

End If

End If

Next a

End Sub

3. 循环结构:

习题7

Private Sub Command1_Click() n = 0

Dim m%, i%

For m = 1000 To 1100

For i = 2 To m - 1

If m / i = m \ i Then

Exit For

End If

Next i

If i = m Then

Print m;

n = n + 1

If n Mod 6 = 0 Then

Print

End If

End If

Next m

End Sub

习题 8

Private Sub Command1_Click()

Dim b As Integer, n As Integer, a As Integer a = Rnd() * 100

n = 1

Do

b = Val(InputBox("请输入一个数"))

If b > a Then

Print "大了点"

Else

If b < a Then

Print "小了点"

Else

Print "猜中了"

Exit d o

End If

End If

n = n + 1

Loop Until n > 8

If N>8 then MsgBox "正确答案" & a End Sub

习题9

Private Sub Command1_Click()

Dim x As Integer

n = 0

For x = 100 To 999

If Left(x, 1) = Right(x, 1) Or Left(x, 1) = Mid(x, 1) = Right(x, 1) Then

Print x;

n = n + 1

If n Mod 8 = 0 Then

Print

End If

End If

Next x

End Sub

习题10

Private Sub Command1_Click()

Dim a As Integer, e As Singl e, b As Double

e = 1

b = 1

For a = 1 To 100

b = b * a

e = e + (1 / b)

If b < 10 ^ (-4) Then

Exit For

End If

Next a

Print "e≈1+1/1!+…=" & e

End Sub

习题11

Private Sub Command1_Click()

Dim n As Integer, m As Integer, y As Integer m = Val(InputBox("请输入m变量的值")) n = 2

y = 1

Do

y = y + (n) ^ 3

If y >= m Then

Print n

Else

n = n + 1

End If

Loop Until y >= m

End Sub

习题12

Private Sub Command1_Click()

Dim n As Integer, a As Integer

For n = 1 To 6

Print Tab(50 - n);

For a = 1 To 2 * n

Print "0";

Next a

Print

Next n

End Sub

习题13

Private Sub Command1_Click()

n = Val(InputBox("请输入要转换的十进制数整数"))

m = n

x = ""

Do

a = n Mod 16

n = n \ 16

x = a & x

Loop Until n = 0

MsgBox m & "换成十六进制数是:" & x

End Sub

习题14

Private Sub Command1_Click()

Dim a As Integer, b As Integer, c As Integer, d As Integer

For a = 1 To 9

For b = 0 To 9

For c = 1 To 9

For d = 0 To 9

If (a * 1000 + b * 100 + c * 10 + d) - (c * 100 + d * 10 + c) = a * 100 + b * 10 + c Then Print "a =" & a, "b=" & b, "c=" & c, "d= " & d,

End If

Next d

Next a

End Sub

习题15

Private Sub Command1_Click() Dim n As Integer, a As Integer a = 1

For n = 1 To 9

a = (a + 1) * 2

End Sub

四、实习总结

1.任务完成情况

本次实习主要掌握了三种控制结构的编辑,特别是从数据文件中获得数据的方法,例如,先提前建立一个文件,然后输入数据后保存在一个目录下,然后再录入程序的过程中将其插入,便可实现从数据文件中获得数据的方法。还掌握了缩进的书写格式,按住tab键就可以了。基本掌握了三种控制结构的使用方法。本次实习完成了课后的

15道习题和例题,使我学习到了很多东西。

2.知识掌握

本次实习学习到了很多更加有用的编程,例如,三种控制结构,顺序,循环和选择,对其进行了理解和运用,还有利用文本框的TEXT属性和消息对话框的MSGBOX函数来运算结果,还有学习到了几个常用的公式,Ucase函数,将小写转换成大写,还有sqr()函数,对第二章出现的各种函数有了更深的理解和应用。还有学会了利用IF语句进行换行,每行保留几个字符号的用法,还有学习到了将数据输出到数据文件的方法,在程序中写入语句来创建数据文件,同理,也可从数据文件中获得数据等等的内容。

3.存在的问题

实习中存在很多的问题,比如,从数据文件中获得数据的时候出现了小问题,由于我忘记建立文件,因此程序无法运行,后来进行对照例题发现了问题,成功运行了程序。还有,在做例题的时候出现了一些问题,在习题1的实习过程中,不会保留小数位数,在进行了查找和询问之后,学会了使用round()函数来保留小数。还有就是使用嵌套的循环结构的时候不太会进行思考,不会逆向思维,编程思路不清晰,还要多加练习才可以。

4.实习收获

虽然实习过程中遇到了不少问题,但是最后都一一解决了,我也学到了很多东西,三种结构的编程,函数的应用,数据的引用和输出,一些控制结构的其他用法。让我了解到了更多的编程语言知识和技巧。

很好,继续努力!

2013-06-04

相关文档
最新文档