题型:综合题 题类:真题 难易度:困难
浙江省2018年4月普通高校招生选考信息技术考试试卷
●变化段:数组中相邻两个元素构成一个变化段。变化段有上升段(a(i)>a(i-1))、下降段(a(i)<a(i-1))和持平段(a(i)=a(i-1))。数组a中的n个元素可构成n-1个依次排列的变化段。
●波峰:从上升段转到下降段形成一个波峰。波峰的起点是峰顶前所有连续上升段中的第1个,终点是峰顶后所有连续下降段中的最后1个。
●对称波峰:上升段与下降段个数相同的波峰称为对称波峰。
下图为一组数据的变化段及波峰示意图。
现要求统计数组a各元素依次变化过程中“对称波峰”的个数。小李依据上述描述设计了如下VB程序。请回答下列问题:
Const n=20
Dim a(1 To n)As Integer
Private Sub FormLoad()
‘读取数据,并存储到数组a中。代码略
End Sub
Private Sub Command1_Click()
Dim flag As Integer ‘存储变化段的状态:1表示升;-1表示降;0表示平
Dim count As Integer ‘存储对称波峰的个数
Dim steps As Integer
Dim i As Integer
flag=0:steps=0:count=0
For i= ① To n
If a(i)>a(i-1)Then
If IsSymPeak(flag,steps)Then count count+1
If flag=0 Or flag=-1 Then
②
Else
steps=steps+1
End If
flag=1
EIself a(i)=a(i-1)Then
If IsSymPeak(flag,steps)Then count=count+1
steps=0
flag=0
Else
steps=steps-1
flag=-1
End If
Next i
If IsSymPeak(flag,steps)Then count=count+1
Text1.Text=Str(count)
End Sub
Function IsSymPeak(flag As Integer,steps As Integer)As Boolean
If ③ Then
IsSymPeak=True
Else
IsSymPeak=False
End If
End Function
① ② ③
试题篮