试题

试题 试卷

logo

题型:单选题 题类:模拟题 难易度:困难

浙江省湖州、衢州、丽水三地市2020届高三上学期信息技术11月教学质量检测试卷

给定含有n个正整数元素的数组a,将其分成连续的k(1<k≤n)段,有多种分法,每种分法中各段和均有最大值,找出这些最大值中最小的一个并输出。如n的值为5,k的值为3,数组元素a(1)到a(5)依次为“1,2,3,3,1”,其中分法{1,2}{3}{3,1}各段和的最大值为4,比其他分法的最大值小,4就是输出值。寻找最小值的部分代码如下:

a(1)=1:a(2)=2:a(3)=3:a(4)=3:a(5)=1

n=5:k=3

L=3:R=10     ‘L值可以为数组元素最大值,R可以为数组所有元素和

Do While L+1<R

    m=(L+R)\2

    t=0:s=0

    For i=1 To n

        If t+a(i)>=m Then

            s=s+1

            t =a(i)

        Else

            t =t+a(i)

        End If

    Next i

    If t>0 then s=s+1

    If s<=k Then Else  ②

Loop

Label1.Caption=“最小值为”&Str(L)

要使程序实现上述算法思想,则代码中①②处应为(  )

A、①R=m  ②L=m B、①L=m  ②R=m C、①R=m+1  ②L=m-1 D、①L=m+1  ②R=m-1
举一反三
【加试题】编写VB程序,实现如下功能:单击“生成密文”按钮Command2,在文本框Text3中产生与每个小写字母对应的密文(每个明文字母对应1个不重复的密文字母)。在文本框Text1中输入单词字符串,单击“加密”按钮Command1后,进行逐个字符加密,加密方法:在“明文”中找到相应字符,再得到明文对应位置的密文,并在文本框Text2中显示对应密文(运行效果如图17所示)。实现上述功能的VB代码如下:

 

Dim m2 As String

Private Sub Command1Click()

Dim flag(1 To 26) As Boolean

Dim num As Integer,t As Integer

Randomize

num = 1

Text3.Text = " "

For i = 1 To 26

    flag(i) = False

Next i

Do While num <= 26

    x = Int(Rnd * 26) + 97

          ①      

    If  flag(t) = False Then

    m2 = m2 + Chr(x)

    num = num + 1

      ②       

    End If

Loop

Text3.Text = m2

End Sub

Private Sub Command2Click()

Dim s As String, m As String, result As String

Dim k As String, c As Integer

s = Text1.Text

m = "abcdefghijklmnopqrstuvwxyz"

For i = 1 To Len(s)

    k = Mid(s, i, 1)

    If  k >= "A" And k <= "Z"  Then

    k = Chr(Asc(k) + 32)

    End If

    c = 1: continue = True

    Do While       ③       

    If k = Mid(m, c, 1) Then

    continue = False

    End If

    c = c + 1

    Loop

   ④     

Next i

Text2.Text = result

End Sub

程序①处的代码是{#blank#}1{#/blank#}

程序②处的代码是{#blank#}2{#/blank#}

程序③处的代码是{#blank#}3{#/blank#}

程序④处的代码是{#blank#}4{#/blank#}

返回首页

试题篮