解析算法及程序实现 知识点题库

小兰设计了一个“猜价格”小游戏,用户在Text1中输入所猜的价格,单击“猜一猜”按钮,如果偏高了,Label4标签中将提示“对不起,偏高了!”;若所猜的价格偏低,则Label4标签中将提示“对不起,偏低了!”;若猜中,则Label4标签中将显示“恭喜你,猜对啦!”。界面如1图所示。

  1. (1) 应用程序界面设计时,为添加“请输入您猜的价格:”对象,应使用第14题-2图所示的“控件工具箱”中的(填写相应字母),并在3图所示的“属性窗口”中,将属性值设置为“请输入您猜的价格:”。

  2. (2) 解决此问题的相应程序如下,请根据题意将程序补充完整。

    Private Sub Command1_Click()

    Dim g As Integer

    Dim p As Integer

    p = 99        '预设价格的值存储到p变量中

    g =

    If g > p Then

       = "对不起,偏高了!"

    ElseIf g < p Then

       Label4.Caption = "对不起,偏低了!"

    Else

       Label4.Caption = "恭喜你,猜对啦!"

    End Sub

编写VB程序代码,实现如下功能:在文本框Text1中输入金额(整数)后,点击“转换”按钮Command1,则在文本框Text2中显示该金额的大写,程序运行界面如下图所示:

  1. (1) 要使窗体标题上显示的文本改为“人民币大小写”,可在其属性窗口中将属性的属性值改为“人民币大小写”。
  2. (2) 为了实现以上程序功能,使程序正常运行,请完善以下两处代码。

    Private Sub Command1_Click()

    Dim dx As String, dw As String

    Dim s As String, c As String

    Dim ch As String

    Dim i As Integer

    dx = "零壹贰叁肆伍陆柒捌玖拾"

    dw = "亿仟佰拾萬仟佰拾元"

    s = Text1.Text

    If  Len(s) > 9   ① 

        Text2.Text = "输入的数据超出所能转换的范围"

    Else

        For i = 1 To Len(s)          

           ch =  ②   

           c = c + Mid(dx, Val(ch) + 1, 1) + Mid(dw, 9 - Len(s) + i, 1)

        Next i

        Text2.Text = c + "整"

    End If

    End Sub

     ② 

  3. (3) 由上述算法可知,若在文本框Text1中输入“20”,则文本框Text3显示的结果为
【加试题】格雷码(Gray code),又叫循环二进制码。一般的,格雷码可以解码成普通二 进制码。某格雷码 G1 G2 G3 …Gn-1 Gn,解码成普通二进制B1 B2 B3 …Bn-1 Bn的方法如下:

⑴把格雷码第1位G1作为解码后二进制码的第1位B1,即:B1= G1;

⑵从第2位起,将格雷码每一位与左边相邻一位的解码值作异或运算,结果作为该位格 雷码的解码值,即Bi=Gi⊕Bi-1。例如,某格雷码1101110,可解码成普通二进制码 1001011, 如图所示。

异或运算(⊕)规则:如果 a、b 两个值不相同,则 a⊕b 结果为 1;如果 a、b 两个值 相同,则 a⊕b 结果为 0,即:0 ⊕ 0 = 0,1 ⊕ 0 = 1,0 ⊕ 1 = 1,1 ⊕ 1 = 0。

小明编写了一个格雷码解码的VB程序,功能如下:在文本框Text1中输入格雷码,单击 “解码”按钮 Command1,程序对输入的格雷码进行转换处理,转换后的二进制码用十六进 制表示并显示在文本框 Text2 中。程序运行界面如图所示。

  1. (1) 格雷码“1011000110”转换成普通二 进制码,再用十六进制数表示是
  2. (2) 实现上述功能的 VB 程序如下,请在划线处填入合适代码。

    Const max = 16

        Function btoh(s As String) As String

        Dim i As Integer, value As Integer, ss As String

        Dim c1 As Integer, c2 As Integer, c3 As Integer, c4 As Integer ss = ""

        If Len(s) Mod 4 <> 0 Then

        s = Mid("0000", 1, 4 - n) + s '四位一组分组,最后一组不足 4 位补 0

        For i = 1 To Len(s) Step 4

        c1 = Val(Mid(s, i, 1))

        c2 = Val(Mid(s, i + 1, 1))

        c3 = Val(Mid(s, i + 2, 1))

        c4 = Val(Mid(s, i + 3, 1))

        value = c1 * 2 ^ 3 + c2 * 2 ^ 2 + c3 * 2 + c4

        If value <= 9 Then

        ss = ss + Chr(Asc("0") + value)

        Else

          

        End If

        btoh =ss

        Next i

        End Function

        Private Sub Command1_Click() Dim i As Integer

        Dim s As String, b As String Dim g(1 To max) As String

        s = Text1.Text: length = Len(s)

        For i = 1 To length

        g(i) = Mid(s, i, 1)

        Next i

        b = g(1)

        For i = 2 To length

        If g(i) =Then b = b + "0" Else b = b + "1"

        Next i

        Text2.Text =

    End Sub

自然常数e,约为2.71828,其值可通过泰勒公式计算获得

小明编写了一个VB程序来计算e的近似值,功能为在文本框Text1中输入公式n值,单击“计算”命令按钮Command1,在标签Labe2中显示计算结果,程序运行界面如图所示。

  1. (1) 代码“Private Sub Commandl_Click()”中的Click是(单选,填字母:A .对象名/B .属性名/C .事件名)。
  2. (2) 为实现上述功能,请在画线处填入合适代码。

    Private Sub Command1__Click()

      Dim I As Double,p As Double

      Dim e As Double

      n=    ①   

      e=1

      i=1

      p=1

      Do While i<=n

        p=    ②   

        e=e+p

            ③   

      Loop

      Label2. Caption=“e的值是:”+Str(e)

    End Sub

     ② ③ 

奇偶校验是一种校验数据传输正确性的方法。其中奇校验方法:统计二进制数据的数位中“1”的个数,若个数为奇数,则校验位值为0,否则校验位值为1。小李编写了一个计算奇校验位值的VB程序,功能如下:在文本框Textl中输入1~255间的十进制待校验数,单击“计算”按钮Commandl后,在文本框Text2中显示该数对应的二进制值,并在标签Label3中显示该数的校验位值。程序运行界面如图所示。

  1. (1) 在设计程序界面时,要清空文本框中的显示内容,应修改该文本框中的属性。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Commandl_Click()

      Dim a As Integer,s As String

      Dim n As Integer,t As Integer,v As Integer

      n=Val(Text1.Text)

      t=0

      s=" "

      Do While n>0

        a=n Mod2

        n=n\2

        t=   ①   

        s = Str(a)+s

      Loop

      v=t Mod 2

      Text2.Text=s

      Label3.Caption="校验位值:"+   ②   

    End Sub

  3. (3) 运行该程序,在文本框Textl中输入22,单击“计算”按钮,则显示的校验位值是
编写一个摄氏温度转换成华氏温度的Python程序,实现功能:输入两个摄氏温度数据(整数),输出包含两列数据,第1列为两数之间的摄氏温度值(间隔1度、升序),第2列为对应的华氏温度值。其中,摄氏温度x转换成华氏温度y的计算公式为:

输入、输出格式如下:

输入第1个数:

15

输入第2个数:

0

摄氏温度    华氏温度

10          50.0

11          51.8

12          53.6

13          55.4

14          57.2

15          59.0

实现上述功能的某Python程序如下,在方框处补充一段程序代码,完善程序,实现程序功能。

t1=int(input(输入第1个整数:\n'))

t2=int(input(输入第2个整数:\n"))

if t1>t2:

      t1,t2=t2,t1    

print(摄氏温度+' '+ 华氏温度)

i=t1

while i<=t2:

最近更新