简单应用编程未来题.doc_第1页
简单应用编程未来题.doc_第2页
简单应用编程未来题.doc_第3页
简单应用编程未来题.doc_第4页
简单应用编程未来题.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

2(2)在考生文件夹下有一个工程文件sjt4.vbp,运行情况如图所示。程序的功能是计算下列表达式的值: z=(x+2)2+(x+3)3+(x+4)4+(x+n)n其中的N和x的值通过键盘分别输入到文本框Text1、Text2中。之后如果单击标题为计算、名称为Command1的命令按钮,则计算表达式的值z,并将计算结果显示在名称为Label1的标签中。 注意:考生不得修改窗体文件中已经存在的程序。程序中不得使用运算符,而应使用函数xn进行幂运算。程序至少运行一次,按照下图输入数据,使x=10,N=5,单击计算按钮,计算z的值,并将结果显示在标签Label1中,否则没有成绩。最后,程序按原文件名存盘。【考点分析】本题考点有:标签的Caption属性, Function()过程,Val()函数,Call语句,Sub()函数,文件操作(Open、Close、Output),App.Path相对路径以及For循环语句。【解题思路】通过For循环语句实现xn()的乘幂运算;Click事件过程中通过Val()函数实现字符类型向数值型的转换,通过循环语句及调用xn()函数,获得函数返回值,实现表达式的运算结果;运用Call 语句调用SaveResult函数对于结果进行保存,涉及文件的Open、Close和Output操作,最后将结果保存在文件夹下的 out4.dat文件中。Private Function xn(a As Single, m As Integer)Dim i As Integertmp 1For i 1 To mtmp ?Nextxn ?End FunctionPrivate Sub Command1 Click()Dim n As IntegerDim i As IntegerDim t As SingleDim s, x As Singlen Val(Text1.Text)x Val(Text2.Text)z 0For i 2 To nt x iz z ?NextLabel1.Caption ?Call SaveResultEnd SubPrivate Sub SaveResult()Open App.Path & out4.dat For Output As #1Print #1, Label1.CaptionClose #1End Sub参考答案:a I tmp xn(t, i) z22(1)程序的功能是计算如下表达式的值: z=(x-2)!+(x-3)!+(x-4)!+(x-N)! 其中的N和x值通过键盘分别输入到两个文本框Text1、Text2中。单击名称为Command1、标题为计算的命令按钮,则计算表达式的值,并将计算结果在名称为Label1的标签中显示。 要求:程序调试通过后,必须按照如图所示输入N=5,x=12,然后计算z的值,并将计算结果显示在标签Label1中,否则没有成绩。 【考点分析】本题考点有:标签的Caption属性, Function()过程,Val()函数,Call语句,Sub()函数,文件操作(Open、Close、Output),App.Path相对路径以及For循环语句。【解题思路】通过循环语句实现xn()的乘幂运算;在命令按钮的单击事件过程中通过Val()函数实现字符类型向数值型的转换,通过循环语句及调用xn()函数,获得函数返回值,实现表达式的结果运算;最后运用Call 语句调用SaveResult函数语句,并将结果进行保存在文件夹下的 out4.dat文件中。Private Function xn(m As Integer) As LongDim i As IntegerDim tmp As Longtmp ?For i 1 To mtmp ?Next? tmpEnd FunctionPrivate Sub Command1 Click()Dim n As IntegerDim i As IntegerDim t As IntegerDim z As Long, x As Singlen Val(Text1.Text)x Val(Text2.Text)z 0For i 2 To nt x iz z ?NextLabel1.Caption zCall SaveResultEnd SubPrivate Sub SaveResult()Open App.Path & out3.dat For Output As #1Print #1, Label1.CaptionClose #1End Sub参考答案:1 tmp * I xn xn(t)11(2)程序的功能是计算M!+(M+1)!+(M+2)!+N!之和。窗体上有名称分别为Text1、Text2的两个文本框,用于接收输入的M和N(要求MN)。单击名称为Command1、标题为计算的命令按钮,计算M!+(M+1)!+(M+2)!+N!的值,并将计算结果显示在标签lblResult中。【考点分析】本题考点有:标签的Caption属性,Val()函数,For循环语句。【解题思路】Function f()过程函数用于实现对数值阶乘的运算,Val()函数实现文本框中的字符转换成数值型,通过循环累加调用过程函数实现表达式结果运算。Private Sub Command1 Click()Dim m As IntegerDim n As IntegerDim s As LongDim i As Integerm Val(Text1.Text)n Val(Text2.Text)s 0For i ? To nt ?s s ?NextlblResult.Caption sEnd SubPrivate Function f(ByRef x As Integer) As LongDim t As Longt 1For i 1 To xt ?Nextf ?End Function参考答案:1 m+1 f(t) t*I t 3(1)工程文件sjt3.vbp,其功能是: 单击读数据按钮,则将考生文件夹下in3.dat文件中的100个0到999之间的整数读入到数组a中; 单击计算按钮,则找出这100个整数中的所有水仙花数,并将它们的最大值与最小值分别显示在文本框Text1、Text2中。(注:当一个数的值等于该数中的各位数字的立方和时,此数被称为水仙花数。如:153=13+53+33所以153就是一个水仙花数) 。要求编写计算命令按钮的事件过程。 【解题思路】Fix 函数删除 number 参数的小数部分并返回以整数部分。格式为:Fix(number) ,number 参数可以是任意有效的数值表达式。如果 number 参数包含 Null,则返回 Null。Val 函数返回包含于字符串内的数字,语法:Val(string) ,必要的 string 参数可以是任何有效的字符串表达式。循环遍历数组a,通过调用Function 过程判断是否为水仙花数,并通过If语句对于数值进行比较,如果 max a(i) 那么max a(i),最小值同理。在设置变量初值时,max1,min1000。目的是方便比较数的大小。因为数组中的数值最小的是0,最大的是999,那么,让max先1,小于数组中的最小值,在程序执行过程中,只要有水仙花数,就一定会大于max,这样才会赋值给max,min1000也是同样的道理!Dim a(100) As IntegerPrivate Sub Command1 Click()Dim k As IntegerOpen App.Path & in3.dat For Input As #1For k 1 To 100Input #1, a(k)Next kClose #1End SubPrivate Sub Command2 Click() 需考生编写End Sub以下Function 过程用于判断某数是否为水仙花数Function isnarc(p As Integer)x Fix(p / 100)y Fix(p x * 100) / 10)z p x * 100 y * 10If p x 3 y 3 z 3 Thenisnarc TrueElseisnarc FalseEnd IfEnd FunctionPrivate Sub Form Unload(Cancel As Integer)Open App.Path & out3.dat For Output As #1Print #1, Val(Text1.Text)Print #1, Val(Text2.Text)Close #1End Sub参考答案Dim i As IntegerDim max As Integer, min As Integermax 1min 1000For i 1 To 100If isnarc(a(i) ThenIf max a(i) Then min a(i)End IfNext itext1max text2minEnd Sub【举一反三】第11套第三大题。17(1)工程文件功能是: 单击读数据按钮,则将考生文件夹下in3.dat文件中的100个正整数读入数组a中; 单击计算按钮,则找出这100个正整数中的所有完全平方数(一个整数若是另一个整数的平方,那么它就是完全平方数。如:36=62所以36就是一个完全平方数),并计算这些完全平方数的平均值,最后将计算所得平均值截尾取整后在文本框Text1中显示。 在结束程序运行之前,必须进行计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。 【考点分析】本题考点有:Fix 函数,App.Path相对路径,文件编辑,Sqr函数,运算符,For循环语句以及If条件判断语句。【解题思路】通过文件操作读入数据,并将数值赋值给数组a(k),根据题意,程序要实现寻找完全平方数,并求出完全平方数的平均值,现在读入和保存程序已经编写完整,需要编写的是求出完全平方数的平均值的代码。通过循环语句和判断语句确定完全平方数,并进行完全平方数和的累加,求出平均数。Int 和 Fix 函数都可以移除 Number 的小数部分并返回得到的整数值。Fix 函数实现平均值的截尾取整,在这里也可以使用Int函数。Int 和 Fix 函数之间的区别在于:如果 Number 为负,则 Int 返回小于或等于 Number 的第一个负整数,而 Fix 返回大于或等于 Number 的第一个负整数。例如,Int 将 8.4 转换成 9,而 Fix 将 8.4 转换成 8。Dim a(100) As IntegerPrivate Sub Command1 Click()Dim k As IntegerOpen App.Path & in3.dat For Input As #1For k 1 To 100Input #1, a(k)Next kClose #1End SubPrivate Sub Command2 Click() 考生编写End SubPrivate Sub Form Unload(Cancel As Integer)Open App.Path & out3.dat For Output As #1Print #1, Text1.TextClose #1End Sub参考答案Private Sub Command2 Click() Dim sum As Long Dim k As Integer Dim m As Integer For k 1 To 100 For m 1 To Sqr(a(k)If a(k) m 2 Then sum sum a(k) n n 1End IfNext m Next k Text1 Fix(sum / n)End Sub3(2)在考生文件夹下有一个工程文件sjt4.vbp。请在窗体上添加一个组合框,名称为cb1,并输入三个列表项:3、7、11(列表项的顺序不限,但必须是这3个数字);添加一个名为Text1的文本框;再添加一个标题为计算、名称为C1的命令按钮。如图所示。请编写适当的事件过程,使得在程序运行时,在组合框中选定一个数字后,单击计算按钮,则计算5000以内能够被该数整除的所有数之和,并放入Text1中。最后,按原文件名存盘。提示:由于计算结果较大,应使用长整型变量。 注意:考生不得修改窗体文件中已经存在的程序,在结束程序运行之前,必须至少进行一次计算。并且必须用窗体右上角的关闭按钮结束程序,否则无成绩。【解题思路】Mod取模运算,就是求余数,比如: 10 mod 3 1 因为10除以3等于3余1,结果就是余数。如果a mod b0,则说明a能被b整除,反之a mod b0,则a不能被b整除。组合框(ComboBox)将文本框与列表框的特性组合在一起,既可在组合框的文本框部分输入信息,也可在列表框部分选择项目;组合框的列表项可在设计阶段通过其List属性添加,每输入完一项后按键换行再输入下一项;其Text属性用于设置或返回其文本框部分当前的文本。根据题意,用For逐一循环5000内的整数,通过If语句的条件表达式:i Mod n0,判断各个数是否能被n整除,把能被整除的数累加到变量sum。i为循环变量,n的值为Val(Cb1.Text)。Private Sub Form Unload(Cancel As Integer)unload subEnd Sub模块代码Sub unload sub()Open out4.dat For Output As #1Print #1, Val(Form1.Cb1.Text), Val(Form1.Text1. Text)Close #1End Sub参考答案Private Sub C1_Click()Dim sum As LongDim n As IntegerDim i As Integern Val(Cb1.Text)For i n To 5000If i Mod n 0 Thensum sum iEnd IfNext iText1.Text sumEnd Sub【易错提示】在定义变量时注意,由于数值较大,应定义为长整型变量,防止数值过大溢出。 【举一反三】第4套第二部分第二小题。5(2)通过调用过程FindMin求数组的最小值。程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最小值,并在窗体上显示出来(如图所示)。 【考点分析】本题考点有:Array()函数,UBound 函数,LBound 函数,Val() 函数,Print方法,CInt 函数循环语句以及If判断语句。【解题思路】文本框里的内容(包括数字)默认都是当作字符串来处理的,如果需要参与数据运算,则需先用Val()函数将其转化为数字(如Val(Text1.Text)。CInt 函数将一数值转换为整型。这里需要指出的是,利用Array对数组各元素赋值,声明数组的类型只能是Variant。在本题的FindMin过程中,用变量Min记录最小值,最初把数组的第一个元素的值赋给Min,然后通过For循环语句将其后的元素依次与之比较,如果小于Min的值则与之交换,依次类推,最终Min的值就是数组各元素中的最小值。在窗体上打印信息可以通过Print方法来实现,其形式为:对象Print 要显示的内容Option Base 1Private Function FindMin(a() As Integer)Dim Start As IntegerDim Finish As Integer, i As IntegerStart ?(a)Finish ?(a)Min ?(Start) For i Start To Finish If a(i) ? Min Then Min ? Next i FindMin MinEnd FunctionPrivate Sub Command1 Click()Dim arr1Dim arr2(4) As Integerarr1 Array(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text), Val(Text4.Text)For i 1 To 4arr2(i) CInt(arr1(i)Next iM FindMin(?)Print 最小值是: ; MEnd Sub参考答案:Lbound Ubound a a(i) arr1(i) arr228 (2)在考生文件夹下有一个工程文件sjt4.vbp(相应的窗体文件名为sjt4.frm),其功能是通过调用过程Average求数组的平均值。程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求出其平均值,并显示在窗体上(如图所示)。【解题思路】文本框里的内容(包括数字)默认情况下都是当作字符串来处理的,如果要参与数据运算则需先用Val函数将其转化为数值类型。这里需要指出的是,利用Array函数对数组各元素赋值,声明的数组只能是Variant类型,数组的上下界可用UBound和LBound函数获得, LBound函数返回数组的下界,而UBound函数返回数组某一维的上界值,这两个函数一起使用即可确定一个数组的大小。Option Base 1Private Function Average(a() As Integer) As SingleDim Start As Integer, Finish As IntegerDim i As IntegerDim Sum As IntegerStart ?(a)Finish ?(a)Sum ?For i Start To FinishSum Sum ?Next iAverage ?End FunctionPrivate Sub Command1 Click()Dim arr1Dim arr2(4) As Integerarr1 Array(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text), Val(Text4.Text)For i 1 To 4arr2(i) CInt(arr1(i)Next iAver Average(?)Print 平均值是: ; AverEnd Sub参考答案:Lbound Ubound a(Start) a(i) Sum / 4 arr26(1)在考生文件夹下有一个工程文件sjt3.vbp,相应的窗体文件为sjt3.frm。其功能是随机产生30个0 1000的整数,放入一个数组中,然后输出其中的最小值。程序运行后,单击命令按钮(名称为Command1,标题为输出最小值),即可求出其最小值,并在窗体上显示出来(如图所示)。这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。 【考点分析】本题考点有:Randomize语句,Rnd()函数,Int()函数,循环语句,判断语句以及Print方法。【解题思路】Rnd()函数用于产生一个小于1但大于或等于0的随机数,其语法格式为:Rnd(number) 可选的number参数是Single或任何有效的数值表达式。为使每次程序运行时,得到不同的随机数数列,在使用Rnd()函数产生随机数前应用Randomize语句对随机数生成器进行初始化。生成某个范围内的随机整数,参考所发的资料。本题程序用变量Min记录最小数,最初把数组的第一个元素的值赋给Min,然后通过For循环语句将其后的元素依次与之比较,如果其值小于Min,则将其赋值给Min,依次类推,最终Min的值就是数组各元素中的最小值。Option Base 1Private Sub Command1 Click()Dim arrN(30) As IntegerDim Min As IntegerRandomizeFor i 1 To 30arrN(i) Int(Rnd * ?)Next i? arrN(1)For i 2 To 30If ? ThenMin arrN(i)End IfNext iPrint MinEnd Sub答案:1001MinarrN(i) arrN(i)31(1)在考生文件夹下有一个工程文件sjt3.vbp,相应的窗体文件为sjt3.frm。其功能是随机产生30个0 1000的整数,将其放入一个数组中,然后输出其中的最大值。程序运行后,单击命令按钮(名称为Command1,标题为输出最大值,如图所示),即可求出其最大值,并显示在窗体上。这个程序不完整,请把它补充完整,并能正确运行。 【考点分析】本题考点有:Int 函数,Rnd()函数,For 循环语句,Option Base数组下标和If判断语句。【解题思路】Rnd()函数用于产生一个小于1但大于或等于0的随机数。本题程序用变量Max记录最大数,最初把数组的第一个元素的值赋给Max,然后通过For循环语句将其后的元素依次与之比较,如果其值大于Max则将其赋值给Max,依次类推,最终Max的值就是数组各元素中的最大值。Option Base 1Private Sub Command1 Click()Dim arrN(30) As IntegerDim Max As IntegerRandomizeFor i 1 To 30arrN(i) Int(Rnd * ?)Next i? arrN(1)For i 2 To 30If ? ThenMax arrN(i)End IfNext iPrint MaxEnd Sub参考答案: 1001 max arrN(i) Max或Max ? Or n 8 ThenMsgBox (数据错误,请重新输入)Command2.Enabled FalseCommand3.Enabled FalseElseCommand2.Enabled TrueCommand3.Enabled TrueEnd IfEnd SubPrivate Sub Command2 Click()Dim s As Long, k As Integer考生应编写的程序End SubFunction f(n As Integer) As Longs ?For k 2 To ns s * kNextf ?End FunctionPrivate Sub Command3 Click()Open App.Path & out4.dat For Output As #1Print #1, n, Text1Close #1End Sub参考答案:12 1 s t*I t考生应编写的程序s 0For k 1 To n s s f(k)Next kText1 s15(2)在考生文件夹下有一个工程文件sjt4.vbp。窗体上的控件如图所示。程序运行时,若选中累加单选按钮,则10、12菜单项不可用,若选中阶乘单选按钮,则1000、2000菜单项不可用(如图所示)。选中菜单中的一个菜单项后,单击计算按钮,则相应的计算结果在文本框中显示(例如,选中累加和2000,则计算1+2+3+2000,选中阶乘和10,则计算10!)。单击存盘按钮则把文本框中的结果保存到考生文件夹下的out4.dat文件中。 要求:编写计算按钮的Click事件过程。 注意:不得修改已经存在的程序,在结束程序运行之前,必须用存盘按钮存储计算结果,否则无成绩。最后,程序按原文件名存盘。 19(1)程序运行时,单击窗体则显示如图所示的图案。请去掉程序中的注释符,把程序中的?改为正确的内容。 Private Sub Form Click()For i 1 To ?For j 1 To 6 iPrint ;Next jFor j 1 To ?Print *;Next jPrintNext iFor i 1 To 4For j 1 To ?Print ;Next jFor j 1 To ?Print *;Next jPrintNext iEnd Sub参考答案:5 2 * i1 i1 (92 * i)20(1)程序的功能是通过键盘输入正整数到文本框中。在除数框架中选择一个单选按钮,然后单击处理数据命令按钮,将大于文本框中的正整数,并且能够被所选除数整除的5个数添加到列表框List1中,如图所示。【解题思路】Sub calc()函数实现将大于文本框中的正整数,并且能够被所选除数整除的5个数添加到列表框List1中,首先调用ClearList函数清空列表框,运用Val函数使Text1的值由字符转化为数值,Do While语句控制产生整数的个数为5个,通过Mod函数和If语句判断是否能被所选数整除,并用列表框的AddItem方法,把能被整除的数添入到列表框中。在Command1 Click事件过程中,向文本框中输入正整数,并运用val(Option1(i). Caption)语句提取单选按钮数组中所选的数值,再通过调用calc()函数实现数据的处理过程。Private Sub Command1_Click()Dim y As IntegerFor i 0 To 2 If ? True Then y val(Option1(i)?) End IfNextCall calc(y)End SubPrivate Sub calc(y As Integer)ClearListi 1x Val(Text1.Text) 1Do While i ?If x Mod y 0 Then List1.AddItem ? i i 1End Ifx x 1LoopEnd SubPrivate Sub ClearList()For k List1.ListCount 1 To 0 Step 1List1.RemoveItem kNext kEnd Sub参考答案:Option1(i) Caption 5 x47(2)窗体上有一个文本框和一个命令按钮。程序运行后,单击命令按钮,即可计算出0 100范围内不能被7整除的所有整数的和,并显示在文本框中。在窗体的代码窗口中,已给出了部分程序,其中在通用过程Fun中实现计算不能被7整除的整数的和的操作,请编写该过程的代码。 要求:请勿改动程序中的任何内容,只在Function Fun()和End Function之间填入你编写的若干语句。最后将修改后的文件按原文件名存盘。 【考点分析】本题考点有:Mod运算符,Function过程函数,文件编辑,App.Path相对路径,Print方法,For循环语句以及If判断语句。【解题思路】可通过求余运算符Mod来计算某数M能否被7整除,如果M Mod 70那么M能被7整除,否则不能被7整除。可利用For循环语句来逐个判断0100范围内的整数能否被7整除,用一个变量来统计不能被7整除的整数个数。Sub SaveData()Open App.Path & & outtxt.txt For Output As #1Print #1, Text1.TextClose #1End SubFunction Fun()End FunctionPrivate Sub Command1 Click()d Fun()Text1.Text dSaveDataEnd Sub参考答案Function Fun()Dim s As Integer, i As IntegerFor i 0 To 100If i Mod 7 0 Thens s iEnd IfNext iFun sEnd Function21(1)程序的功能是通过键盘向文本框中输入大、小写字母和数字。单击标题为统计的命令按钮,分别统计输入字符串中大写字母、小写字母及数字字符的个数,并将统计结果分别在标签控件数组x中显示。【考点分析】本题考点有:标签控件数组,For 循环语句,AscII码,Select Case语句,RTrim()函数,Len()函数以及Mid函数。【解题思路】单击标题为统计的命令按钮,其中RTrim()函数用于去掉字符串右边的空格,把值赋给s,那么s是没有空字符的字符串,就是说字符串中只有大、小写字母及数字,Len()函数用于获得字符串的长度,也就是字符串中的字符数,通过For 循环语句和Mid函数遍历字符串获取字符串中的每一个字符,并运用Asc函数或取字符的AscII码进行判断,通过Select Case语句实现个数的统计,将其装入到数组a中,通过For 循环语句将统计结果分别显示在标签控件数组x中。Private Sub Command1 Click()Dim n As IntegerDim b As IntegerDim a(3) As Integers RTrim(Text1.Text)n ? (Text1.Text)For i 1 To nb ? (Mid(s, i, 1)Select Case ?Case 48 To 57a(0) a(0) 1Case 65 To 90a(1) a(1) 1Case 97 To 122a(2) a(2) 1End SelectNextFor i 0 To ? a(i)NextEnd Sub参考答案:Len Asc b 2 x(i)【易错提示】标签控件数组的下标是从0开始的,所以For i 0 To ?语句的?处应该添2,而不是3。37(2)在考生文件夹中有一个工程文件sjt4.vbp。该程序的功能是将文件in4.txt中的文本读出并在文本框Text1中显示。输入一个英文字母到文本框Text2中,然后单击统计命令按钮,统计该字母(大小写被认为是不同的字母)在文本中出现的次数,统计结果在标签Label3中显示。 【考点分析】考点有:标签的Caption属性,Mid函数,RTrim函数,InStr()函数,文件操作以及&连

温馨提示

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

评论

0/150

提交评论