2023-2024学年浙教版高一下学期第五章第二节 解析算法的程序实现

2024-07-11
| 13页
| 95人阅读
| 0人下载

资源信息

学段 高中
学科 信息技术
教材版本 -
年级 高一
章节 第二节 解析算法的程序实现
类型 作业-同步练
知识点 -
使用场景 同步教学-新授课
学年 2024-2025
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 139 KB
发布时间 2024-07-11
更新时间 2024-07-11
作者 匿名
品牌系列 -
审核时间 2024-07-11
下载链接 https://m.zxxk.com/soft/46275236.html
价格 1.00储值(1储值=1元)
来源 学科网

内容正文:

2023-2024学年浙教版高一下学期第五章第二节 解析算法的程序实现 一、选择题 1.已知海伦公式:s=√p(p-a)(p-b)(p-c),p=(a+b+c)/2,a、b、c分别为三角形的边长,利用海伦公式求三角形面积的算法属于(     ) A.解析法 B.查找法 C.排序法 D.穷举法 2.运行下列VB程序,在文本框Text1中输入十进制数22,单击按钮后,在标签Label1输出转换后的五进制数。 Private sub Command1_Click() Dim y As Integer Dim s As String,Dim r As Integer y= Val(Text1. Text) s="  " Do While y < > 0 Loop Labell. Caption =s End sub 方框中的代码由以下三部分组成: ①s=Str(r)+s  ②r=y Mod 5  ③y=y\5 代码顺序正确的选项是(    )。 A.①②③ B.③②① C.②①③ D.③①② 3.下列数学问题最适合用分支结构解决的是(   ) A.已知圆的半径R=5,求圆的面积S B.求连续整数1到100的和 C.求点P(-1,3) 到直线L:3x-2y+1=0的距离 D.解不等式ax+b>0(a≠0) 4.有如下 VB 程序段: s = Text1.Text n = Len(s) For i = 1 To n c = Mid(s, i, 1) If c >= "a" And c <= "z" Then t = Asc(c) - 32 Else t = Asc(c)     s1 = s1 + Chr(65 + (t - 63) Mod 26)   Next i 在文本框 Text1中输入“abXY”,s1的值最终是(    ) A.CDZA B.cdZA C.ZACD D.ZAcd 5.有如下VB程序: s=Text1.Text s1=" " For i=1 To Len(s)     c=Mid(s, i, 1) If  c>="A" And c<="Z"   Then c=Chr(Asc(c)+32)                 '大写字母转化为小写字母 End if s1=s1+c Next i Text2.Text=s1 在文本框Textl中输入"ABcd12XY ",执行上述程序段后,文本框Textl显示的内容是(   ) A.abcd12XY B.abcd12xy C.ABCD12XY D.ABcd12xy 6.表达式Len(“doodluck”)+2 Mod 3+Int(3.9999)的值为(  ) A.12 B.13 C.14 D.表达式运算出错 7.某VB程序的一个事件处理过程如下: Private  Sub  Commandl_Click(    ) Dim  a(3)As  Integer a(1)=400:a(2)=10:a(3)=30 a(0)=a(2)^2-4*a(1)*a(3) Text1.Text  =  Str(Sqr(a(0))) End  Sub 程序运行时,单击命令按钮Command1后出现的错误提示为(    ) A.下标越界 B.溢出 C.无效的过程调用或参数 D.要求对象 8.有下列 VB 程序段: Dim strA As String, strB As String strA = "hongda":strB = "" For i = 1 To Len(strA) * 2 If i / 2 = Int(i / 2) Then strB = strB + Chr(Asc(Mid(strA, (i - 1) Mod Len(strA) + 1, 1)) + 2) End If Next i 该程序段运行后,变量 strB 的值是(  ) A."jpfqic " B."qicqic" C."phbqic" D."qicoga" 9.将一个随机排列的数组 a(a(1)~a(n),n≥4)中的奇数下标元素升序排列,偶数下标元素降序排列,小玉编写的部分VB程序段如下: For i = 1 To n - 2 For j =   ①   To n Step 2 If j Mod 2 =   ②   Then If a(j) < a(i) Then t = a(i): a(i) = a(j): a(j) = t Else If a(j) > a(i) Then t = a(i): a(i) = a(j): a(j) = t End If Next j Next i 上述程序段两个方框处的语句分别为(    ) A.① i + 1 ② 0 B.① i + 2  ② 0 C.① i + 1  ② 1 D.① i + 2 ② 1 10.“不重复数”的特征是任何相邻两个数位上的数字都不相同。如1101是重复数,1201是不重复数。判断某数是不是重复数的VB程序段如下: s = Text1.Text   (1)    i = 1: flag = True Do While i <= n - 1 And flag   If     (2)      Then flag = False   i = i + 1 Loop If     (3)      Then   Label1.Caption = "重复数" Else   Label1.Caption = "不重复数" End If 上述程序中方框处可选语句为: ①flag=False ②n=Len(s) ③Mid(s,i,1)=Mid(s,i+1,1) 则(1)、(2)、(3)处语句依次是(    ) A.②、③、① B.①、③、② C.②、①、③ D.③、②、① 11.下图所示的流程图中 C 的值为(  ) A.2 B.3 C.5 D.6 12.执行下面的程序段后,x的值为(   ) x=5 For i=1 To 20 Step 2 x=x+i\5 Next i A.21 B.22 C.23 D.24 13.【加试题】有如下VB 程序: Private Sub Command1_Click() Dim i As Integer, j As Integer, k As String, n As Integer, s As String s = "abcdefghijklmn" n = 4 List1.Clear  For i = 1 To n   k = Mid(s, i + 1, i)    For j = 1 To Len(k)     k = k + Mid(s, j, 1)    Next j   List1.AddItem k  Next i End Sub 该程序运行后,在列表框List1中显示的是(   ) A. B. C. D. 14.有如下 VB 程序段: str1 = Text1.Text :len1 = Len(str1) i = 0 Do While i <= len1 m = 0 :    c = Mid(str1, i, 1) Do While c <> "," m = m * 10 + Val(c) i = i + 1 c = Mid(str1, i, 1) Loop i = i + 1 If m Mod 3 = 0 Then n = n + 1 Loop Label1.Caption = Str(n) 在文本框 Text1 中输入“123,35,43,23,56,78,132, ”,单击命令按钮 Command1 运行程序, 则在 Label1 中显示的结果为(    ) A.2 B.3 C.4 D.5 15.编写一个二进制列表程序;功能如下;在文本框Textl中输入位数n,单击“显示”按钮Command1,在列表框Listl中顺序显示n位二进制编码。程序界面及代码如下。 Private Sub Commandl_Click Dim tmp As String Dim n As Integer, t As Integer Dim i As Integer, j As Integer, k As Integer n=Val(Textl. Text) For i=0 To (1) _ tmp="" k=i . For j=1 To n t=k Mod 2 (2) (3) Next j Listl. AddItem tmp Next i End Sub 可选的代码如下: ①2^n―1      ②2^n       ③k=k\2       ④t=t\2 ⑤tmp=Str(t)+tmp          ⑥tmp=tmp+Str(t) 则程序(1),(2),(3)处的代码依次为(    ) A.①⑤③ B.②④⑥ C.②⑤④ D.①⑥③ 二、填空题 16.【加试题】小丫觉得回文字符串太优美了(回文字符串是指顺读和倒读都一样的字符串,如“123321”),为此编写了VB 程序。程序运行时,单击按钮Command1 后,根据文本框Text1 中输入的内容判断并输出是不是回文串。实现上述功能的VB 代码如下。 Private Sub Command1_Click()  Dim s As String, f As Boolean, L As Integer  s = Text1.Text  j = Len(s)  i = 1  Do while ①    i = i+1   j = j-1  Loop  If ② Then Print " 是回文串" Else Print " 不是回文串" End Sub 在画线处填入合适代码,使程序能正常运行。 ① ② 17.下列VB程序运行时,在文本框Text1中输入2,单击命令按钮Command1后,文本框Text2的内容是 。 Private Sub Command1_Click()    Dim t As Single, h1 As Single, h2 As Single    Const g = 9.8    t = Val(Text1.Text)    h1 = (g * t ^ 2) / 2    h2 = Int(h1)    Text2.Text = Str(h2) End Sub 18.补全程序。 已知包含25项的数列:1,2/3,3/5,……,24/47,25/49 问题1:写出该数列的通项公式f(n)= 问题2:以下是计算s=1+2/3+3/5+……+24/47+25/49的程序,请补全代码。 Dim i As Integer Dim s As Single s = 0 For i = 1 To 25 s = s + Next i Print s 19.编写VB程序,实现如下功能:单击“计算”按钮,在列表框List1中产生10个[1,99]随机数,文本框Text1显示相邻两个数字之间相差最大的差值。运行界面如图所示。 (1)窗体上,“计算”按钮的对象名是 。 (2)实现上述功能的VB程序如下,请在划线处填入合适的代码。      Private sub cmd1_click( )      Dim b(1 to 10) as integer      Dim I as integer,max as integer ,a as integer, c as integer      Max=0      For i=1 to 10         Randomize         A=int(rnd*99)+1                  List1.additem  str(a)      Next i    For  i=2 to 10       C=       If c>max then Next I End sub 20.下面是一段Visual Basic程序: Private Sub Command1_Click() Dim sum As Double,i As Integer sum = 0 For i =" 1" To 5 sum = 2 sum = sum+i Next i Text1.Text = Str(sum) End Sub 该程序运行后,语句sum=sum+i共执行了____ ____次,sum的值为 ,i的值为 。 三、操作题 21.某8位日期加密授权码生成方法描述如下: ①授权码由9位字符组成,前8位为日期的密文,最后1位为验证码。 ②日期的最后1位数字k(若k的值为0,令k = 10),加密成26个大写英语字母表中该位置对应的字母。 ③将26个大写英文字母向左移k(日期的最后1位数字)个位置,并将移出的k个字母依次连接到最后。例如当k = 3时,形成如图所示新的字母排列顺序。 位置 1 2 3 4 …… 23 24 25 26 字母 D E F G …… Z A B C ④日期的第1个数字至第7个数字的加密方法:计算第i个位置上的数字与第i + 1个位置的数字及位置i三者相加的和,在新的字母表中取出该数字和对应的字母,作为第i个位置上数字加密字符。 ⑤计算日期的各个位置上数字之和sum,若和sum的值大于26,则在新的英文字母表中,sum Mod 26对应字母转换成小写字母,作为验证码,否则验证码为新的英文字母表中对应字母。 (1)根据上述加密算法,若输入日期为“20000101”,则生成的注册码为 。 (2)小张根据上述的加密算法,设计了一个对应的解密程序,其VB代码如下,请在划线处填入合适的代码。 Private Sub Command1_Click() Dim i As Integer,j As Integer,s As String,k As Integer Dim mw As String,sum As Integer,t As Integer,t1 As Integer str1 = “0123456789” s = Text1.Text t = k:sum = t s1 = Mid(str1,t + 1,1) For i = 7 To 1 Step-1 t1 = Asc(Mid(s,i,1))-64 j = t = j-t-i s1 = Mid(strl,t + 1,1) + s1 sum = sum + t Next i mw = jm(k) If sum > 26 Then sum = sumMod26 ch = Chr(AsC(Mid(mw,sum,1)) + 32) Else ch = Mid(mw,sum,1) End If If ch = Mid(s,9,1) Then   Text2.Text = s1 Else Text2.Text = “该系列号未能通过验证!” End Sub, Function jm (tAsInteger) As String Dim i As Integer,p As Integer If t = 0 Then t = 10 For i = 1 To 26 p = (t + i-1) Mod26 Next i End Function 22.获取字符串中指定范围内的元素,可以通过字符编号来实现,字符编号有正向编号和反向编号。如字符串"ABCDEF",字符A的正向编号为1、反向编号为-6,如下表: "2:4"表示获取正编号"2"到"4”的字符串,即"BCD",-5:-3、2:-3、-5:4这三种编号范围也表示的是字符串"BCD"。 小王根据上述算法设计如下程序,在文本框Textl输入字符串,在文本框Text2和Text3中输入字符编号,单击"获取"按钮,在标签Labell中显示指定范围的字符串。当Text2中的编号位置在Text3中的编号位置之前,则输出正向字符串,反之输出逆向字符串。程序运行界面如图所示。 (1)用户单击命令按钮Command1时调用的事件处理过程为 。(单选,填字母:A.Command1/ B.Caption/C.Click/D.Commandl_Click)。 (2)实现上述功能的VB程序如下,请在划线处填入合适的代码。 Private Sub Command1_Click() Dim s As String, ans As String Dim a As Integer,b As Integer, n As Integer s=Textl.Text:n= Len(s): ans="" a=Val(Text2.Text): b = Val(Text3.Text) If Abs(a)>n Or Abs(b)>n Or a *b=0 Then ans="输入范围有误" Else If a<0 Then a=a+n+ 1 If b<0 Then b=         ① If a<=b Then ans=        ② Else Fori=a To b Step-1 ans=ans+Mid(s,i,1) Next i End If End If Label1.Caption=ans End Sub (3)若文本框Textl中输入的内容为"123456789",文本框Text2和Text3中输入的内容分别为-3和5,单击"获取”按钮,标签框Labell中显示的内容是 。 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.A 2.C 3.D 4.A 5.B 6.B 7.B 8.B 9.D 10.A 11.C 12.A 13.B 14.B 15.A 16. mid(s,i,1)=mid(s,j,1) i>=j 17.19 18. n/(2n-1) i/(2*i-1) 19. Cmd1 b(i)=a abs(b(i﹣1)﹣b(i)) max=c text2.text=str(max) 20.5、7、6 21. DCDEGHIAE Dk = Asc(Mid(s,8,1))-64Ek = Asc(Mid(s,8,1))-Asc("A") + 1 (t1-k + 26) Mod 26 jm = jm + Chr(65 + p) 22. D b+1+n Mid(s,a,b-a+1) 765 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

2023-2024学年浙教版高一下学期第五章第二节 解析算法的程序实现
1
2023-2024学年浙教版高一下学期第五章第二节 解析算法的程序实现
2
2023-2024学年浙教版高一下学期第五章第二节 解析算法的程序实现
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。