vb套题——斐波那契数列

合集下载

VB

VB

1、》输入长方形的长和宽,计算长方形的面积,并输出。

Private Sub command1_click()Dim a%, b%, s%a = Val(InputBox("a"))b = Val(InputBox("b"))s = a * bPrint sEnd Sub2、输入正方形的边长,计算正方形的对角线长,并输出。

Private Sub command1_click()Dim a!,l!a=val(inputbox("输入边长"))l=sqr(2)*aPrint "对角线长度为:";lEnd sub3、输入圆的半径,计算圆的周长,并输出。

Private sub command1_click()Const pi=3.14Dim s#,i%r=val(inputbox("请输入半径"))s=2*pi*rprint "圆的周长为:";send sub4、》计算sum=1/2!+1/4!+1/6!+...+1/10!Private sub command1_click()Dim i%,f#,s#F=1:s=0For i=1 to 10F=f*iIf i mod 2=0 thenS=s+1/fEnd ifNext iPrint "sum=1/2!+1/4!+1/6!+...+1/10!";"=";sEnd sub5、计算sum=2!+4!+6!+...+10! 《计算、sum=1!+3!+5!+...+9!》Private sub command1_click()Dim i%,f#,s#F=1:s=0For i=1 to 10F=f*iIf i mod 2=0 thenS=s+fEnd ifNext iPrint "sum=2!+4!+6!+...+10!";"="sEnd sub6、计算sum=2+4+6+...+100Private Sub Command1_Click()Dim i%, sum%sum = 0For i = 2 To 100 Step 2sum = sum + iNext iText1.Text = sumEnd Sub7、计算sum=1+3+5+...+99Private Sub command1_click()Dim i%, sum%For i = 1 To 99 Step 2sum = sum + iNextPrint sumEnd Sub8、编写程序,建立一个6×6的整型二维数组(数据由程序调用Rnd函数产生[0,15 )的随机整数数),输出数组中的最小元素。

VB问题求解题目

VB问题求解题目

一个台阶总共有10级,如果一次可以走1级,也可以走2级。

求总共有多少种不同的走法?
斐波那契数列:指的是这样一个数列:1、1、2、3、5、8、13、21、……这个数列从第三项开始,每一项都等于前两项之和。

猴子吃桃子问题:猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。

第二天又将剩下的桃子吃掉一半,又多吃了一个。

以后每天都吃前一天剩下的一半零一个。

到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
1、常规思路循环结构
2、递归思路
汉诺塔游戏:有A、B、C三个塔座,A塔座上有n(1≤n≤8)个大小不等的盘子,大盘在下,小盘在上。

要求将所有盘子由A塔座搬动到C塔座上,每次只能搬动一个盘子,搬动过程中可以借助任何一根塔座,但必须满足大盘在下,小盘在上的条件。

请将移动过程描述出来。

历年vb题目整理(带答案)

历年vb题目整理(带答案)

1、算法描述:求的1~100之间所有偶数的和'注:请不要更改原程序结构,删除(1)、(2)、(3),并在对应位置填写正确的代码'Function func()(1) i As Integer dimfunc = (2)0For i = 2 To 100 Step (3)2func = func + iNext iEnd Function2、操作要求: 顺序查找单词“name”:输入10个不同的单词给数组,查找单词“name”是否在数组中;如果在,输出单词在数组中的位置,否则,输出“不在数组中”。

Sub main()Dim i As IntegerDim buzai As Boolean'定义数组d,下界为1,上界为10,数据类型为string,在dim后完善语句Dim (1) d(1 To 10) As String'输入10个单词,在for语句后完善i的初始值与终值For i =(2) 1 to 10'输入每个单词给数组元素,在赋值号左侧添加变量(3) = InputBox("Please input word " & i) d(i)Next ibuzai = Truei = 0While buzai = True And i < 10'顺序查找单词,数组下标增1,在赋值号右侧添加表达式i =(4) i+1'判断数组元素是否为单词"name",在if语句后添加判断条件If (5) Then d(i) = "name"buzai = FalseEnd IfWendIf buzai = False ThenMsgBox "在数组中的位置为:" + Str(i)ElseMsgBox "不在数组中"End IfEnd Sub3、小王今年26岁,资助了一名贫困大学生,'他想从明年开始每年比上一年多资助一名贫困大学生。

费波那契数列

费波那契数列

斐波拉契数列(又译作“斐波那契数列”或“斐波那切数列”)是一个非常美丽、和谐的数列,它的形状可以用排成螺旋状的一系列正方形来说明(如右词条图),起始的正方形(图中用灰色表示)的边长为1,在它左边的那个正方形的边长也是1 ,在这两个正方形的上方再放一个正方形,其边长顺次加上边长为3、5、8、13、21……等等的正方形。

这些数字每一个都等于前面两个数之和,它们正好构成了斐波那契数列。

斐波拉契数列的简介:“斐波那契数列”的发明者,是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci,生于公元1170年,卒于1240年。

籍贯大概是比萨)。

他被人称作“比萨的列昂纳多”。

1202年,他撰写了《珠算原理》(Liber Abaci)一书。

他是第一个研究了印度和阿拉伯数学理论的欧洲人。

他的父亲被比萨的一家商业团体聘任为外交领事,派驻地点相当于今日的阿尔及利亚地区,列昂纳多因此得以在一个阿拉伯老师的指导下研究数学。

他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯研究数学。

斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34……这个数列从第三项开始,每一项都等于前两项之和。

它的通项公式为:(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}(√5表示5的算术平方根)(19世纪法国数学家敏聂(Jacques Phillipe Marie Binet 1786-1856) 很有趣的是:这样一个完全是自然数的数列,通项公式居然是用无理数来表达的。

斐波拉契数列之闻名,可能还跟美国悬疑作家丹·布朗有关,他在他的小说《达芬奇密码》之中巧妙地运用了该数列。

其实,我国现行的高中教材中提及了杨辉三角,斐波拉契数列可在其中寻得。

13世纪初,欧洲最好的数学家是斐波拉契;他写了一本叫做《算盘书》的著作,是当时欧洲最好的数学书。

书中有许多有趣的数学题,其中最有趣的是下面这个题目:“如果一对兔子每月能生1对小兔子,而每对小兔在它出生后的第3个月裏,又能开始生1对小兔子,假定在不发生死亡的情况下,由1对初生的兔子开始,1年后能繁殖成多少对兔子?”斐波拉契把推算得到的头几个数摆成一串:1,1,2,3,5,8……这串数里隐含着一个规律:从第3个数起,后面的每个数都是它前面那两个数的和。

VB编程题及答案

VB编程题及答案

VB编程题及答案1定义一个下标上界为10整型数组,并用随机函数为其赋值(值处于[0,100]之间),计算数组中所有偶数的和。

Private Sub Command1_Click() RandomizeDim a%(10)Dim i%, s%For i = 0 To 10a(i) = 101 * Rnd()NextFor i = 0 To 10If a(i) Mod 2 = 0 Thens = s + a(i)End IfNextPrint "所有偶数的和为", s2设S=35,C=0.3,编写程序,计算并输出下面级数的部分和。

结果取小数点后面7位。

C/1!-C^3/3!+C^5/5!- …+(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ …参考答案如下:Private Sub Command1_Click()Dim n As IntegerDim x As Doublex = 0.3Dim item As DoubleDim sum As DoubleDim fac As DoubleFor n = 1 To 35fac = 1Dim i As IntegerFor i = 1 To 2 * n - 1fac = fac * iNextitem = (-1) ^ (n - 1) * x ^ (2 * n - 1) / facsum = sum + itemNextsum = Int(sum * 10000000 + 0.5) / 10000000MsgBox (sum)End Sub ' sum = 0.4794263定义一个下标上界为30的单精度数组,设置好其初值(值处于[20,90]),计算数组中所有元素的均值。

Dim i, sum, ave As IntegerDim a(30) As SingleFor i = 0 To 30a(i) = 20+Int(Rnd() * 71)NextFor i = 0 To 30sum = sum + a(i)Nextave = sum / 31print sum4 在窗体上放置文本框Text1、Text2,放置一个按钮Command1。

VB填空题

VB填空题

填空题一(题数:2道,共:10分,得分:分)1、(选修)下面程序代码结构包含了循环结构和_______结构,程序最终结果是s等于_______,t等于______。

PrivateSubCommand1_Click()Dim t,s As Integert=0s=0Do Until t>10If t Mod 3=0Thens=s+tEnd If#t=t+2LoopPrint s,tEnd Sub系统答案:选择,6,12//三种程序结构:顺序结构、选择结构、循环结构2、(选修)数学表达式转换为VB表达式为“_____(a*b)/(6*_____+_____(a-b))”。

)系统答案:sqr,a*a$%$a^2,abs填空题二(题数:2道,共:10分,得分:分)1、(选修)有如下VB程序:Private Sub form_load()n=InputBox("请输入一个正整数:","输入")s=1For i=1To ns=s*i>Next iMsgBox n+"!"+"="+Str(s),0,"阶乘计算"End Sub当n=4时,程序运行后输出的结果是___________________。

系统答案:24$%$4!=24//str()函数将数值型转换为字符串型,+号此处表示字符串的连接,所以需要数据类型转换。

2、(选修)下图是计算“0到100之间偶数之和”的算法流程图,SUM用于累加求和,请将其补充完整:注:表达式中多余的空格不要保留,例如a加b等于c应写成“a+b=c”,而不要写成“a+b=c”的形式,但形如“a or b”表达式中的空格要保留。

(系统答案:SUM=SUM+i$%$SUM=i+SUM,i=i+2$%$i=2+i填空题三(题数:2道,共:10分,得分:分)1、(选修)有如下VB程序,功能是用递归法求斐波那契数列1,1,2,3,5,8,13,…第10项的值。

高一信息技术-VB专题练习(含答案)

高一信息技术-VB专题练习(含答案)

VB综合练习一、选择题1. 在VB代码编辑窗口中,输入了“Command1.”后出现了如图所示的信息,其中的“Caption”是Command1的()A.事件名B.属性名C.对象名D.方法2. 某VB程序的一个事件处理过程如下,在程序运行时,能触发该事件的是()Private Form_Load()Command1.caption=”计算”End subA.窗体装载B.单击窗体C.单击按钮Command1 D.双击窗体3. 在VB中,下列属于过程文件的是()A. .vbp B. .frm C. .vbw D. .frx4. 在VB中,若需要将350名学生的借阅卡号(如“WZ001036”)分别存储在数组code的code(1) ~code(350)元素中,则下列说明语句最合适的是()A.Dim code(1 To 350) As Integer B.Dim code(1 To 350) As Single C.Dim code(1 To 350) As String D.Dim code(1 To 350) As Boolean5. 在VB中,a=-100,表达式"360"+Str(a)的值是()A.260 B."360-100" C."360100" D."260"6. 在VB中,a=-100,表达式100+Val("36")的值是()A."10036" B."136" C.100+36 D.1367. 下列VB表达式的值等于2的是()A.Abs(-2.1) B.Int(2.1)C.Sqr(4.2) D.Len("4")8. 下列VB中,表达式81 \ 8 mod 3 * int(2.5)的值是()A.40 B.4 C.5 D.69. 数学表达式“2n–1>0 且 2n-1≠1”对应的VB表达式是()A.2·n–1>0 And 2·n–1<>1 B.2n–1>0 And 2n–1≠1C.2*n–1>0 And Not(2*n-1=1)D.2*n–1>0 And 2n-1<>110. 将整数型变量n的值显示在文本框Text1中,正确的语句是()A.Text=n B.Val(Text1)=nC.Text1.Text=Str(n)D.Str(Text1.Text)=n11.产生一个三位随机整数的表达式是()A.int(rnd*900)+100B.int(rnd*999)C.int(rnd*999)+1 D. rnd*900+10012.一个四位数的整数x,能表示出百位数字的表达式是()A.x\100 B.x\100 mod 10C.x mod 100 D. int(x/100)13. x为单精度型数据,能将x四舍五入保留2位小数的表达式是 ( )A.int(x) B.int(x*100)/100C.int(x+0.5) D.int(x*100+0.5)/10014.下列表达式为真时,能表示大写字母的是 ( ) A."A"<=ch<="Z" B.ch>="A"or ch<="Z"C.ch>="A"and ch<="Z"D.not(ch>="A"and ch<="Z")15. 将字符串变量a和b的值连接并将结果在文本框Text1中输出,下列代码合适的是()A.Str(a+b)=Text1.Text B.Text.Text1=a+bC.Text1.Text=Str(a+b) D.Text1.Text=a+b16. 有如下VB程序段a=3:b=9c=aa=bb=c运行后,下列说法正确的是()A.a=3,b=9 B.a=9,b=3C.a=3,b=3 D.a=9,b=917. 有如下VB程序段,程序段运行后,"s=s+k"共执行了10次,则循环变量k的初值是()s=0For k= to 5s=s+kNext kA.14 B.-5 C.1 D.-418. 有如下VB程序段,程序段运行后,数组元素a(3)的值是()For x=10 to 1 step -1a(x)=x+1Next xA.9 B.8 C.4D.319. 有如下VB程序段,程序段运行后,数组元素a(4)的值是()Dim a(1 to 4) as integera(1)=1For i=2 to 3a(i)=2*a(i-1)+1Next iA.15 B.7 C.3 D.020. 计算斐波那契数列(该数列从第三项开始,每一项都等于其前面两项之和)第20项的值的VB 程序段如下,该程序运行后不正确,有问题的语句是()Dim a(1 to 20) as long,I as integerConst n=20 ‘①i=3a(1)=1:a(2)=1Do while i<=n ‘②a(i)=a(i-2)+a(i-1) ‘③i=i+1LoopLabel1.caption=str(a(i)) ‘④A .①B .②C .③D .④21. 某算法的部分流程图如图所示。

VB 实验-计算斐波那契数列

VB 实验-计算斐波那契数列

实验:求斐波那契数列的值 斐波那契数列的公式为:要求:①根据用户输入的n 值编写一个计算数列的子函数,并利用子函数的计算结果来显示数列的值。

②程序的界面的运行结果如下:目的:掌握Visual 的基本语法和程序的基本结构以及过程的使用。

实验步骤:1、新建一个Visual 的Windows 应用程序项目Ch4P 。

打开Visual 2005开发环境,从菜单中选择“文件”|“新建项目”,弹出“新建项目对话框”,在对话框的“类型”中选择Visual ,在模板中选择“Windows ”应用程序。

输入项目名称为Ch4P 。

2、界面设计从工具箱中拖一个文本框TextBox 控件、两个标签控件Label 与一个按钮控和一个Button 控件到窗体上,设计界面如图4-1。

图4-1 程序界面按表4-5设置各控件的属性。

表4-5 各控件的属性F(n-1) +F(n-2) (n>=2)1 (0<=n <2)F(n) =3、代码设计1)编写一个计算数列的函数'F(n) = F(n-1) + F(n-2) (n>=2)'F(n) = 1 (0<=n<2)Function calc(ByVal n As Integer) As Integer'定义变量Dim i As Integer = 0'表示F(n)Dim Fn As Double = 0'Fn1 表示F(n-1)Dim Fn1 As Double = 0'Fn2 表示F(n-2)Dim Fn2 As Double = 0'循环计算结果For i = 0 To nSelect Case iCase 0, 1Fn1 = 1Fn2 = 1Fn = 1Case ElseFn = Fn1 + Fn2Fn2 = Fn1Fn1 = FnEnd SelectNextReturn FnEnd Function2)在用双击“计算”按钮,产生btnCalcs_Click事件,在事件处理程序中编写下列代码: Private Sub btnCalcs_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles btnCalcs.ClickDim n As Integer'检测输入的是否是数字Tryn = Me.txtN.TextCatch ex As ExceptionMsgBox("请输入数字", rmation, Me.Text)Exit SubEnd Try'只能输入非负整数If n < 0 ThenMsgBox("请输入一个非负整数", rmation, Me.Text)Exit SubEnd If'调用子函数计算并显示结果Me.lblResult.Text = "计算结果:F(" & n & ")=F(n-1)+F(n-2)=" & calc(n) End Sub4、F5调试运行程序,结果如图4-2。

VB 斐波拉齐数列 读写数据

VB 斐波拉齐数列 读写数据

西华大学课程考试(考查)参考答案(A卷)课程代码: 8426460 试卷总分: 100分一、调试程序:(程序存盘文件名Test41.frm、Test41.VBP)(40分)在磁盘上有一个名为“Test41.VBP”的工程文件和一个名为“Test41.frm”的窗体文件(程序界面如图1所示)。

程序的主要功能是:在文本框中输入一个不超过20的整数n,单击“打印”按钮时,在图形框中输出n行斐波拉齐数列,每行输出数列中的两个数。

图1程序中有若干错误,请调试通过。

(注意:在不删除整条语句的前提下,可修改或补充语句,添加的语句不能超过两条。

调试通过后仍以文件名Test41.VBP存盘)。

参考答案:Option ExplicitPrivate Sub Command1_Click()Dim f1 As Long, f2 As Long, i As IntegerDim n%Picture1.Clsn= '改为:n = V al(Text1.Text)If n > 20 ThenMsgBox "请输入不超过20的整数"Text1.Text = ""Text1.SetFocusExit SubEnd Iff1= '改为:f1 = 1f2 = 1For i = 1 To nPrint f1, f2 ' 改为:Picture1.Print f1, f2f1 = f1 + f2f2 = f2 + f1Next j ' 改为:Next iEnd SubPrivate Sub Form_Load()‘添加语句:Command1.Caption = "打印" 或在属性窗口中修改此属性值End SubEnd Sub二、编程:(程序存盘文件名Test42.frm、Test42.VBP)(60分)编程要求:1、界面如图2所示,程序运行后“排序”按钮不可用;2、单击“读数据”按钮后,程序将磁盘文件“test42in.txt”中的数据逐一读出并显示在第一个列表框中;同时“读数据”按钮不可用,“排序”按钮可用;3、单击“排序”按钮后,将第一个列表框中的数据排序后显示在第二个列表框中,同时“排序”按钮不可用;4、单击“退出”按钮后,结束程序。

VB 第六章作业

VB 第六章作业

VB第六章作业系别:化学与化工系班级:1120473学号:32姓名:鲁鑫第六章作业1.求斐波那契数列的前二十项代码:Private Sub Form_Click()Dim a(1 To 20) As IntegerDim i As Integera(1) = 1a(2) = 1For i = 3 To 20a(i) = a(i - 1) + a(i - 2)Next iPrint a(1)Print a(2)For i = 3 To 20Print a(i)Next iEnd Sub2.找出一个mXn数组的“鞍点”。

所谓“鞍点”是指一个在本行中值最大,在本列中值最小的数组元素。

若找到了“鞍点”,则输出“鞍点”的行号和列号,若数组不存在“鞍点”,则输出“鞍点不存在”截图修改属性Text1.multiline=trueText2.Locked=true代码:Private Sub Command1_Click()Text2.Text = ""Dim a() As SingleDim max, min As SingleDim i, j, s, jnd As IntegerDim m, n As Integerm = UBound(Split(Text1.Text, vbCrLf)) + 1n = UBound(Split(Split(Text1.Text, vbCrLf)(0), ",")) + 1ReDim a(m, n)For i = 1 To mFor j = 1 To na(i, j) = Split(Split(Text1.Text, vbCrLf)(i - 1), ",")(j - 1) Next jNext iFor i = 1 To mmax = a(i, 1)min = a(i, 1)For j = 1 To nIf a(i, j) > max Thenmax = a(i, j)jnd = jmin = maxEnd IfNext jIf min = a(i, 1) Thenjnd = 1End IfFor s = 1 To mIf a(s, jnd) < min Thenmin = a(s, jnd)End IfNext sIf max = min ThenText2.Text = i & jndExit ForEnd IfNext iIf Text2.Text = "" ThenText2.Text = "鞍点不存在"End IfEnd Sub3.利用在程序运行时产生控件数组,构成一个国际象棋棋盘。

VB大题题库

VB大题题库
For i = 0 To 2
a(i) = Val(InputBox("输入第" & i & "条边的边长:"))
Next i
If a(0) + a(1) > a(2) And a(0) + a(2) > a(1) And a(1) + a(2) > a(0) Then
p = (a(0) + a(1) + a(2)) / 2
If Prime(i) Then
j = j + 1
Print CStr(i) & " ";
If j Mod 5 = 0 Then Print
sum = sum + i
End If
Next i
Print
Print "总和:"
Print f(i)
Next i
End Sub
Private Function f(a)
If a = 1 Or a = 2 Then
f = 1
Else
f = f(a - 1) + f(a - 2)
End If
End Function
4编写程序,产生一个整型二维数组A(N ,N),(N 取5),数组元素的取值范围为[0,20 ),计算数组中每一列数据的和
1输入圆的半径,计算圆的面积,并输出。
Private Sub Command1_Click()
Dim r!, s!
r = InputBox("请输入半径", "输入框")
s = 3.1415926 * r ^ 2

VB程序设计-斐波那契数列研究

VB程序设计-斐波那契数列研究

VB程序设计-斐波那契数列研究(作者:草原飞狼 2014年5月27日)声明:仅供学习与交流使用,高手请飘过,谢谢!所有代码都是个人亲自编写并调试成功。

布局运行界面(1)运行界面(2)运行效果(3)源代码如下:Option Base 1Private Sub Command1_Click()Rem 斐波那契数列,使用普通的变量方法实现Dim i As IntegerDim n As IntegerDim f1, f2 As IntegerDim f As Integer 'f表示当前项n = Val(InputBox("请输入一个大于1的整数!", "输入提示", "10"))f1 = 1f2 = 1Print f1; f2;Rem 以下是核心算法,注意变量的赋值顺序For i = 3 To nf = f1 + f2f1 = f2f2 = fPrint f;Next iPrintEnd SubPrivate Sub Command2_Click()Rem 清空ClsEnd SubPrivate Sub Command3_Click()Rem 退出Unload MeEnd SubPrivate Sub Command4_Click()Rem 斐波那契数列,使用动态数组实现Dim n As IntegerDim i As IntegerDim arr() '定义一个动态数组n = Val(InputBox("请输入一个大于1的整数!", "输入提示", "10"))ReDim arr(n) '重新定义动态数组arr(1) = 1arr(2) = 1Print arr(1); arr(2); '输出第一项和第二项Rem 以下是从第三项开始进行输出For i = 3 To narr(i) = arr(i - 1) + arr(i - 2)Print arr(i);Next iPrintEnd SubPrivate Sub Command5_Click()Rem 斐波那契数列,使用递归法,动态数组实现Dim n As IntegerDim i As Integern = Val(InputBox("请输入一个大于1的整数!", "输入提示", "10"))Call feibo(n) '过程调用PrintEnd SubPrivate Sub feibo(k As Integer)Rem 求斐波那契数列的过程,主要用到动态数组Dim i As IntegerReDim arr(k) '定义一个动态数组arr(1) = 1arr(2) = 1Print arr(1); arr(2); '输出第一项和第二项Rem 以下是从第三项开始进行输出For i = 3 To karr(i) = arr(i - 1) + arr(i - 2)Print arr(i);Next iEnd SubPrivate Sub Command6_Click()Rem 斐波那契数列,使用递归法,动态数组实现Dim n As IntegerDim i As IntegerDim j As Integern = Val(InputBox("请输入一个整数!", "输入提示", "10"))For i = 1 To nPrint feibo_digui(i);Next iRem 以下可以输出三角形的斐波那契数列'For i = 1 To n' For j = 1 To i' Print feibo_digui(j);' Next j' Print'Next iPrintEnd SubPrivate Function feibo_digui(k As Integer) As IntegerRem 求斐波那契数列的递归函数Rem 以下是典型的递归写法If k = 1 Or k = 2 Thenfeibo_digui = 1Elsefeibo_digui = feibo_digui(k - 1) + feibo_digui(k - 2)End IfEnd FunctionPrivate Sub Command7_Click()Rem 斐波那契数列,使用递归法,动态数组实现Dim n As IntegerDim i As IntegerDim j As Integern = Val(InputBox("请输入一个整数!", "输入提示", "10"))Rem 以下可以输出三角形的斐波那契数列,注意循环次数For i = 1 To nFor j = 1 To iPrint feibo_digui(j);Next jPrintNext iPrintEnd SubPrivate Sub Form_Load()Rem 初始化With Form1.FontName = "宋体".FontBold = True.FontSize = 16.ForeColor = vbRedEnd WithEnd Sub。

vb100例(上)

vb100例(上)

VB 基础程序设计100例(上)注意:1. 除非题目要求,不要使用控件(如按钮,文本框等),也不添加其他窗体和标准模块。

一律在Form_Click()过程中编写代码,用inputbox 函数输入数据,在窗体上输出结果。

2. 每个程序只保存一个窗体文件(例如第1题为t001.frm ),不保存.vbp 工程文件。

3. 只有在使用外部过程(Sub 子过程、Function 函数过程)可以提高效率,或题目要求使用外部过程的情况下,才使用外部过程。

4. 所有代码都应按缩进的格式书写。

待有了一定的程序设计经验之后,在学习第5章时,再根据需要进行应用程序界面设计,即进入VB 编程的第二阶段。

有了第一阶段的基础,第二阶段困难不大。

第一部分 该部分习题不使用数组1.用Inputbox 函数输入一个整数,判断其能否被2,3,和5整除,若能则输出该数及它的平方值2.输入一个年份,判断是否闰年。

闰年的条件是该数能被4整除且不能被100整除,或该数能被400整除3.交换两个变量的值,在程序中只允许出现这两个变量4.依次输入一元二次多项式的二次项、一次项和常数项系数,输出它的两个根,例如 x1=2 x2=-3.5 或 x1=3+2*i x2=3-2*i 这里 i 是虚数单位5.计算 s=1+2+3+…+n 和c=1*2*3*…*n6.计算下式之和首次大于10000时的n 的值:s=1+2+22+…+2n +…7.计算下式之和不超过10000时的n 的最大值:s=12+22+…+n 2+…8.计算 s=1*21 (51)311-++++n9.计算 s=n n 1)1( (31)211--+-+-10.计算 t=1+(1+2)+(1+2+3)+…+(1+2+…+n)11.计算 t=1!+2!+…+n!12.计算 t=!1...!31!211n ++++13.计算 s=)!1(...!32!2++++n nx x x14.同上题,要求用Sub 过程计算每项的分子,用Function 过程计算每项的分母15.编写Function 过程计算n!,调用该过程计算组合数16.编写Sub 过程计算n!,调用该过程计算组合数17.编写程序,打印斐波那契(Fibonacci)数列的前30项。

VB程序设计编程考试题及答案

VB程序设计编程考试题及答案

VB程序设计编程考试题及答案1。

输入3个数,输出最大的数2。

有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根3。

输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!成绩通过!”,若小于60,则弹出消息框,显示“抱歉!成绩没有通过!4。

输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。

5。

随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。

例如,产生246,输出是642。

6。

输入两个整数,求它们的最大公约数。

7.分别统计1—100中,满足3的倍数、7的倍数的数各有多少。

8。

输入一串字符,统计其中字母A(不区分大小写)出现的次数。

9.我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。

10。

小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少?11.百元买百鸡问题。

假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。

12。

编程求斐波那契数列前11项。

(斐波那契数列:F(0)=f(1)=1, F(n)=F(n—1)+F(n —2) n〉=2 )13。

已知有序数组a(),编程插入x(x的值为14)。

数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。

14。

找出被3、5、7除,余数均为1的最小的5个正整数。

15利用随机函数产生50~100范围内的20个随机数,显示其中的最大值、最小值和平均值. 16。

编一函数,统计字符串中汉字的个数。

1.输入3个数,输出最大的数Private Sub command1_click()Dim maxFor i = 1 To 3n = Val(InputBox("输入第" &i &"个数"))If n > max Thenmax = nEnd IfNextPrint "三个数中最大的数是”; maxEnd Sub2.有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根Private Sub Command1_Click()Dim a,b, c,nb = Text2c = Text3n = b * b — 4 * a *cIf n >= 0 ThenLabel4 = ”方程有根”ElseLabel4 = ”方程无根”End IfEnd Sub3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!成绩通过!”,若小于60,则弹出消息框,显示“抱歉!成绩没有通过!Private Sub Form_Load()Text1 = ""End SubPrivate Sub Command1_Click()Dim nn = Text1If n 〉60 ThenVal (MsgBox("恭喜!成绩通过!"))ElseVal (MsgBox(”抱歉!成绩没有通过!"))End IfEnd Sub4.输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。

浙江省计算机二级vb上机试题题库

浙江省计算机二级vb上机试题题库

浙江省计算机二级vb上机试题题库浙江省计算机二级vb上机试题题库二、编程题:1 判断一个数是否是素数。

Private sub form_click()Dim x as integer,I as integerX=text1For i=2 to sqr(x) …If x mod i=0 then exit forNext iIf i>sqr(x) thenText2=”x是素数”ElseText2=”x不是素数”EndifEndsub2、求两个任意自然数的最大公约数。

Private sub form_click()Dim m as integer,n as integer,I as integer,r as integer m=text1n=text2R=m mod nDo while r<>0M=nN=rR=m mod nLoopText2=str(n)End sub3、随机生成10个两位正整数,将其中的奇数和偶数分别显示在list1和list2中。

Private sub form_click()Dim a(1 to 10) as integer,I as integerFor i=1 to 10A(i)=int(rnd*90+10)Next iFor i=1 to 10If a(i) mod 2=1 thenList1.additem str(a(i))ElseList2.additem str(a(i))EndifNext iEnd sub4、判断一个数是否是回文数。

Private sub form_click()Dim I as integer,s as stringS=text1For i=1 to len(s)\2If mid(s,I,1)<>mid(s,len(s)-i+1,1) then exit forNext iIf i>len(s)\2 thenPrint s & ”是回文数”ElsePrint s & ”不是回文数”EndifEnd sub5求两个自然数的最小公倍数。

vb真题兔子数列

vb真题兔子数列
13世纪意大利数学家斐波那契在他的《算盘书》中提 出这样一个问题:
有人想知道一年内一对兔子可繁殖成多少对,便筑了一道围墙把一对 兔子关在里面。 已知一对兔子每一个月可以生一对小兔子,而一对兔子出生后,第三 个月开始生小兔子。 真题中是以一对小兔子来分析,假如一年内没有发生死亡,则一对小 兔子一年以后能繁殖成多少对?
Private Sub cacl_Click() Dim i, N, aR, bR, cR as Integer '此处有一错误 N = Val(Month.Text) aR = 1 bR = 1 For i = 2 to N '此处有一错误 cR = aR + bR '此处有一错误 aR = bR bR = cR Next i '此处有一错误 Rabbit.Caption = bR
当月 月后
1 0
2 1
3 2
4 3
5 4
6 5
7 6
…… 10 …… 9
11 10
12 11
1 年后 12
兔数
1
1
2
3
5
8
13 …… 3
5
8
13
21
……
144
233
○为第一月小兔;◎为第二月小兔;●为两月后成年兔
1月 ○ 2月 ◎ 3月 ●○ 4月 ●○ ◎ 5月 ●○ ◎ ●○ 6月 ○● ◎ ●○ ●○ ◎ ……

程序改错题 斐波那契数列(函数)

程序改错题 斐波那契数列(函数)

一、题目简介在学习编程的过程中,经常会遇到一些程序改错的题目,其中以斐波那契数列函数的编写和改错为常见的练习内容。

本文将以程序改错题为主题,重点讨论如何正确编写斐波那契数列函数,并分析常见的错误以及解决方法。

二、斐波那契数列的定义斐波那契数列是一个非常经典的数学问题,以意大利数学家斐波那契的名字命名。

数列的定义如下:F(0) = 0,F(1) = 1,F(n) = F(n-1) + F(n-2) (n ≥ 2)即斐波那契数列的前两项分别为0和1,之后的每一项都是前两项之和。

前十项斐波那契数列分别为0, 1, 1, 2, 3, 5, 8, 13, 21, 34。

三、常见的斐波那契数列函数错误在编写斐波那契数列函数时,常见的错误包括但不限于以下几种:1. 未正确处理边界条件:未考虑n为0和1时的特殊情况;2. 递归函数效率低下:使用简单的递归方式实现斐波那契数列会导致效率低下,特别是在n较大时;3. 变量类型错误:错误地选择了变量类型,导致数值溢出或计算错误;4. 逻辑错误:算法逻辑错误,导致函数计算结果不符合预期。

四、正确的斐波那契数列函数实现为了正确地实现斐波那契数列函数,我们可以采取以下措施:1. 使用递推的方式实现:弃用简单的递归方法,而是通过循环迭代的方式来计算斐波那契数列;2. 合理选择变量类型:根据计算的范围,选择合适的变量类型来存储中间结果,避免数值溢出;3. 处理边界条件:在写函数时,要考虑到n为0和1时的特殊情况,并进行正确的处理。

五、斐波那契数列函数改错实例分析接下来,我们将通过一个实际的斐波那契数列函数改错实例来详细说明常见错误以及解决方法。

假设我们需要编写一个斐波那契数列函数fibonacci,以下是一种常见的错误实现方式:```pythondef fibonacci(n):if n <= 0:return 0elif n == 1:return 1else:return fibonacci(n-1) + fibonacci(n-2)```以上代码是一个经典的错误示例,主要问题在于使用了简单的递归方式实现斐波那契数列,效率非常低下。

vb套题——斐波那契数列

vb套题——斐波那契数列

第03套:1. 基本操作(2小题,每小题15分,共计30分)注意:下面出现的“考生文件夹”均为%USER%**********************************************************************请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。

(1)在名称为Form1的窗体上画一个名称为Frame1,标题为“目的地”的框架,在框架中添加三个复选框,名称分别为Check1、Check2、Check3,其标题分别是“上海”、“广州”、“巴黎”,其中“上海”为选中状态,“广州”为未选状态,“巴黎”为灰色状态,如图所示。

请画控件并设置相应属性。

注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。

解题思路:启动Visual Basic系统,创建一个Form1窗体。

在该窗体上画一个框架控件,通过其属性窗口将名称设为Frame1,标题(Caption属性)设为“目的地”。

在F1框架中画三个复选框控件,通过其属性窗口将名称分别设为Check1、Check2、Check3,标题(Caption属性)分别设为“上海”、“广州”、“巴黎”,“上海”的Value属性设为1,“巴黎”的Value属性设为2。

参考文件:c:\wexam\26990001\hlpsys\参考答案\sjt1.vbp、sjt1.frm、sjt1.vbw 请把这些文件复制到c:\wexam\26990001中,然后打开sjt1.vbp文件并运行。

**********************************************************************(2)在名称为Form1的窗体上画一个名称为Picture1的图片框,其宽和高分别为1700、1900。

请编写适当事件过程,使得在运行时,单击图片框,则装入考生目录下的图形文件pic1.bmp,如图所示。

VB典型题

VB典型题

5-1有一数列,它的头三项为0,0,1Private Sub Form_click()Dim A(1 T o 1000) As IntegerDim I, x As IntegerA(1) = 0A(2) = 0A(3) = 1Print T ab(1); A(1);Print T ab(8); A(2);Print T ab(15); A(3);x = 15For I = 4 T o 1000x = x + 7A(I) = A(I - 3) + A(I - 2) + A(I - 1)If A(I) > 1010 Then Exit ForIf I / 5 = Int(I / 5) ThenPrint T ab(x); A(I)x = -6ElsePrint T ab(x); A(I);End IfNext IEnd Sub5-2找出2~1000之间的全部同构数Private Sub Form_click()Dim i As DoubleDim N As DoubleFor i = 1 To 1000N = i * iIf N = i Or N Mod 10 = i Or N Mod 100 = i Or N Mod 1000 = i Then Print iEnd IfNext iEnd Sub5-5百鸡百元问题Private Sub Form_Click()Dim a As IntegerDim b As IntegerDim c As IntegerFor a = 1 To 20For b = 1 T o 33c = 100 - a - bIf (a + b + c) = 100 And (5 * a + 3 * b + c / 3) = 100 ThenPrint "公鸡"; a, "母鸡"; b, "小鸡"; cEnd IfNext bNext aEnd Sub5-10打印如图所示的数字金字塔Private Sub form_Click()s = 123456789Dim i As IntegerFor i = 1 To 9Print Space(9 - i) & Left(s, i) & StrReverse(Left(s, i - 1)) NextEnd Sub6-1用随机数产生100个20~100之间的随机数整数Private Sub Form_Click()Dim arr(1 T o 100) As IntegerDim sum As Integer, av As IntegerDim i As IntegerDim maxnum%, minnum%, maxi%, mini%For i = 1 To 100arr(i) = Int(Rnd * 81 + 20)Print arr(i);If i Mod 10 = 0 ThenPrintEnd IfNext isum = 0For i = 1 To 100sum = sum + arr(i)Next iav = sum / 100Print "Average: " & avmaxnum = arr(1)minnum = arr(1)maxi = 1mini = 1For i = 1 To 100If maxnum < arr(i) Thenmaxnum = arr(i)maxi = iEnd IfIf minnum > arr(i) Thenminnum = arr(i)mini = iEnd IfNext iPrint "max number(" & maxi & "): " & maxnumPrintPrint "min number(" & mini & "): " & minnum End Sub6-2现有如下两组数据Private Sub form_Click()Dim av As VariantDim bv As VariantDim cv As VariantDim t As LongDim i As LongDim j As Longav = Split("2,8,7,6,4,28,70,25", ",")bv = Split("79,27,32,41,57,66,78,80", ",") ReDim cv(LBound(av) To UBound(av))For i = LBound(av) To UBound(av)cv(i) = CLng(av(i)) + CLng(bv(i))Print cv(i)Next iPrint "最后在窗体上按降序输出第三个数组" For i = LBound(cv) To UBound(cv) - 1For j = i + 1 To UBound(cv)If cv(i) < cv(j) Thent = cv(i)cv(i) = cv(j)cv(j) = tEnd IfNext jNext iFor i = LBound(cv) To UBound(cv)Print cv(i)Next iEnd Sub6-4数组M是一维动态数组Private sub text1_key press(key ascii as integer) Dim a() as integerIf keyascii=13 thenRedim a(1 to val(text1.text))For i=1 to nA(i)=int(rnd*131+100)Next iFor i=1 to n-1If a(j)>a(j+1) thenT=a(j):a(j)=a(j+1):a(j+1)=tEnd ifNext jNext iFor i=1 to nPicture1.print a(i);If I mod 3=0 then Picture1.printNext iIf n mod 2=0 thenLabel3.caption=(a(n/2)+a(n/2+1))/2ElseLabel3.caption=a((n+1)/2)End ifEnd if6-5打印杨辉三角形Private Sub Form_Click()Dim A() As Long, N As Integer, I As Integer, J As Integer, X As IntegerN = 7ReDim A(N, N)For I = 1 To NFor J = 1 To IIf J = 1 Or I = J ThenA(I, J) = 1ElseA(I, J) = A(I - 1, J - 1) + A(I - 1, J)End IfNext JNext IFor I = 1 To NPrint Spc(25 - 3 * I);For J = 1 To IPrint A(I, J);X = Len(CStr(A(I, J)))If X = 1 Then Print Spc(3);If X = 2 Then Print Spc(2);If X = 3 Then Print Spc(1);Next JPrintPrintNext IEnd Sub7-1编写求解一元二次方程的过程Private Sub form_Click()a = CSng(InputBox("请输入二次项系数"))b = CSng(InputBox("请输入一次项系数"))c = CSng(InputBox("请输入常数项"))Print getresult(a, b, c)End SubPublic Function getresult(ByVal a As Single, ByVal b As Single, ByVal c As Single) As String If b ^ 2 - 4 * a * c > 0 ThenX1 = ((-1) * b + (b ^ 2 - 4 * a * c) ^ 0.5) / (2 * a)X2 = ((-1) * b - (b ^ 2 - 4 * a * c) ^ 0.5) / (2 * a)getresult = "x1=" & CStr(X1) & Chr(9) & "x2=" & X2ElseX = (-1) * b / (2 * a)If b ^ 2 = 4 * a * c Thengetresult = "x=" & CStr(X)Elsey = (4 * a * c - b ^ 2) ^ 0.5getresult = "x1=" & CStr(X) & "+" & CStr(y) & "i" & Chr(9) & "x2=" & CStr(X) & "-" & CStr(y) & "i"End IfEnd IfEnd Function7-2求π的近似值的函数过程Private Sub form_Click()x = pi(5000)Print xEnd SubFunction pi(i As Long) As DoubleDim m As Long, l As Long, pi4 As DoubleFor l = 1 To i Step 2If m >= 0 Then m = -l Else m = lpi4 = pi4 - 1 / mNextpi = 4 * pi4End Function7-3求斐波那契数列前N项的值递归算法Private Sub form_Click()i = 0s = 0Do While s <= 5000If i Mod 5 = 0 Then Printi = i + 1s = fib(i)If s <= 5000 Then Print s; Tab;LoopEnd SubFunction fib(ByVal n As Integer) As LongIf n = 1 Or n = 2 Thenfib = 1Elsefib = fib(n - 2) + fib(n - 1)End IfEnd Function非递归算法Private sub command1_click()Dim p() as integerDim n,i as integerN=val(inputbox(“求数列的前n项n= ”))If n=1 or n=2 thenS=1ElseFor i=3 to nS=s+p(i)P(i)=p(i-1)+p(i-2)Next iPrint sEnd ifEnd sub7-5判断回文数Private Function IsH(a As String) As Boolean Dim l As Integerl = Len(a)IsH = TrueFor i = 1 To l / 2If Mid(a, i, 1) <> Mid(a, l + 1 - i, 1) Then IsH = FalseExit ForEnd IfNext iEnd FunctionPrivate Sub Form_Click()Dim s As Strings = InputBox("请输入一个正整数", "输入框") If IsH(s) = False ThenLabel1.Caption = sElseLabel1.Caption =s & Chr(-24081)End IfEnd Sub。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第03套:1. 基本操作(2小题,每小题15分,共计30分)注意:下面出现的“考生文件夹”均为%USER%**********************************************************************请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。

(1)在名称为Form1的窗体上画一个名称为Frame1,标题为“目的地”的框架,在框架中添加三个复选框,名称分别为Check1、Check2、Check3,其标题分别是“上海”、“广州”、“巴黎”,其中“上海”为选中状态,“广州”为未选状态,“巴黎”为灰色状态,如图所示。

请画控件并设置相应属性。

注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。

解题思路:启动Visual Basic系统,创建一个Form1窗体。

在该窗体上画一个框架控件,通过其属性窗口将名称设为Frame1,标题(Caption属性)设为“目的地”。

在F1框架中画三个复选框控件,通过其属性窗口将名称分别设为Check1、Check2、Check3,标题(Caption属性)分别设为“上海”、“广州”、“巴黎”,“上海”的Value属性设为1,“巴黎”的Value属性设为2。

参考文件:c:\wexam\26990001\hlpsys\参考答案\sjt1.vbp、sjt1.frm、sjt1.vbw 请把这些文件复制到c:\wexam\26990001中,然后打开sjt1.vbp文件并运行。

**********************************************************************(2)在名称为Form1的窗体上画一个名称为Picture1的图片框,其宽和高分别为1700、1900。

请编写适当事件过程,使得在运行时,单击图片框,则装入考生目录下的图形文件pic1.bmp,如图所示。

单击窗体则图片框中的图形消失。

要求程序中不得使用变量,每个事件过程中只能写一条语句。

注意:存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm。

解题思路:启动Visual Basic系统,创建一个Form1窗体。

在该窗体上画一个图片框,通过其属性窗口将名称设为Picture1,宽度(Width属性)设为1700,高度(Height属性)设为1900。

单击图片框(即运行Click事件过程),在Click事件过程中加入语句:Picture1.Picture = LoadPicture("pic1.bmp"),即将考生目录下的图形文件pic1.bmp装入图片框中。

单击窗体(即运行Click事件过程),在Click事件过程中加入语句:Picture1.Picture = LoadPicture(""),即图片框中的图形消失。

参考文件:c:\wexam\26990001\hlpsys\参考答案\sjt2.vbp、sjt2.frm、sjt2.vbw 请把这些文件复制到c:\wexam\26990001中,然后打开sjt2.vbp文件并运行。

2. 简单应用(2小题,每题20分,计40分)注意:下面出现的“考生文件夹”均为%USER%***********************************************************************(1)在考生目录下有一个工程文件sjt3.vbp,窗体文件中已给出所有控件和部分程序,如图所示。

要求:1)利用属性窗口设置适当的属性,使text1、text2中数据右对齐;2)请编写适当的程序完成以下功能:在Text1中输入40(度数),选择一个单选按钮,单击“计算”按钮,则根据所选择的单选按钮,计算出相应的正弦、余弦值(保留3位小数,第4位截去,π取3.14159),并显示在Text2中。

注意:考生不得修改窗体文件中已经存在的程序,在结束程序运行之前,必须进行一种计算,在Text1中输入的必须是40,必须用窗体右上角的关闭按钮结束程序,否则无成绩。

最后,程序按原文件名存盘。

解题思路:启动Visual Basic系统,打开考生文件夹下需编辑的工程文件sjt3.vbp,相应的窗体文件名为sjt3.frm。

由于所提供的窗体控件不完整,通过属性窗口将文本框的对齐格式(Alignment属性)均设为1。

由于所提供的窗体程序不完整,需添加事件过程。

单击“计算”按钮(即运行Click事件过程),在该Click事件过程中加入语句:Private Sub Command1_Click()If Option1.Item(0) = True ThenText2.Text = Format(Sin(Val(Text1.Text) * 3.14159 / 180), "0.000")End IfIf Option1.Item(1) = True ThenText2.Text = Format(Cos(Val(Text1.Text) * 3.14159 / 180), "0.000")End IfEnd Sub参考文件:c:\wexam\26990001\hlpsys\参考答案\sjt3.vbp、sjt3.frm、sjt3.vbw、out3.txt请把这些文件复制到c:\wexam\26990001中,然后打开sjt3.vbp文件并运行。

**********************************************************************(2)在考生文件夹下有一个工程文件sjt4.vbp,窗体上已经给出所有控件。

程序运行时,单击“开始”按钮,则汽车图标向右运动;单击“停止”按钮则汽车停止运动;移动滚动条上的滚动框,可以改变汽车的运动速度(滚动框向右移动,速度减慢)。

如图所示。

要求:去掉程序中的注释符,把程序中的?改为正确的内容。

提示:窗体上有一个计时器,计时器的事件过程每执行一次,汽车向右移动10,程序通过改变计时器控件的Interval属性来改变汽车的运动速度。

注意:不得修改控件的属性。

最后,按原文件名存盘。

解题思路:启动Visual Basic系统,打开考生文件夹下需编辑的工程文件sjt4.vbp,相应的窗体文件名为sjt4.frm。

由于所提供的窗体程序不完整,在“开始”按钮的Private Sub Command1_Click()事件过程中,有一处地方需要修改。

1) 将语句'Timer1.Enabled = ?改为Timer1.Enabled = True在滚动框的Private Sub HScroll1_Change()事件过程中,有一处地方需要修改。

1) 将语句'?.Interval = HScroll1.Value改为Timer1.Interval = HScroll1.Value在计时器的Private Sub Timer1_Timer()事件过程中,有一处地方需要修改。

1) 将语句'Picture1.Left = ? + 10改为Picture1.Left = Picture1.Left + 10参考文件:c:\wexam\26990001\hlpsys\参考答案\sjt4.vbp、sjt4.frm、sjt4.frx、sjt4.vbw请把这些文件复制到c:\wexam\26990001中,然后打开sjt4.vbp文件并运行。

**********************************************************************3. 综合应用(1小题,计30分)注意:下面出现的“考生文件夹”均为%USER%以下数列:1,1,2,3,5,8,13,21,…,的规律是从第3个数开始,每个数是它前面两个数之和。

在考生目录下有一个工程文件sjt5.vbp。

窗体中已经给出了所有控件,如图所示。

请编写适当的事件过程实现以下功能:在Text1中输入整数40,单击“计算”按钮,则在Text2中显示该数列第40项的值;如果单击“存盘”按钮,则将计算的第40项的值存到考生目录下的out5.txt文件中。

(提示:因数据较大,应使用Long型变量)注意:在结束程序运行之前必须单击“存盘”按钮,把结果存入out5.txt文件,否则无成绩。

最后把修改后的文件按原文件名存盘。

解题思路:启动Visual Basic系统,打开考生文件夹下需编辑的工程文件sjt5.vbp,相应的窗体文件名为sjt5.frm。

由于所提供的窗体程序不完整,需添加事件过程。

单击“计算”按钮(即运行Click事件过程),在该Click事件过程中加入语句:Private Sub Command1_Click()Dim f1, f2, f As LongDim a(40) As Longf1 = 1f2 = 1a(1) = f1a(2) = f2For i = 3 To Val(Text1.Text)f = f1 + f2a(i) = ff1 = f2f2 = fNextText2.Text = a(40)End Sub参考文件:c:\wexam\26990001\hlpsys\参考答案\sjt5.vbp、sjt5.frm、sjt5.vbw、out5.txt请把这些文件复制到c:\wexam\26990001中,然后打开sjt5.vbp文件并运行。

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第04套:1. 基本操作(2小题,每小题15分,共计30分)注意:下面出现的“考生文件夹”均为%USER%**********************************************************************请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。

(1)在名称为Form1 的窗体上画一个名称为Combo1的组合框,其宽度为1200,其类型如图所示(即简单组合框)。

要求:1)请按图中所示,通过属性窗口输入“北京”、“上海”、“广州”、“深圳”。

2)设置适当的属性,使得运行时,窗体的最大化按钮和最小化按钮消失。

注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。

解题思路:启动Visual Basic系统,创建一个Form1窗体。

在该窗体上画一个组合框控件,通过其属性窗口将名称设为Combo1,宽(Width属性)设为1200,Style属性设为1,向组合框中添加项目(List属性),添加的项目分别为“北京”、“上海”、“广州”、“深圳”,每个项目为一行。

相关文档
最新文档