




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1输入100个数,统计其中负数、零及正数的个数。 Private Sub Form_Click() Dim i%, k%, fs%, ns%, zs%: Rem fs表示负数个数 For i = 1 To 100 k = Val(InputBox(输入一个数据) If k 0 Then zs = zs + 1 ElseIf k = 0.00000001 Form1.Print e=; eEnd SubPrivate Function fact(m As Integer) As Single 求m!的函数 Dim x As Single, I As Integer x = 1 For I = 1 To m x = x * I Next I fact = xEnd Function3.计算s=1+2+22+23+,直至s超过1E+16Dim s As Single Dim i As Integer s = 1 i = 1 Do While s 0)编程计算下列分段函数值: Private Sub Command1_Click() Dim x As Single, y As Single x = Val(InputBox(x=?) If x 0 And x -3 Then y = x * x + x - 6 ElseIf x = 0 And x 10 And x 2 And x 3 Then y = x * x - 5 * x + 6 Else y = x * x - x - 1 End If Print y=; yEnd Sub7编程序求表达式s=x/2!+x3/4!+x(2n-1)/(2n)!的值,并在窗体上输出。要求如下:(1)变量x与n的值在窗体单击事件中用InputBox()函数输入,通过调用函数过程s实现题目要求。(2)求表达式的值用函数过程Function s (n%, x!) As Single完成。Option Explicit Private Function s(n%, x!) As Single Dim i%, k%, t#, f# f = 0#: k = x: t = 1# For i = 2 To 2 * n Step 2 t = t * i * (i - 1) f = f + k / t k = k * x * x Next i s = fEnd FunctionPrivate Sub Form_Click()Dim n%, x!x = InputBox(x=)n = InputBox(n=)Print s=; s(n, x)End Sub8迭代法求。求立方根的迭代公式为:提示:初值可取为a,精度为0.000001。a值由键盘输入。方法一Private Sub Form_click()Dim a!, x1!, x0! a = InputBox(输入一个数A=?, 输入框)x0 = a / 3 先给x0赋一初值x1 = 2 / 3 * x0 + a / (3 * x0 * x0) 通过迭代公式求得到一个新的值x1Do While Abs(x1 - x0) 0.000001x0 = x1 将x1赋值给x0x1 = 2 / 3 * x0 + a / (3 * x0 * x0) 再通过迭代公式求得到一个新的值x1LoopPrint a; 的立方根是:; x1End Sub方法二Private Sub Form_click()Dim a!, x1!, x0! a = InputBox(输入一个数A=?, 输入框)x1 = a / 3 先给x1赋一初值,Dox0 = x1 将x1赋值给x0x1 = 2 / 3 * x0 + a / (3 * x0 * x0) 通过迭代公式求得到一个新的值x1Loop Until Abs(x1 - x0) 0.000001Print a; 的立方根是:; x1End Sub9有1分、2分、5分硬币若干枚,从中取出20枚硬币使其总值为60分,求出取法的数量以及每一种取法的1分、2分、5分硬币个数。解:本题属于“穷举”问题,它的基本思想是:一一列举各种可能的情况,并判断哪一种可能是符合要求的解,这种算法称为穷举法(又称“枚举法”)。Private Sub Form_Click()Dim i%, j%, k%, m%, n% 用i,j,k分别代表1分、2分、5分枚数n = 0 n代表取法总数For i = 1 To 20 For j = 1 To 20 k = 20 - i - j m = i + 2 * j + 5 * k 用m代表取出20枚硬币的总值 If m = 60 Then 当20枚硬币的总值等60分,则输出 Print 1分:; i, 2分:; j, 5分:, k n = n + 1 End If Next jNext iPrint -Print 总共有:; n; 取法End Sub方法二、Dim i%, j%, k%, m%, n% 用i,j,k分别代表1分、2分、5分枚数n = 0 n代表取法总数For i = 1 To 20 For j = 1 To 20 For k = 1 To 20 m = i + 2 * j + 5 * k 用m代表取出20枚硬币的总值 If m = 60 And i + j + k = 20 Then 当硬币数为20枚,且总值等60分,则输出 Print 1分:; i, 2分:; j, 5分:, k n = n + 1 End If Next k Next jNext iPrint -Print 总共有:; n; 取法End Sub10打印如下图所示的杨辉三角形(杨辉三角形为一个下三角矩阵,每一行第一个和主对角线上元素都为1,其余每一个数正好等于它上面一行的同一列与前一列数之和)。Private Sub Form_click()Dim i%, j%Const n = 7Dim a(n, n) As Integer 将定义为nn的数组 For i = 1 To n 给第一列和主对角线上的元素赋值1 a(i, i) = 1 a(i, 1) = 1 Next i For i = 3 To n For j = 2 To n - 1 a(i, j) = a(i - 1, j - 1) + a(i - 1, j) 计算除第一列和主对角线上之外元素的值 Next j Next i For i = 1 To n Rem Print Tab(30 - i * 3); 定位每一行第一个元素输出位置 For j = 1 To i Print a(i, j); If a(i, j) 10 Then 打印格式的设置 Print Space(3); Else Print Space(2); End If Next j Print Next iEnd Sub11编一程序,用InputBox函数输入12个整数,赋值给3*4的二维数组,求出其中最大元素及它的行、列坐标,并将数组按行(矩阵形式)输出到窗体,最大元素及行、列下标输出在数组的下方。Private Sub Form_Click()Dim a(3, 4) As IntegerDim i%, j%, t%,max%,ir%ic%For i = 1 To 3 输入数组元素 For j = 1 To 4 a(i, j) = InputBox(请输入 & A( & i & , & j & )=) Next j Next iir=1:ic=1:max=a(1,1) 赋初值For i = 1 To 3 将数组转置 For j = 1 To 4 If max= A And str Asc(Z) Then Iasc = Iasc - 26 st = Chr$(Iasc) ElseIf (str = a And str Asc(z) Then Iasc = Iasc - 26 st = Chr$(Iasc) Else st = str End If Text2.Text = Text2.Text + stEnd Sub13编一程序统计文本框(Text1)中英文单词的个数。设计单词的分隔符是空格,程序代码写在窗体单击事个中,结果输出到文本框(Text2)中。Private Sub Form_Click()Dim n%, k%, str$, sp$sp = n = 0str = Trim(Text1.Text)k = InStr(str, sp) 查找第一个空格的位置Do While k 0n = n + 1 单词数加1str = Mid$(str, k + 1) 从str中去掉开始的第一个单词str = Trim(str)k = InStr(str, sp) 再次查找第一个空格的位置Loopn = n + 1 加中最后一个单词数Text2.text= 单词个数为 & nEnd Sub14.产生30个1-100之间的随机整数,计算这30个数的平均值,找出30个数中数值在平均值之上的数据,并统计出这些数据的个数。Private Sub Command1_Click() Dim x(30) As Integer Dim sum As Integer, ave As Integer 平均值取整数 Dim i As Integer Dim count As Integer 在平均值之上的数据个数 Open c:mydirres.txt For Output As #1 Randomize For i = 1 To 30 x(i) = Int(Rnd * 100) + 1 Next i sum = 0 For i = 1 To 30 sum = sum + x(i) Next i ave = sum / 30 5个一行打印出原始数据,打印平均值 For i = 1 To 30 Print #1, x(i); Space(2); If i Mod 5 = 0 Then Form1.Print Next i Print #1, 平均值:; ave 找出并5个一行打印在平均值之上的数据,打印统计的个数 Print #1, 在平均值之上的数据是: For i = 1 To 30 If x(i) ave Then count = count + 1 Print #1, x(i); Space(2); If count Mod 5 = 0 Then Form1.Print End If Next i Form1.Print Print #1, 共有; count; 个在平均值之上. Close #1End Sub15编写函数Insertfun(a%(), y%),它的功能是:把y值插入到有序(升序)数组a中,插入后数组中的数仍然有序。Private Sub Instert(a() As Single, y As Single) Dim p%, n%, i% n = UBound(a) Print n ReDim Preserve a(n + 1) p = 0 Do While y a(p) And p n p = p + 1 Loop Print p For i = n To p Step -1 a(i + 1) = a(i) Next i a(p) = y End Sub16输入一个5行、6列的数组,先以5行6列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其两个下标。 Private Sub Form_Click() Dim i%, j%, row%, col%, max%, A(5, 6) As Integer For i = 1 To 5 For j = 1 To 6 A(i, j) = Val(InputBox(A( & i & , & j & ) Print A(i, j); Next j Print Next i Print max = A(1, 1): row = 1: col = 1 For i = 1 To 5 For j = 1 To 6 If max c(j) Then temp = c(i) c(i) = c(j) c(j) = temp End If Next j Next i 排序后的字符组成新字符串 y = For i = 1 To l y = c(i) + y Next i Form1.Print 原始字符串; x Form1.Print 重新组合的字符串; yEnd Sub19.采用连除2取余数的方法,将一个十进制数转换为二进制数。Dim Dec As Integer 输入一个十进制数 Dim Bin As String 转换为二进制表示 Dim res As Integer Dim i As Integer Dec = Val(InputBox(x=) Form1.Print 十进制数:; Dec Do res = Dec Mod 2 求出除以2的余数 Bin = res & Bin Dec = Dec 2 Loop While Dec 0 Form1.Pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 作业布置创建鼠标点击交互脚本16课件
- 二零二五年度国际贸易风险管理合同范本
- 二零二五年度商业地产锅炉供暖设施租赁经营协议
- 水电厂电工基础知识培训课件
- 二零二五年瓷砖材料品质保障采购协议
- 二零二五年度民宿改造与运营管理合同
- 2025版房地产项目营销手续代办服务合同范本
- 二零二五年度房地产项目绿色生态社区建设委托管理合同
- 二零二五版房地产项目投资咨询服务合同
- 2025版木门品牌授权与区域代理销售合同
- (新)部编人教版高中历史中外历史纲要上册《第13课-从明朝建立到清军入关课件》讲解教学课件
- 医药行业专题报告:VCTE技术(福瑞股份子公司)专利概览
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、异丙醇和正丁醇检验
- 关于规范学校中层及以上领导干部岗位设置及任免办法
- 《现代汉语》课件修辞
- 某园区综合运营平台项目建议书
- 创造适合教育(2017年0613)
- 微创外科课件
- 易驱ED3000系列变频器说明书
- 农机行政处罚流程图
- GB∕T 6818-2019 工业用辛醇(2-乙基己醇)
评论
0/150
提交评论