试题

试题 试卷

logo

题型:综合题 题类:真题 难易度:困难

浙江省2018年4月普通高校招生选考信息技术考试试卷

【加试题】为分析数组a中各元素依次变化的情况,进行如下定义:

●变化段:数组中相邻两个元素构成一个变化段。变化段有上升段(a(i)>a(i-1))、下降段(a(i)<a(i-1))和持平段(a(i)=a(i-1))。数组a中的n个元素可构成n-1个依次排列的变化段。

●波峰:从上升段转到下降段形成一个波峰。波峰的起点是峰顶前所有连续上升段中的第1个,终点是峰顶后所有连续下降段中的最后1个。

●对称波峰:上升段与下降段个数相同的波峰称为对称波峰。

  下图为一组数据的变化段及波峰示意图。

现要求统计数组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 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

 ② ③ 

举一反三
返回首页

试题篮