题目

IPV4点分十进制:IP地址可转换为十进制数字形式。编写“模拟IP过滤器”程序,程序功能如下:程序运行时,在列表框List1中显示能通过过滤的IP区间(IP区间按起始端点升序排序),在文本框Text1中输入需要判断的IP地址,单击“验证”按钮Cmd1,若IP区间有重叠区间则作合并处理,并显示在列表框List2中,然后对输入的IP地址进行判断,判断结果显示在标签Labe14中。程序运行界面如图所示: (1) Cmd1对象属于类(单选,填字母:A . Form/B . Label/C . TextBox/D . CommandButton)。 (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。 Dim a(1 To 100) As Integer Dim n As integer Private Sub Form_Load() ‘本过程从数据库中读取n个IP地址区间数据,并依次存入数组a(1)、…、a(2*n)中对能通过过滤的IP区间按区间起始端点升序排序 代码略 End Sub Private Sub Cmd1_Click()     Dim ip As Integer,L As Integer, R As Integer     Dim i As Integer,pos As Integer, f As Boolean     ip=Val (Text1. Text)     L=a(1):R=a(2):i=3:pos=1   ‘合并重叠区间     Do While i<=2*n-1         If   Then             If a(i+1)>R Then R=a(i+1)         Else             a(2*pos-1)=L             a(2*pos)=R             pos=pos+1             L = a(i)             R=a(i+1)         End If             Loop     a(2*pos-1)=L:a(2*pos)=R     ‘依次输出排序合并后的区间数据,代码略      If  Then     ‘判断请求的IP地址              Labe14. Caption= “IP需过滤”      Else          i=1:f=False          Do While i<=pos And Not f              If  Then                  i =i+1              else                  Labe14. Caption=“IP不需过滤”                  f=True              End If          Loop          If f=False Then Labe14. Caption=“IP需过滤"      End if End sub (3) 程序中加框处代码有错,请改正。 答案: 【1】D 【1】a(i)<=R【2】i=i+2【3】Not(ip>=a(2*i-1) And ip<=a(2*i))或a(2*i-1)>ipOra(2*i)<ip ip<a(1) Or ip>a(2*pos)
信息技术 试题推荐
最近更新