内蒙古工业大学信息工程学院
实 验 报 告
课程名称: 高级语言程序设计(VB)Ⅰ
实验名称:选择、循环、数组和过程综合程序设计
实验类型: 验证性□ 综合性√ 设计性□
实验室名称: 校计算中心
班级: 环工10-2 学号:201020303003
姓名: 郑小清 组别:
同组人: 成绩:
实验日期: 20##/6/07
实验报告撰写要求
一、 实验前用预习报告纸撰写预习报告,预习报告包括以下内容
1. 实验目的
2. 实验用仪器设备、器材或软件环境
3. 实验原理、方案设计、程序框图、预编程序等
4. 实验过程中需要记录的实验数据表格
二、 实验过程中,要认真观察,仔细记录
三、 完成实验后用实验报告纸撰写实验报告,包括以下内容
1. 仪器设备型号及编号
2. 实验器材或软件环境
3. 实验步骤、程序调试方法
4. 实验数据处理及结果分析
5. 实验中存在的问题
6. 体会及思考题
四、 报告撰写时,要求格式规范、书写整齐
预习报告成绩: 指导教师审核(签名): 20##年 06月 07日
预习报告
一、实验目的:
学会综合运用选择结构、循环结构、数组和过程进行程序设计的方法。
二、 实验用仪器设备、器材或软件环境:
1、实验仪器设备、器材:计算机
2、软件环境:VB语言设计应用程序简化版
三、 实验原理、方案设计、程序框图、预编程序:
1、实验原理及方案设计:利用随机函数的知识对数组赋值,然后利用冒泡发对数组排序,分别赋予另外两个数组放到文本框中,在整个实践过程中利用循环和IF条件语句进行大量地运算,最终得出想要的结果,我认为该实验中难点在于文本框中的换行语句以及素数的筛选。
2、程序框图:
3、预编程序:
Private Sub Command1_Click()
Dim a(1 To 80) As Integer
For i = 1 To 80
a(i) = Int(90 * Rnd + 10)
Text1.Text = Text1.Text + Str(a(i))
If i Mod 10 = 0 Then
Text1.Text = Text1.Text + vbCrLf
End If
Next i
Dim b(1 To 80) As Integer, c(1 To 80) As Integer
s = 1
k = 1
For i = 1 To 80
If a(i) Mod 2 = 0 Then
b(s) = a(i)
s = s + 1
Else
c(k) = a(i)
k = k + 1
End If
Next i
For s = 1 To 59
For j = s + 1 To 60
If b(s) > b(j) And b(s) <> 0 And b(j) <> 0 Then
z = b(s): b(s) = b(j): b(j) = z
End If
Next j
Next s
p = 1
Do While p <= 8
For s = (p - 1) * 10 + 1 To (p - 1) * 10 + 10
If b(s) <> 0 Then
Text2.Text = Text2.Text + Str(b(s))
End If
Next s
Text2.Text = Text2.Text & vbCrLf
p = p + 1
Loop
For k = 1 To 59
For l = k + 1 To 60
If c(k) < c(l) Then
w = c(k): c(k) = c(l): c(l) = w
End If
Next l
Next k
y = 1
Do While y <= 8
For k = (y - 1) * 10 + 1 To (y - 1) * 10 + 10
If c(k) <> 0 Then
Text3.Text = Text3.Text + Str(c(k))
End If
Next k
Text3.Text = Text3.Text & vbCrLf
y = y + 1
Loop
Dim k(1 To 80) As Integer
r = 1
For i = 1 To 80
If jc(a(i)) Then
K(r) = a(i)
r = r + 1
End If
Next i
e = 1
Do While e <= 8
For r = (e - 1) * 10 + 1 To (e - 1) * 10 + 10
If k(r) <> 0 Then
Text4.Text = Text4.Text + Str(k (r))
End If
Next r
Text4.Text = Text4.Text & vbCrLf
e = e + 1
Loop
z = 0
For r = 1 To 80
If k(r) <> 0 Then z = z + 1
Next r
Text5.Text = z
t= 0
For r = 1 To 80
t= t+ k(r)
Next r
Text6.Text = t
End Sub
四、 实验中需要记录的实验过程验数据表格:
实验报告成绩: 指导教师审核(签名): 2011 年06 月14日
实验报告
一、 仪器设备型号及编号:
电脑型号及编号:TOSHIBA Satellite (L600-57B)
二、 实验器材和软件环境:
1、实验器材:笔记本电脑
2、软件环境:VB程序与语言设计软件 精简版
三、实验步骤及程序调试方法:
1、实验步骤(按照实验要求过程进行实验):
1)在课本中对随机数的产生方法进行查找。
2)在课本中查找在文本框中换行的方法并进行试验。
3)在课本中查找关于如何为已知数组排序的方法并进行试验。
4)在课本中查找如何Function函数在已知数组中找出素数的方法。
5)设计如何为素数计数和求和并将它输入到文本框中。
2、调试方法:根据计算机调试的提示不断改正。
四、实验数据处理及结果分析:
1、程序代码:
Option Base 1
Dim a%(80), b%(80), c%(80), d%(80)
Dim j%, k%, l%
Private Sub Command1_Click()
Dim i As Integer
Dim sum As Integer
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
j = 1
k = 1
l = 1
Randomize
For i = 1 To 80
a(i) = Int(Rnd * 90) + 10
If a(i) Mod 2 = 0 Then
b(j) = a(i)
j = j + 1
Else
c(k) = a(i)
k = k + 1
End If
Text1.Text = Text1.Text & a(i) & " "
If i Mod 10 = 0 Then
Text1.Text = Text1.Text & vbCrLf
End If
If IsPrimeNum(a(i)) = True Then
d(l) = a(i)
l = l + 1
sum = sum + a(i)
End If
Next i
paixu1 b, j - 2
paixu c, k - 2
For i = 1 To j - 1
Text2.Text = Text2.Text & b(i) & " "
If i Mod 10 = 0 Then
Text2.Text = Text2.Text & vbCrLf
End If
Next i
For i = 1 To k - 1
Text3.Text = Text3.Text & c(i) & " "
If i Mod 10 = 0 Then
Text3.Text = Text3.Text & vbCrLf
End If
Next i
For i = 1 To l - 1
Text4.Text = Text4.Text & d(i) & " "
If i Mod 10 = 0 Then
Text4.Text = Text4.Text & vbCrLf
End If
Next
Text6.Text = sum
Text5.Text = "" & vbCrLf & l - 1
End Sub
Private Function IsPrimeNum(ByVal V As Integer) As Boolean
Dim i As Integer
IsPrimeNum = True
If V < 2 Then su_su = False: Exit Function
For i = 3 To V - 1
If V Mod i = 0 Then
IsPrimeNum = False
Exit Function
End If
Next i
End Function
Private Sub paixu(dat() As Integer, Dl As Integer)
Dim x As Integer
Dim y As Integer
Dim t As Integer
For x = LBound(dat) To LBound(dat) + Dl
For y = x + 1 To LBound(dat) + Dl
If dat(x) < dat(y) Then
t = dat(x)
dat(x) = dat(y)
dat(y) = t
End If
Next y
Next x
End Sub
Private Sub paixu1(dat() As Integer, Dl As Integer)
Dim x As Integer
Dim y As Integer
Dim t As Integer
For x = LBound(dat) To LBound(dat) + Dl
For y = x + 1 To LBound(dat) + Dl
If dat(x) > dat(y) Then
t = dat(x)
dat(x) = dat(y)
dat(y) = t
End If
Next y
Next x
End Sub
2、运行时窗口:
五 实验中存在的问题:
1、 数据如何输入文本框中。
2、 在文本框中换行的方法。
3、 Function子过程的运用。
4、 If语句的用法。
5、 文本框的属性MultiLine的属性改成True。
六 体会及思考题:
做vb作业需要细心与耐心,小小的差错就会导致整个程序的错误。学习中基础知识是很重要的,所以我们努力学好基础知识,做什么事都不能急于求成。
第二篇:VB实验报告1
学号: 姓名: 班级:09225 实验时间: 20##-03-23