内容正文:
第四单元 常用算法及程序实现
信息技术
内容与要求
考试内容 考试要求
1.枚举算法的基本思想 c
2.枚举算法的程序实现 c
3.解析算法的基本思想 c
4.解析算法的程序实现 c
信息技术
考点与典例
考点1
枚举算法的基本思想
根据问题本身的性质,一一列举出该问题所有可能的情况,并对可能情况进行逐一分析、判断是否满足条件,若满足,则它是问题的一个正确解,从而挑选出符合条件的所有解。
枚举算法三要素:枚举范围、枚举对象、判断条件。
信息技术
重难点剖析
①枚举范围要精确。既不能遗漏任何一个真正解,也不能有重复。
②枚举对象的选择要准确。
③条件表达式的书写要规范。
信息技术
典例一
下列问题中适合采用枚举算法解决的是( )
A.输入一个大于1的整数,判断其是否为质数
B.输入三角形的三边长度,求三角形的面积
C.将一个十进制数转换为十六进制数
D.随机产生100个[1,1000]区间内的整数,求最大数并输出
解析:本题主要考查枚举算法的基本思想。显然,只有D选项符合枚举算法的基本思想,因此答案为D。
答案:D
信息技术
考点2
枚举算法的程序实现
1.枚举范围用循环结构实现(一般采用For语句)。
2.条件判断用分支(选择)结构实现(一般采用If语句)。
信息技术
典例二
完全数又称完美数,是指其所有的真因子(即除了自身以外的约
数)之和,恰好等于它本身。例如:6的真因子为1,2,3,相加等于其本身(1+2+
3=6),所以6是一个完全数。现编写VB程序,求完全数。其功能如下:输入一个正整数n,点击“查找”按钮,在列表框List1中输出小于n的所有完全数。界面如图2-4-1所示:
(1)在界面设计时,使用“控件工具箱”中(如图2-4-2所示) (填写编号)添加“List1”列表框。
信息技术
解析:第(1)题考查对象的添加。如题图2-4-2所示,①为标签 ②为文本框 ③为组合列表框 ④为列表框,故第(1)题选④。
答案:(1)④
信息技术
(2)该程序的代码如下:
Private Sub Command1_Click()
Dim n As Integer,s As Integer,j As Integer,i As Integer
n=Val(Text1.Text) '求n以内的完全数
For i=1 To n
s=0
For j=1 To i-1
If ① Then
s=s+j
End If
信息技术
Next j
If s=i Then
List1.AddItem Text1.Text+"以内的完全数有:"+ ②
End If
Next i
End Sub
完善程序,①线处代码为 。
②线处代码为 。
信息技术
解析:第(2)题考查对程序结构的理解及表达式的书写。本程序为双循环结构,其中外层循环由变量i控制需要判断是否是完全数的范围,范围为1~n之间的数,内层循环由变量j控制遍历每个数i的所有因子,枚举范围为1~i-1之间的数,故①处需判断变量j是否为变量i的因子,条件表达式为i mod j=0;由代码If s=i Then可知此处对完全数进行输出处理,“+”为字符连接运算,为保证数据类型一致,需用函数str( )将变量i转换为字符型。
答案:(2)①i mod j=0 ②str(i)
信息技术
(3)如果输入50,程序执行后,28将 (选填:会/不会)在列表框List1中显示。
解析:第(3)题考查对算法思想的理解,28除自身以外的因子有1,2,4,7,
14,五个因子之和恰好等于28,故28是完全数,会输出。
答案:(3)会
信息技术
考点3
解析算法的基本思想
解析算法的基本思想是指用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过表达式的计算来实现问题的求解。
信息技术
典例三
如图2-4-3所示,流程图所表示的算法属于( )
A.解析算法 B.枚举算法 C.排序算法 D.对分算法
信息技术
答案:A
解析:由流程图可以看出,该算法主要进行了公式的计算,符合解析算法的主要特征,故选项A正确。
信息技术
考点4
解析算法的程序实现
1.运用解析算法分析问题,寻找问题的各要素间的联系,并用数学表达式表示它们的关系。
2.写出解决问题的解析步骤,并通过编写和运行程序求得问题的解。
信息技术
典例四
八进制采用了0~7八个数字,逢八进一。每个数字在不同的数位上对应不同的权值,如(123)8=1×82+2×81+3×80=(83)。小明编写了一个将
8位以内八进制正整数转换为十进制数的VB程序,实现如下功能:在文本框Text1中输入八进制数单击“转换”按钮C