2023-2024学年高一上学期选修一第三单元第二节 递推、迭代与问题解决

2024-06-28
| 12页
| 42人阅读
| 0人下载

内容正文:

2023-2024学年高一上学期选修一第三单元第二节 递推、迭代与问题解决 一、选择题 1.直接或间接地调用函数自身的方法为(  ),不断用变量的旧值推出新值的过程为(  ). A.递归  枚举 B.迭代  枚举 C.迭代  递归 D.递归  迭代 2.下列VB程序模块可以计算正整数n阶乘的值。 Function f(n As Integer) As Integer If n < =" 1" Then f = 1 Else f =" n" * f(n - 1) End If End Function 该模块采用的算法是(   ) A.枚举 B.查找 C.排序 D.递归 3.下列适合用来解决裴波那契数列的方法的是(   ) A.枚举法 B.直接法 C.迭代法 D.以上均不是 4.下列程序执行后,整型变量n的值为(   )。 n=0 for i="1" to 100 if i mod 4="0" then n="n+1" end if next i A.5050 B.25 C.26 D.33 5.某VB程序段如下: Function f (n As Integer) As Long    If n = 1 Then f = 5 Else   f= 2*f(n-1) – 3 End If End Function Private Sub Command1_click()   Dim n As Integer   n = Val (Text1.Text)   Text2. Text = Str(f(n)) End Sub. 该程序段运行后,在文本框Text1中输入5,单击命令按钮Command1后,文本框Text2中显示的是(  ) A.18 B.35 C.63 D.123 6.有序数列3.6,8,11.6,22,24,27,31,36.5,35,46,通过对分查找查找数31,需找( )次 A.4 B.3 C.2 D.1 7.有如下VB程序: Function f(i As Integer) If i=1 Then f=2 Else f=2 * 10^(i-1)+f(i-1) End If End Function Private Sub Command1_Click() Dim n As Integer,s As Integer,i As Integer n=Val(Text1.Text) s=0 For i=1 To n s=s+f(i) Next i Labell.Caption=Str(s) End Sub 若在Textl中输入5,则Labell中显示的内容为(    ) A.22222 B.24690 C.20000 D.2468 8.斐波那契的兔子繁殖问题可以利用迭代算法来解决的,解决该问题的正确选项及其顺序应该是(  ) ①建立迭代关系式 ②确定迭代变量 ③对迭代过程进行控制 ④让迭代过程无休止地重复执行 A.①②③④ B.①②③ C.②①③ D.②③④ 9.小明编写一个模拟qq登录的VB程序。当输入用户名、密码和验证码,点击登录按钮后,会跳出信息框提示是否验证成功。部分程序与流程图如下所示: uname = Text1.Text          '输入用户名 psd = Text2.Text            '输入密码 vcode = Val(Text3.Text)     '输入验证码 If vcode <> Val(Label3.Caption) Then MsgBox “” 'Label3显示的是随机验证码 ElseIf uname <> "admin" Or psd <> "123456" Then MsgBox “ ” Else MsgBox “ ” 方框中正确的语句是( ) A.①中“验证成功” B.②中“输出用户名或密码有误” C.②中“验证成功” D.③中“输出验证码错误” 10.有一组数据为“2、3、5、5、7、7、8”,利用顺序查找和对分查找查找5时,则分别查找几次可以找到目标值( ) A.3无法使用对分查找 B.4无法使用对分查找 C.3 1 D.4 1 11.以下流程图的功能是:求1*3*5*7……*97*99的值,为完成该功能,空白处应填写的内容是( )。 A.i>49 B.i>=49 C.i>=99 D.i>99 12.有8阶楼梯,从第0阶开始往上走,每次可以走一步或者两步,自定义函数fg可以计算走完n阶楼梯有多少种走法,程序如下: Function fg(n As Integer)As Integer If n=1 fg=1 If n=2 fg=2 If n>=3 fg=fg(n-1)+fg(n-2) End Function 请问走完这8阶楼梯的走法有(    ) A.34种 B.35种 C.36种 D.37种 13.斐波那契数列,运用函数递归的方法可以实现,运用迭代的方式也可以实现,而且比函数递归要快许多。下列关于斐波那契数列的迭代表达式正确的是(   )。 A.f,f2,f2=f1+f2 B.fl=fl+f2,f2= C.fl,f2=f2,fl+f2 D.f=f1+f2,fl=f2,f2=f 14.有如下程序段:      def cal(n):         if n <= 1:           return 1         if n % 2 == 0:           return 2*cal(n-1)         return 1+cal(n-1) 执行语句k=cal(5),则k的值为(   ) A.6 B.7 C.10 D.11 15.某VB程序的一个事件过程如下: Private Sub Commandl_Click() Dim i As Integer,j As Integer.s As String Dim a(1 To 5) As Integer List1.Clear Randomize For i="1" To 10 j="Int(Rnd*6)+1" a(j)=a(j)+1 Next i For i="1" To 5 s=Str(a(i)) List1.AddItem s Next i End Sub 程序运行时,单击按钮Commandl后弹出如图所示的错误提示。出现错误的语句是(  ) A.j=Int(Rnd*6)+1 B.a(j)=a(j)+1 C.s=Str(a(i)) D.List1.AddItem s 二、填空题 16.下列程序的功能是:随机产生10个1—100之间的正整数,按从小到大排序并输出。为了实现这一目标,程序中划线处应填入的合适语句是: ①______________ _ ②__________ _____ Const n=10 Dim i As Integer,j As Integer,t As Integer Dim a(1 to 10) As Integer For i="1" to 10 _____①_______ Next  i For i="1" to n-1 For j="i+1" to n If ____②____ Then k=a(i):a(i)=a(j):a(j)=k End If Next j Next i For i="1" To n Print a(i) Next i 17.辗转相除法,又名欧几里德算法(Euclidean algorithm),是求两个正整数最大公约数的算法。它是已知最古老的算法之一,其可追溯至3000年前。用辗转相除法来得一个分数的约分后的最简形式的算法如下: 第一步:设两数为a、b,且令a>b; 第二步:a÷b,令r为所得余数,若r=0,算法结束,b 即为最大公约数;若r>0则a←b,b←r,并返回第二步; 第三步:即为约分后的最简形式。 编写VB程序,程序运行界面如第6题图1所示,请根据算法将下列程序补充完整。 Private Sub Command1_Click() Dim a As Integer, b As Integer, r As Integer 'a、b为分子和分母,r为最大公约数 a = Val(Text1.Text) b = Val(Text2.Text) If b =" 0" Then c = MsgBox("分母不能为0"): Exit Sub '如果分母为0,则提示“分母不能为0”并退出该过程 r = ① Text3.Text =" Str(a" / r) Text4.Text =" Str(b" / r) End Sub Function gys(ByVal m As Integer, ByVal n As Integer) As Integer 'gys函数用于求最大公约数 Dim s As Integer If m < n Then t =" m:" m =" n:" n = t End If Do While n <> 0 s =" m" Mod n m = n n = s Loop ② End Function 18.下面程序的功能是:计算表达式1+3+5+…+(2n-1)的值,程序运行时在文本框Text1中输入n的值,计算结果在文本框Text2中输出。则程序中加框处的语句应分别更正为: (1)__________________ (2)__________________ Private Sub Command1_Click() Dim sum As Long,i As Integer,n As Integer sum = 0 n =Val( Text1.Text) For i =" 1" To 2 * n - 1 Step 2 sum =" sum" + 2 Next i Text2.label=Str(sum) End Sub 19.迭代法也称 ,是用计算机解决问题的一种基本方法。迭代通常是为了接近并达到所需的目标或结果。每一次对过程的 称为一次“迭代”,而每一次迭代得到的 会被用来作为下一次迭代的 。 20.现要求编写VB程序,界面如第2题-1图所示。程序功能如下:在文本框Text1中输入身份证号码,单击“识别”按钮Command1,在标签Label3中输出对应的性别。 具体方法为: (1)若身份证号为15位,则根据第15位数字来判断,若为偶数则性别“女”,否则为“男”;(2)若身份证号为18位,则根据第17位数字来判断,若为偶数时则性别为“女”,否则为“男”。应用程序界面设计时,为添加“识别”按钮,应使用2图中“控件工具箱”中的 (填写相应编号),并修改3图“属性窗口”中,将 属性值设置为“识别” 请根据题意将下列程序补充完整 Dim x As String, n As Integer, s As String x = Text1.Text n = Len(x) If n =" 15" Then s = Mid( ① , Len(x), 1) If Val(s) Mod 2 =" 0" Then Text2.Text = "女" Else Text2.Text = "男" End If Else s="Mid(x," 17, 1) If ② Then Text2.Text = "男" Else Text2.Text = "女" End If End If 三、操作题 21.程序完善题。该程序要实现的功能是:计算下列分段函数的值。请将程序中方框部分的程序段补充完整。 Dim x As Single Dim y As Single x = Val(InputBox("请输入x的值:")) Print y 22.小华同学设计了一个VB程序,其功能是在text1中输入文本,点击“统计”按钮,自动统计字母a和字母b的出现次数,并显示在text2和text3中。程序设计界面如下图所示: (1)运行程序时发现窗体的标题显示为“form1”,将窗体标题显示为“字母统计”,应修改窗体form1的_____________属性。 (2)通过窗体的加载事件也可以修改窗体的标题属性,请补充下列代码 Private Sub Form_Load() ___________________= "字母统计" End Sub (3)根据题意,将下列程序补充完整。 Private Sub Command1_Click() Dim s As String,i As Integer,ta As Integer,tb As Integer Dim lens As Integer ‘变量lens表示字符串s的字符个数 s = Text1.Text lens =________________ For i =" 1" To lens If Mid(s,I,1)= "a"  Then ta =" ta" + 1 If Mid(s,i,1)= "b"  Then tb =" tb" + 1 Next i Text2.Text =" Str(" ta) Text3.Text = Str(tb) End sub 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.D 2.D 3.C 4.B 5.B 6.A 7.B 8.C 9.B 10.C 11.A 12.A 13.D 14.B 15.B 16.① a(i)="Int(100" * Rnd + 1)或a(i) =" Int(100" * Rnd() + 1) ② a(i)>a(j)或a(i)> = a(j)或a(j)<a(i)或a(j)<=a(i) 17.①gys(a, b)  ②gys = m 18.(1)sum =" sum" + i  (2)Text2.Text = Str(sum) 19. 辗转法 重复 结果 初始值 20.(1)3(1分) Caption(1分) (2)x(1分)   val(s) mod 2 =1(1分) 21.if x<10 then y=0 else if x<50 then y=2+1.5*x else y=2/3/x end if 22.(1)Caption (2)form1.caption (3)len(s) 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

2023-2024学年高一上学期选修一第三单元第二节 递推、迭代与问题解决
1
2023-2024学年高一上学期选修一第三单元第二节 递推、迭代与问题解决
2
2023-2024学年高一上学期选修一第三单元第二节 递推、迭代与问题解决
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。