试题

试题 试卷

logo

题型:单选题 题类:常考题 难易度:普通

浙江省高中信息技术 算法的基本概念及常用表示方法同步练习

某算法的部分流程图如图所示,执行该算法,输出S的结果是(  )

A、0 B、8 C、10 D、15
举一反三
小丽在假期看到小朋友们在玩一个游戏,8个小朋友围成一圈,从某个小朋友开始报数,报到指定数时,该小朋友出圈,接着从出圈的位置开始再接着报。她希望通过VB程序模拟这个过程,思路如下:

1)用一个一维数组来模拟,编号1~N保存在数据a(1)~a(n)中,来代表N个小朋友。

2)K代表报数的起始位置,从数组的a(k)开始遍列,报到m出圈,将当前位置的元素删除,后面的元素依次往前移位。总数减1。

3)当报数报到数组元素的最后一个时,返回数组开头接着报数。

4)当总数只剩下一个数时,直接输出。

界面如下:

Private Sub Command1_Click(   )

Dim i As Integer

Dim n As Integer

Dim m As Integer, k As Integer

Dim A(1 To 50) As Integer   '存放编号的数组

n = Val(Text1.Text)                       '编号个数

k = Val(Text2.Text)                '报数起始位

m = Val(Text3.Text)                   '报到出圈数

If n > 0 And k > 0 And m > 0    ①   n <= 50 Then

    For i = 1 To n              '初始化编号a(1)=1,a(2)=2,……

         A(i) = i

    Next i

    Label1.Caption =     ②          '调用出圈函数,得到返回的出圈顺序

Else

    MsgBox "编号、起始位、报到出圈数都必须大于0!编号不能超过50!"

End If

End Sub

Private Function chuquan(b() As Integer, n As Integer, m As Integer, k As Integer) As String

Dim i As Integer, j As Integer

Dim s As String                  '出圈顺序存放

i = k - 1

s = "出圈顺序为:"

Do While n > 1

       i = i + 1

       m = m - 1

       If     ③  Then

         s = s + Str(b(i)) + ","

         For j = i To n - 1

            b(j) = b(j + 1)

         Next j

         b(j) = 0

         n = n - 1

         i = i - 1

         m = 4

      End If

      If i = n  Then  i = 0

Loop

chuquan =        ④    

End Function

① {#blank#}1{#/blank#}

② {#blank#}2{#/blank#}

③ {#blank#}3{#/blank#}

④ {#blank#}4{#/blank#}

【加试题】小王同学为了研究浙江省湖州地区空气质量与天气、气温、风向等的关联性问题,通过网络获取了2016-06-01至2017-05-31这365天的有关信息,并将数据整理至数据文件data.accdb中。其中huzhou数据表视图及设计视图部分界面如图所示。

小王编写了VB程序,具体功能:点击“执行”按钮Command1,在文本框Text1中显示空气质量为优(AQI空气质量指数≤50)的最长持续天数(连续为优),并在列表List1中依次显示对应天数的各项数据。

实现上述功能的VB程序如下:

  Dim rq(1 To 365)As String       ‘存放日期

  Dim aqi(1 To 365)As Integer     ‘存放AQl空气质量指数

  Dim tq(1 To 365)As String       ‘存放天气

  Dim qw(1 To 365)As String      ‘存放气温

  Dim fxfl(1 To 365)As String      ‘存放风向及风力

  Private Sub Form_Load( )

    ‘本过程从数据中按2016-06-01至2017-05-31依次读取各项数据,并分别存储在对应的数组中。代码略 。

  Private Sub Command1_Click( )

       Dim n As Integer,m As Integer,i As Integer,k As Integer

  Dim s As String

       n=0:m=0:k=0

       For i=1 To 365

           If aqi(i)<=50 Then

               n=n+1

          Else

               If n>m Then

                  m=n

                  k=i-1

               End If

               n=0

          End If

      Next i

      If n>m Then

         m=n

             ①                

      End If

      For i=      ②        To k    

         s=rq(i)                       ‘日期长度均为10

         s=s&Space(7-Len(Str(aqi(i)))) & Str(aqi(i))    ‘AQI为1~3个数字

         s=s&Space(4)&tq(i)                  ‘天气为1-4个中文字符

         s=s&Space(2*(6-Len(tq(i))))&qw(i)    ‘气温长度均为9

         s=s&Space(4)&fxfl(i)        ‘风向及风力长度不等

List1.AddItem s

      Next i

      Text1.Text=Str(m)

End Sub

返回首页

试题篮