VB实验二 实验报告_第1页
VB实验二 实验报告_第2页
VB实验二 实验报告_第3页
VB实验二 实验报告_第4页
VB实验二 实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实 验 报 告 二课 程VB程序设计实验项目循环、数组结构程序设计(6学时)成 绩专业班级油气储运工程1403姓 名张欣燕学 号201431030752实验日期实验目的(1)掌握基本循环控制结构(For-Next、While-Wend、Do-Loop)语句(2)掌握循环嵌套结构(3)掌握素数算法(4)掌握控制结构相关控件(列表框、组合框等)(5)能综合运用循环控制结构解决较复杂的问题实验内容【实验1】编写一个简易计算器编写程序计算S=1+1/2+1/4+1/7+1/11+1/16+1/22+当第i项的值<10-5时计算结束结束。实验结果:【实验1 代码】Private Sub Comma

2、nd1_Click()Dim a&, b% a = 1 b = 1 Do s = s + 1 / a a = a + b b = b + 1 Loop While 1 / a > 0.00001 MsgBox sEnd Sub【实验1 典型结果】【实验2】将200300之间的素数输出到列表框中实验结果:【实验2 代码】Function s(n%) As BooleanFor i = 2 To n - 1 If n Mod i = 0 Then Exit For Next i If i > n - 1 Then s = True Else s = False End IfEn

3、d FunctionPrivate Sub Command1_Click()Dim i% For i = 201 To 299 Step 2 If s(i) = True Then Print i End If Next i End Sub【实验2 典型结果】【实验3】编写程序,在窗体上输出上三角形式的九九乘法表。实验结果:【实验3 代码】Private Sub Command1_Click()For i = 1 To 9For j = 1 To iPrint i & "x" & j & "=" & i * j; &quo

4、t; "Next jPrintNext iForm1.AutoRedraw = TrueEnd Sub【实验3 典型结果】【实验4】从键盘输入10个整数,存放在一个一维数组中,然后将前5个元素与后5个元素交换,即第1个与第10个交换,第2个与第9个交换实验结果:【实验4 代码】Option Base 1Private Sub Command1_Click() Dim a(1 To 10) As Integer, t% Print "排序前:" For i = 1 To 10 a(i) = i Print a(i) Next Print For i = 1 To 5

5、 t = a(i) a(i) = a(11 - i) a(11 - i) = t Next Print "排序后:" For i = 1 To 10 Print a(i) NextEnd Sub【实验4 典型结果】【实验5】静态声明一个二维数组,输入和输出该数组各元素的值要求:1.计算并输出数组主对角线和次对角线元素的和。 2.交换1、3行后输出整个数组的值 3.交换数组的行与列后输出整个数组的值实验结果:【实验5 代码】Option Base 1Private Sub Form_click() Dim a(5, 5) As Integer, sum1 As Integer

6、, sum2 As Integer For i = 1 To 5 For j = 1 To 5 a(i, j) = Val(InputBox("enter date:") Next j Next i Print "数组各元素值为:" For i = 1 To 5 For j = 1 To 5 Print Format$(a(i, j), ""), Next j Print Next i sum1 = 0: sum2 = 0 For i = 1 To 5 sum1 = sum1 + a(i, j) sum2 = sum2 + a(i,

7、6 - i) Next i Print "主对角线之和为:" sum1 Print "次对角线之和为:" sum2 For i = 1 To 5 t = a(1, i) a(1, i) = a(3, i) a(3, i) = t Next i Print "1,3行交换后的数组为" For i = 1 To 5 For j = 1 To 5 pront a(i, j) Next j Print Next i For i = 1 To 5 For j = 1 To 5 t = a(i, j) a(i, j) = a(j, i) a(j,

8、 i) = t Next j Next i Print "行列交换后的数组为" For i = 1 To 5 For j = 1 To 5 Print Format$(a(i, j), ""), Next j Next iEnd Sub【实验5 典型结果】【实验6】编写程序,将随机产生的1000个1000,99999范围内的随机整数存入数组,然后分别用“比较交换法”、“选择法”、“冒泡法”进行升序排序实验结果:【实验6 代码】Option Base 1Private Sub Command1_Click()Dim a (1000) as Integer

9、For i = 1 To 1000 a(i) = Int(99000 * Rnd + 1000)Next iFor Each x In a Text1.Text = xNext x For i = 1 To 999 For j = i + 1 To 1000If a(i) > a(j) Then t = a(i) a(i) = a(j) a(j) = tEnd If Next j Next iEnd Sub(比较)For i = 1 To 999Min = i For j = i + 1 To 1000If a(Min) > a(j) Then Min = j Next j t =

10、 a(i) a(i) = a(Min) a(Min) = t Next iEnd Sub选择For i = 1 To 999 For j = 1 To 1000 - i If a(j) > a(j + 1) Then t = a(j) a(j) = a(j + 1) a(j + 1) = t End If Next j Next i For i = 1 To 1000 Text2.Text = a(i) Next iEnd Sub冒泡【实验6 典型结果】老师,我不管怎么调试都只显示一个数T_T【选做1】编写程序,输入X,要求计算精度10-6,求sinX ,计算公式如下所示实验结果:【选做

11、1 代码】Function f(n%) t = 1 For i = 1 To n t = t * i Next i f = tEnd FunctionPrivate Sub Command1_click() y = Val(InputBox("y") x = y * 3.1415926 / 180 Sum = 0 n = 0Do n = n + 1 t = (-1) (n - 1) * x (2 * (n - 1) / f(2 * (n - 1) Sum = Sum + tLoop Until Abs(t) < 0.000001Text1.Text = yText2.Text = SumEnd Sub【选做1 典型结果】【选做2】任意输入一个或者多个英文句子,统计这些句子中的单词数量实验结果:【选做2 代码】Private Sub Text1_Change()Text2.Text = UBound(Split(Text

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论