题目

为分析数组a中各元素依次变化的情况,进行如下定义: 1)变化段:数组中相邻两个元素构成一个变化段。变化段有上升段(a(i)>a(i-1))、下降段(a(i)<a(i-1))和持平段(a(i)=a(i-1))。数组a中的n个元素可构成n-1个依次排列的变化段。 2)波峰:从上升段转到下降段形成一个波峰。波峰的起点是峰顶前所有连续上升段中的第1个,终点是峰顶后所有连续下降段中的最后1个。 3)对称波峰:上升段与下降段个数相同的波峰称为对称波峰。下图为一组数据的变化段及波峰示意图。 现要求统计数组a各元素依次变化过程中“对称波峰”的个数。小李依据上述描述设计如下VB程序。请回答下列问题: (1) 数组元素“1,4,3,3,2,6,8,7,9,3,4,7,9,6,3,1”依次变化过程中“对称波峰”的个数为。 (2) 请在划线处填入合适的代码。      Const n=20      Dim a(1 To n)As Integer      Private Sub Form_Load()      '读取数据,并存储到数组a中,代码略      End Sub      Private Sub Commandl_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+l          If flag=0 Or flag=-1 Then                 ②                  Else            steps=steps+ 1          End If          flag=1        ElseIf a(i)=a(i-1) Then          If IsSymPeak(flag, steps)Then count=count+l          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 ①②③ 答案: 【1】7 【1】ads=sx【2】A(sScore(i))=A(sScore(i))+1【3】mc=A(i)+B(i)或mc=mc+A(i)
信息技术 试题推荐
最近更新