试题

试题 试卷

logo

题型:综合题 题类:模拟题 难易度:普通

浙江省杭州市2016年信息技术高考模拟卷二

【加试题】求孪生素数。孪生素数是指两个相邻奇数且都是素数,由于它们是最近的素数,就像孪生兄弟一样。下列Visual Basic程序用于查找100以内的所有孪生素数,其中函数f用于判断一个数是否是素数,程序运行界面如图1所示,Command1鼠标单击事件过程的流程图如图2所示。

 图1
   图2

 程序代码如下:

Private Sub Command1_Click()

  Dim i As Integer

  List1.Clear            '清除列表框内容

  For i = 3 To 97 ______

    If f(i) And     ②     Then

      List1.AddItem Str(i) + " 和 " + Str(i + 2)

    End If

  Next i

End Sub

Private Function f(x As Integer) As Boolean  '自定义函数f,返回值为逻辑型

  Dim j As Integer

  f = True

  For j = 2 To Int(Sqr(x))

    If x Mod j = 0 Then

      f =     ③      '函数返回值

      Exit For           '跳出For循环

    End If

  Next j

End Function

(1)、程序中加框部分的算法是(选填:解析算法/枚举算法)
(2)、在程序①、②、③划线处,填入适当的语句或表达式,把程序补充完整:

程序中①划线处应填入

程序中②划线处应填入

程序中③划线处应填入

举一反三
平面上有N(3≤N≤100)个房间围成一圈,按顺时针方向分别编号为1…N,相邻的两个房间之间均有一扇门,第i个房间居住人数为a(i)。初始时选择一个房间,将所有人都聚集在该房间,接着每个人都按顺时针方向走到相邻的房间,直至走到居住的房间。一个人每经过一扇门花费1能量,请确定初始房间,使得所有人花费的能量和最小。例如:N=5,a(1)=4,a(2)=7, a(3)=8, a(4)=6, a(5)=4。

最佳方案:初始时所有人聚集在2号房间,花费的能量和:7*0+8*1+6*2+4*3+4*4=48。为了解决这个问题,小明编写了一个VB程序。在窗体加载时,从数据库中读取N的值和编号为1到N的房间的居住人数,人数存储在数组a中。点击窗体上的按钮Command1,程序枚举每一种方案(不同的初始房间),计算该方案的能量和,在文本框Text1中输出最优方案的初始房间编号,在文本框Text2中输出最小能量和。

实现上述功能的VB代码如下,请在划线处填入合适代码。

Dim a(1 To 100) As Integer ’依次存储编号为1到100的房间的居住人数

Private Sub Form_Load()

‘本过程从数据库中读取N的值和每个房间居住人数,存储在数组a中

‘代码略

End Sub

Private Sub Command1_Click()

Dim i As Integer, j As Integer, w As Integer, k as Integer

Dim t As Long, ans As Long

k=0 : ans = 32767     ‘ans初始化为最大的Integer数据

For i = 1 To n

 t = 0

 For j = 0 To n - 1

    w={#blank#}1{#/blank#}

    If w = 0 Then w = n

    t={#blank#}2{#/blank#}

 Next j

 If t < ans Then

    k= i

    ans = t

 End If

Next i

Text1.Text = Str (k)    ‘起始房间编号

Text2.Text ={#blank#}3{#/blank#}

End Sub

返回首页

试题篮