370 likes | 558 Views
会考复习. 温州中学 舒春平. 理解方案,把握全局. 会考时间:六月十八号. 考试内容:二 个模块 考试题型:增加了填空题(算法与程序设) VB 增加了完善、调试程序题型. 选修 I 算法与程序设计. 计算机解决问题的一般过程 程序的组成 指令部分和数据部分 数据的存储 存储于变量 ( 常量及数组 ) 中 典型的指令类型 (输入、输出、算术运算、逻辑运算、控制转移) 算法的特征 ( 有穷性、确定性、可执行性、有 0 个或多个输入、有一个或多个输出 ) 算法的表示方法 自然语言、流程图.
E N D
会考复习 温州中学 舒春平
理解方案,把握全局 • 会考时间:六月十八号 • 考试内容:二个模块 • 考试题型:增加了填空题(算法与程序设) • VB增加了完善、调试程序题型
计算机解决问题的一般过程 • 程序的组成 指令部分和数据部分 • 数据的存储 存储于变量(常量及数组)中 • 典型的指令类型 (输入、输出、算术运算、逻辑运算、控制转移) • 算法的特征 (有穷性、确定性、可执行性、有0个或多个输入、有一个或多个输出) • 算法的表示方法 自然语言、流程图
创建一个VB程序的基本步骤是( ) A、创建界面、设置属性、编写代码 B、设置属性、编写代码、创建界面 C、编写代码、创建界面、设置属性 D、编写代码、设置属性、创建界面 下面关于算法的描述,正确的是( ) A、算法不可以使用自然语言表示 B、算法只能用框图来表示 C、一个算法必须保证它的执行步骤是有限的 D、算法的框图表示有一个0个或多个输入,但只能有一个输出。 下面是一段关于计算变量S的算法( ) 1、变量S的初值是0 2、变量i从1起循环到n,此时变量S的值由下面的表达式计算 3、s=s+(-1)*I 4、输出变量S的值 这个计算S值的算法中,S的代数式表示是( ) A、1-2+3-4+…+(-1)n*(n-1) B、1-2+3-4+…+(-1)n-1*n C、1+2+3+4+…+(n-1)+n D、-1-2-3-4-…-n
三种基本模式 • Visual Basic 程序段如下: • a=3 • b=5 • a=a+b • b=a+b • 其基本控制结构属于( ) A、顺序结构 B、分支结构 C、循环结构 D、网络结构 • 有如下Visual Basic 程序段: For k=1 to 100 S=s+k Next 其基本控制结构属于( ) A、顺序结构 B、分支结构 C、循环结构 D、网络结构
A 20:B 30 C A:A B:B C • 流程图如下: 上述流程图执行后,A、B的值分别为( ) A、A是20,B是30 B、A是20,B是20 C、A是30,B是30 D、A是30,B是20
下列是一段Visual Basic 程序: • Sub ex1( ) • a=3 • b=5 • c=a • a=b • b=c • MsgBox (str$(a)) • End Sub • 该程序运行结果是 • (A)0 (B)3 (C)5 (D)8
对象是客观存在的事物或概念。它有两个特点:状态和行为对象是客观存在的事物或概念。它有两个特点:状态和行为 • 属性 property • 类class • 事件event 指发生在对象上的事情。 • 事件驱动
下列各组控件都具有Caption属性的是 A、窗体、文本框 B、标签、定时器 C、窗体、标签 D、文本框、定时器 • 下面程序(界面如图所示)的功能是:计算s= 1 - 1/2 + 1/3 +... + 1/99 - 1/100 的值。在图1中单击“计算结果:”按扭,结果就会显示在右侧的文本框(Text1)中,如图2。为了实现这一目标,程序中划线处的语句应为( )。 • 图1 图2 • Private Sub Command1_Click() • Dim s As Single • Dim i As Integer • Dim t As Integer • s = 0: t = 1 • For i = 1 To 100 • s = s + t * 1 / i • ( ) • Next i • Text1.Text = "s = 0" + Str(s) • End Sub
控件工具箱中的 工具是( ) (A)文件列表(B)单选按钮 (C)图片框(D)标签 • 属于VB6控件工具箱中的列表框控件的是( ) • (A) (B)(C)(D)
基本数据类型 • Integer Long Single Double String Boolean • 常量和变量 • 在程序的执行过程中其值不变的存储单元或数据。 • 变量是数据的一个存储区,在程序运行过程中,这些存储区中的值是可以改变的。 • 数组 • 由一批同类型的变量构成的一个序列,组成数组的每一个变量被称为数组的元素,也称为下标变量。
下列可作为Visual Basic 变量名的是 ( ) (A)4*D(B)A_B(C)4ABC(D) A+B • 用语句Dim A(-3 To 5) As Integer 所定义的数组的元素个数是 ( ) (A)6(B)7(C)8(D)9 • 假定X是一个数值型变量,那么由函数组成的表达式 X mod 2=0的作用是 ( ) (A)用于测试X是否为偶数(B)返回一个整数 (C)返回一个奇数(D)用于测试X是否为整数 • 以下语句中错误的是 ( ) (A)Const var1=123(B)Dim var2 as String (C)x+y = 9(D)Dim d(1 to 500) As Double 下列数据类型中,占用内存最小的是 ( ) (A)Boolean(B)Byte(C)Integer(D)List1.Text • 下列数据的类型属于Integer整数型的是 ( ) (A)10.00(B)9876(C)54321(D)False
常用函数 • Abs Int Sqr Exp Log Cos Tan Sin asc Chr val str len Mid fix • 表达式Abs(-3.6)*sqr(100)的值是( ) (A)-360(B)360(C)-36(D)36 • 有如下程序段: Dim a as string Dim b as string Dim c as string a = "456" b = "123" c = val(a+b) 该程序段运行后,c的值为( ) (A)579(B)123(C)456123(D)123456
在窗体上画一个命令按钮,名称为command1,单击命令按钮,执行如下事件过程:在窗体上画一个命令按钮,名称为command1,单击命令按钮,执行如下事件过程: Private Sub Command1_Click() Dim a As String Dim c As String a = "software and hardware" c = Mid(a, 1, 8) Text1.text = c End Sub 则在文本框Text1中显示的信息是( ) (A)software and hadrware(B)software(C)hadrware(D)1 • 设一个三位整数是n,它的个位数字是c,十位数字b,百位数字是a,则b的表达式是 ( ) (A)n-a-c (B)n-a*100-c (C)int(n/10)-int(n/100)*10 (D)n-int(n/100)-int(n/10)
VB的基本运算包括算术运算、关系运算和逻辑运。VB的基本运算包括算术运算、关系运算和逻辑运。 • 优先级 ^ > - > * 、 / > \ > mod > + 、- • 表达式 一个表达式中可能包括多种基本运算以及这些基本运算所涉及的数据(变量和常量)。
下列运算结果中,值最大的是 ( ) (A)3\4 (B)3/4 (C)4 mod 3(D)3 mod 4 • 设a=2,b=3,c=4,d=5,表达式 a>b AND c<=d OR 2*a>c 的值是( ) (A)True(B)False (C)-1(D) 1 • 设x=4,y=6,则在Text1控件上能显示A= 10的语句是 ( ) (A)Text1 = "A=x+y"(B)Text1.text = "A="+Str(x+y) (C)Text = "A="+Str(x+y)(D)Text1.text = "A="+Val(x+y) • 能完全正确表示“year是闰年”的逻辑表达式是 ( ) (A)year mod 4 = 0 (B)year mod 400 = 0 (C)(year mod 400 = 0) or (year mod 4 = 0) and (year mod 100 <> 0) (D)(year mod 400 = 0) and (year mod 4 = 0) or (year mod 100 <> 0)
赋值语句 变量名=表达式 变量名.属性名=表达式 R=val(Text1.text) text2.text=str(2*3.14*r) • 注释 在编写程序时,用简明的文句进行说明。
将文本框Text2内输入的数据送到字符型变量n 中,则应使用的语句是( ) (A)n = text (B)n = text2.text (C)n = val(text2)(D)n = val(text2.text) • 有如下程序段: x=5 y=6 p=Not(x+y=11) 该程序段运行后,P的值是。
选择语句(IF和块IF) • 有如下Visual Basic 程序段: y=3 x=y*y if x>10 then y=y*10 end if 该程序运行后,变量y的值是( ) A、3 B、9C、10D、30 • 有如下Visual Basic 程序段: subtest( ) x=5 if x>10 then y=2*x else y=x*x+1 end if msgbox(y) end sub 运行结果( ) A、1B、10C、25D、26
下面是一段Visual Basic 程序: • Sub ex1( ) • a=5 • If a>5 Then • b=2*a • Else • b=a*a+1 • End If • MsgBox (Str$(b)) • End Sub • 该程序运行结果是 • (A)1 (B)10 (C)25 (D)26
循环语句(FOR和DO) • 在一VB程序段 S=0 For i=1 to 10 S=S+2 Next 执行该程序后,变量S的值为( ) A、2B、10C、20 D、55 • 下列是一段Visual Basic程序( ) y=1 For i=1 To 7 Step 3 y=y*i Next i Msgbox (Str$(y)) 该程序运行结果是 ( ) A、1 B、4 C、7 D、28
计算10!(1×2×3×…×10),则程序中错误之处共有( )处。 Private Sub Command1_Click() Dim t As integer t = 0 For i= 1 To 10 t = t * i Next i Text1.Text = Str(t) End Sub • 有如下Visual Basic 程序段: sub porl( ) t=1 for j=1 to 10 step 3 t=t*j next j msgbox(t) end sub 运行结果是( ) A、4B、7C、28 D、280
下面是一段Visual Basic程序: s=1 For i=1 To 1000 s=s+i Next i 则该程序段中,循环步长是 ( ) A、0 B、1 C、1000 D、步长不确定 • 有如下Visual Basic 程序段如下: j=0 For i=1 To 10 Step 3 j=j+i Next i 该程序段运行完后,一共循环了几次( ) A、1 B、4 C、3 D、10
下列Visual Basic程序: Private Sub Command1_Click( ) Dim sum,i as integer sum = 0 For i = 1 To 100 step 2 sum = sum+i*i Next i Text1.text=str(sum) End Sub 该程序能完成计算的数学表达式是 ( ) • 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早晨又将剩下的桃子吃了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上再想吃时,见只剩一个桃子了。问:第一天猴子共摘了多少只桃子。 • 完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设计。 • sub command1_click() • dim i = as integer,s as integer • ( ) • for i=1 to 9 • ( ) • next i • text1.text=str(s) • end sub
过程和函数 • 程序模块分为过程和函数两种,过程强调的是动作,函数强调的是计算。 • 事件处理过程
有一推理题:警官在老王被害现场发现A、B、C、D四名犯罪嫌疑人,讯问中A说“我没有杀人”,B说“C是凶手”,C说“杀人者肯定是D”,D说“C在冤枉好人”。现已知:四人中有三人说的是真话,一人说的是假话,四名犯罪嫌疑人中有且只有一人是凶手。有一推理题:警官在老王被害现场发现A、B、C、D四名犯罪嫌疑人,讯问中A说“我没有杀人”,B说“C是凶手”,C说“杀人者肯定是D”,D说“C在冤枉好人”。现已知:四人中有三人说的是真话,一人说的是假话,四名犯罪嫌疑人中有且只有一人是凶手。 • (1)你的结论是:凶手是。 • (2)阅读下面程序并输入到VB中,程序运行结果是。 • 其中A、B、C、D四个变量,其值为-1时表示凶手,否则值为0。 • Private Sub Command1_Click() • Dim a As Integer • Dim b As Integer • Dim c As Integer • Dim d As Integer • Dim m As Integer • For a = -1 To 0 • For b = -1 To 0 • For c = -1 To 0 • For d = -1 To 0 • If a + b + c + d <> -1 Then GoTo 200 • m = 0 • If a <> -1 Then m = m - 1 • If c = -1 Then m = m - 1 • If d = -1 Then m = m - 1 • If d <> -1 Then m = m - 1 • If m = -3 Then text1.text=f1(a,b,c,d) • end if • Nextd • Next c • Next b • Next a • End sub • Function f1(a,b,c,d) as string • If a = -1 Then f1= "A is KILLER. " • If b = -1 Then f1 = "B is KILLER. " • If c = -1 Then f1= "C is KILLER. " • If d = -1 Then f1= "D is KILLER. " • End function
枚举算法 • 根据问题的本身性质,一一列举出该问题的所有可能的情况并根据题目的条件一个个作出判断,从中找出符合条件的解答。 • 枚举算法属于搜索策略,适用于那些解变量确定的连续值域的问题。设置枚举算法要列举出所有可能的情况,不能遗漏,也不能重复 。
如果一个三位数等于它的每个数字的立方和,则此数称为“水仙花”数。如:如果一个三位数等于它的每个数字的立方和,则此数称为“水仙花”数。如: • 153=13+53+33 • 故153是水仙花数。下面程序用于求出100~999之间的全部水仙花数,则程序中划线处应填入的二条语句是 • ( ) • ( ) • sub command1_click() • for m=100 to 999 • a=int(m/100) • b=int((m-100*a)/10) • c=m-100*a-10*b • n= ( ) • if then list1.additem str(m) • next m • end sub
解析算法 • 解析算法的基本思想是用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过数学表达式的计算来实现问题的求解。
火车托运行李,要根据行李的重量按下列标准收费:火车托运行李,要根据行李的重量按下列标准收费: • 若不超过50千克,按每千克0.35元收费,若超过50千克,超过部分则按每千克0.5元收费。输入托运行李的重量,计算并输出托运行李的费用。 下面程序若用于实现上述目标,则划线处的语句应更改为( )、( ) sub command1_click() dim x as double x=val(text1.text) ifx>50 then text2.text=str(0.35*x) else text2.text=str(0.5*x) end if end sub
选择排序 • 选择排序的基本思想是在所有的记录中选出最小(大)的数据,把它与第一个数据交换,然后在其余的记录中再选出最小(大)的数据与第二个数据交换,依此类推,直至所有数据排序完成。
冒泡排序 • 冒泡排序的基本思想是在待排序的数据中,先找到最小(大)的数据将它放到最前面,再从第二个数据开始,找到第二小(大)的数据将它放到第二个位置,以此类推,直到只剩下最后一个数据为止。
有如下Visual Basic程序: • Dim a(1 To 6) As Integer • Dim n, i, j, k As Integer • Private Sub Command1_Click() • For I = 1 To n - 1 • For j = I + 1 To n • If a(I) < a(j) Then • k = a(I): a(I) = a(j): a(j) = k • End If • Next j • Next I • For I = 1 To n • List2.AddItem Str(a(I)) • Next I • End Sub • Private Sub Text1_KeyPress(KeyAscii As Integer) • If KeyAscii = 13 Then • n = n + 1 • a(n) = Val(Text1.Text) • List1.AddItem Str(a(n)) • Text1.Text = "": Text1.SetFocus • End If • End Sub • 在列表框list1中,依次输入数据:2 -7 9 8 -3 12 • 该程序运行后,在列表框list2中显示 • (A)2 -7 9 8 -3 12(B)12 9 8 2 -3 -7(C)-7 -3 2 8 9 12(D)-7 -3 12 9 8 2
顺序查找 • 顺序查找的基本思想是从第一个数据开始,按数据的顺序逐个将数据与给定的值进行比较,若某个数据和给定值相等,则查找成功,找到所查数据的位置;反之,查找不成功。
对分查找 • 对分查找的基本思想是在有序的数据列中,首先将要查找的数据与有序数组内处于中间位置的数据进行比较,如果两者相等,则查找成功;否则根据数组元素的有序性,就可确定该数据应该在数组的前半部分还是后半部分继续进行查找;在新确定的范围内,继续按上述方法进行查找,直到找到要查找的数据,使查找成功,或直到子表不存在,查找不成功。 • 对分查找的条件是被查找的数据必须是有序的。