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

下载本文档

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

文档简介

实 验 报 告 二课 程VB程序设计实验项目循环、数组结构程序设计(6学时)成 绩专业班级环境工程1班姓 名朱鹏华学 号201431040384实验日期2015/4/15实验目的(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 -5Print 第 & i - 1 & 项结束Print 答案是; s - aEnd Sub【实验1 典型结果】【实验2】将200300之间的素数输出到列表框中实验结果:【实验2 代码】Private Sub Command1_Click() For i = 200 To 300 For j = 2 To Int(Sqr(i) If i Mod j = 0 Then Exit For Next If j = Int(Sqr(i) + 1 Then List1.AddItem Str(i) NextEnd Sub【实验2 典型结果】【实验3】编写程序,在窗体上输出上三角形式的九九乘法表。实验结果:【实验3 代码】Private Sub Form_Load() Form1.AutoRedraw = True For i = 1 To 9 For j = 1 To i s = i & * & j & = & i * j Print s, Next Print NextEnd Sub【实验3 典型结果】【实验4】从键盘输入10个整数,存放在一个一维数组中,然后将前5个元素与后5个元素交换,即第1个与第10个交换,第2个与第9个交换实验结果:【实验4 代码】Option Base 1Private Sub Form_Load() Form1.AutoRedraw = True Dim a(10) For i = 1 To 10 a(i) = InputBox(请输入整数) Next For i = 1 To 4 k = a(i): a(i) = a(11 - i): a(11 - i) = k Next For i = 1 To 10 Print a(i) NextEnd Sub【实验4 典型结果】【实验5】静态声明一个二维数组,输入和输出该数组各元素的值要求:1.计算并输出数组主对角线和次对角线元素的和。 2.交换1、3行后输出整个数组的值 3.交换数组的行与列后输出整个数组的值实验结果:【实验5 代码】Option Base 1Private Sub Command1_Click() Dim a(5, 5) For i = 1 To 5 For j = 1 To 5 a(i, j) = j + (i - 1) * 5 Next Next Print 原数组为 For i = 1 To 5 For j = 1 To 5 Print Tab(j - 1) * 9 + 1); a(i, j); Next Print Next For i = 1 To 5 s = s + a(i, i) Next For i = 1 To 5 n = n + a(i, 6 - i) Next Print Print 主对角线的和为: & s Print 次对角线的和为: & s Print Print 1、3行交换后的数组为 For j = 1 To 5 k = a(1, j): a(1, j) = a(3, j): a(3, j) = k Next For i = 1 To 5 For j = 1 To 5 Print Tab(j - 1) * 9 + 1); a(i, j); Next Print Next Print Print 行列交换后的数组为 For j = 1 To 5 For i = 1 To 5 Print Tab(i - 1) * 9 + 1); a(i, j); Next Print NextEnd Sub【实验5 典型结果】【实验6】编写程序,将随机产生的1000个1000,99999范围内的随机整数存入数组,然后分别用“比较交换法”、“选择法”、“冒泡法”进行升序排序实验结果:【实验6 代码】Option Base 1Private Sub Form_Load()Form1.AutoRedraw = TrueEnd SubPrivate Sub Command1_Click() 比较交换法 Cls Dim a(1000) For i = 1 To 1000 a(i) = Int(Rnd * 99000 + 1000) Next Randomize For i = 1 To 999 For j = i + 1 To 1000 If a(i) a(j) Then k = a(i): a(i) = a(j): a(j) = k Next Next Print 1.比较交换法 For i = 1 To 1000 If i Mod 17 = 0 Then Print a(i), Print Else Print a(i), End If NextEnd SubPrivate Sub Command2_Click() 选择法 Cls Dim a(1000) For i = 1 To 1000 a(i) = Int(Rnd * 99000 + 1000) Next Randomize For i = 1 To 999 Max = i For j = i + 1 To 1000 If a(Max) a(j) Then Max = j Next k = a(i): a(i) = a(Max): a(Max) = k Next Print 2.选择法 For i = 1 To 1000 If i Mod 17 = 0 Then Print a(i), Print Else Print a(i), End If NextEnd SubPrivate Sub Command3_Click() 冒泡法 Cls Dim a(1000) For i = 1 To 1000 a(i) = Int(Rnd * 99000 + 1000) Next Randomize For i = 1 To 999 For j = 1 To 1000 - i If a(j) a(j + 1) Then k = a(j): a(j) = a(j + 1): a(j + 1) = k Next Next Print 3.冒泡法 For i = 1 To 1000 If i Mod 17 = 0 Then Print a(i), Print Else Print a(i), End If NextEnd Sub【实验6 典型结果】【选做1】编写程序,输入X,要求计算精度10-6,求sinX ,计算公式如下所示实验结果:【选做1 代码】Private Sub Form_Load() Form1.AutoRedraw = Trueagain: x = Val(InputBox(请输入X) s = 0 n = 0 Do n = n + 1 a = 1 For i = 1 To (2 * n - 1) a = a * i Next If x (2 * n - 1) / a 10 -6 Then Exit Do s = s + (-1) (n - 1) * x (2 * n - 1) / a Loop MsgBox s b = MsgBox(是否再次计算, 1) If b = 1 Then GoTo again Else End End IfEnd Sub【选做1 典型结果】【选做2】任意输入一个或者多个英文句子,统计这些句子中的单词数量实验结果:【选做2 代码】Private Sub Command1_Click() s = Text1.Text For i = 1 To Len(s) If UCase(Mid(s, i, 1) = A Then n = n + 1 End If Next Text2.Text = nEnd Sub【选做2 典型结果】【选做3】利用一维数组,统计一个班学生成绩059,6069,7079,8089,90100各分数段的人数,生成一个各分数段的柱状图。人数为运行时输入,成绩给定方法要求为键盘输入。实验结果:【选做3 代码】Private Sub Command1_Click() Dim a() b = InputBox(请输入学生人数) ReDim a(b) For i = 1 To b a(i) = Val(InputBox(请输入学生成绩) Next For i = 1 To b If a(i) 89 Then yx = yx + 1 ElseIf a(i) 79 Then lh = lh + 1 ElseIf a(i) 69 Then zd = zd + 1 ElseIf a(i) 59 Then jg = jg + 1 Else bjg = bjg + 1 End If Next Frame1.Caption = bjg Frame2.Caption = jg Frame3.Caption = zd Frame4.Caption = lh Frame5.Caption = yx Frame1.Height = 100 * bjg Frame1.Top = Frame1.Top - 100 * bjg + 100 Frame2.Height = 100 * jg Frame2.Top = Frame2.Top - 100 * jg + 100 Frame3.Height =

温馨提示

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

评论

0/150

提交评论