一起答
主观

阅读以下说明Visual Basic代码,回答问题1~2,将解答填入对应的栏内。

[说明]

 本程序实现的功能是判断指定的文本文件中是否包含指定的字符串,并且如果包含则返回其第一次出现的位置(行号、列号)。程序运行界面如下图所示,用户只要通过驱动器列表框、目录列表框选定文件夹,文件列表框会自动列出该文件夹下所有文本文件名称,选中其中某个文件,再输入目标字符串并且单击“查找”按钮,就能看到查找的结果。

在开发过程中,驱动器列表框名为Drive1,目录列表框名为Dirl,文件列表框名为File1,目标字符串输入框名为Text1,“查找”按钮名为Command1。

[Visual Basic 代码]

Private Sub Drivel_Change()

  Dirl. Path=(1)      '更新目录列表框的路径

End Sub

Private Sub Dirl_Change( )

   (2)= Dirl. Path     '更新文件列表框的路径 End Sub

Private Sub Commandl_Click( )

  Dim fso, a As Object

  Dim i, j As Integer

  If (3) = "" Then    '判断是否已经选中某个文件

   MsgBox "请选择一个文件文件!"

    (4)        '退出事件过程

  End If

  '创建文件系统对象以及文本流对象

  Set fso = CreateOhjecl( "Scripting. FileSystemOhject" )

  Set a = fso. OpenTextFile( Dirl. Path & "/" &(3))

  i=1

  Do While (5)<> True   '逐行读取文件,直至文件末尾

    strLine = a. ReadLine

    j = InStr(1,(6))'返回目标字符串在文件这一行中的位置

    If j >0 Then      '如果目标字符串在这一行出现,则返回其位置

       MsgBox "字符串第一次出现的位置是" & "(" & i & "," &j & "),,"

        (4)       '退出事件过程

    End If

    i:i+l

  Loop

  MsgBox "字符串在文件中不出现,"

End Sub

试题出自试卷《软件水平考试(初级)程序员下午(应用技术)模拟试卷10》
参考答案
查看试卷详情
相关试题
  1. 阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

    【说明】]

     开发一个五笔编码查询系统,界面如图所示。

                           

     五笔编码存放在word.txt文件中,它的格式是:<汉字>,<编码>。程序的任务需要以<汉字>为关键字去查询它所对应的编码。根据前面的设计,用两个ComboBox来完成。m_cmbZi存放单字,m_cmbWord存放<汉字>,<编码>序列。当用户输入汉字的时候,在m_cmbZi中查找到相应的序号,然后再对应到 m cmbWord中,这样就完成了查找动作。

     把查找出来的序列显示出来,之后再把这个序列送到列表框中,在列表框中保存着最近几次查找的结果,以方便浏览。

     【Visual C++代码】

     //在m_cmbWord中查找位置、显示并加主到列表框

     void CWMPropDlg::OnSelchangeCombozi()

     {

      int nSel=m_cmbZi.GetCurSel();     //获得输入汉字的序号

      if(-1 != nSel)

     {

       (1);            //查找m cmbWord中五笔编码

     m_cmbWord. GetWindowText(m_strLastHit);

      (2);         //显示到标签上

     CRect rect;

      (3);

     int nCount = rect.Height()/m_listHitHist.GetltemHeight(0);

     if((4))

     {

      m_listHitHist.DeleteString(0);

     }

     m_listHitHist.InsertString(-1,m_strLastHit);

     m_cmbZi.SetEditSel(0,-1);

      (5);

     }

      }

  2. 阅读以下说明和Java以及HTML代码,将应填入(n)处的字句写在对应栏内。

    [说明]

     编写一个Applet程序,接受HTML文件传递的整数参数,根据该参数指定Applet中文本框的长度。编写对应的HTML文件运行这个Applet。

    [Java 代码]

    import java. applet.*;

    import java. awt.*;

    public class chuangdics extends (1) 

    {

     TextField tf=new TextField ();

     int tfLength=0;

     public void init()

     {

     try

     {

       tfLength=Integer. parseInt( (2) ("length"));

       tf. setColumns (tfLength);

       add (tf);

     }

     catch (NumberFormatException nfe)

     {

       tf. (3) ("HTML 文件传人的参数格式错误。");

       add(tf);

     }

     }

    }

    [HTML 代码]

    <html>

    <head>

     <title>(4)</title>

    </head>

    <body>

    <hr>

    <applet code=chuangdics width=700 height=150>

    <param name=length value=20>

    (5) 

    <hr>

    </body>

    </htmI>

  3. 阅读以下说明Visual Basic代码,回答问题1~2,将解答填入对应的栏内。

    [说明]

     本程序实现的功能是判断指定的文本文件中是否包含指定的字符串,并且如果包含则返回其第一次出现的位置(行号、列号)。程序运行界面如下图所示,用户只要通过驱动器列表框、目录列表框选定文件夹,文件列表框会自动列出该文件夹下所有文本文件名称,选中其中某个文件,再输入目标字符串并且单击“查找”按钮,就能看到查找的结果。

    在开发过程中,驱动器列表框名为Drive1,目录列表框名为Dirl,文件列表框名为File1,目标字符串输入框名为Text1,“查找”按钮名为Command1。

    [Visual Basic 代码]

    Private Sub Drivel_Change()

      Dirl. Path=(1)      '更新目录列表框的路径

    End Sub

    Private Sub Dirl_Change( )

       (2)= Dirl. Path     '更新文件列表框的路径 End Sub

    Private Sub Commandl_Click( )

      Dim fso, a As Object

      Dim i, j As Integer

      If (3) = "" Then    '判断是否已经选中某个文件

       MsgBox "请选择一个文件文件!"

        (4)        '退出事件过程

      End If

      '创建文件系统对象以及文本流对象

      Set fso = CreateOhjecl( "Scripting. FileSystemOhject" )

      Set a = fso. OpenTextFile( Dirl. Path & "/" &(3))

      i=1

      Do While (5)<> True   '逐行读取文件,直至文件末尾

        strLine = a. ReadLine

        j = InStr(1,(6))'返回目标字符串在文件这一行中的位置

        If j >0 Then      '如果目标字符串在这一行出现,则返回其位置

           MsgBox "字符串第一次出现的位置是" & "(" & i & "," &j & "),,"

            (4)       '退出事件过程

        End If

        i:i+l

      Loop

      MsgBox "字符串在文件中不出现,"

    End Sub

  4. 阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    【说明】

     输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

     【函数】

     main ( )

     {

       int number[10];

       input (number);

       max min (number);

       output (number);

     }

     input (number)

     int number[10];

       {int i;

        for ( i=0;i<9;i++ )

        scanf ( "%d,",&number[i] );

        scanf ( "%d",&number[9] );

      }

     max_min ( array )

     int array[10];

     {int *max,*min,k,1;

       int *p,*arr_end;

       arr end=(1);

       max=min=array;

       for ( p=(2);p<arr_end;p++ )

       if((3)) max=p;

       else if ( *p<*min ) min=p;

       (4);

       l=*min;

       (5);array[0]=1;1=*p;

       *p=array[9];array[9]=k;k=*p;

       return;

      }

     output ( array )

     int array[10];

      { int *p;

       for ( p=array;p<array+9;p++ )

       printf ( "%d,",*p );

       printf ( "%d\n",array[9] );

     }

  5. 阅读下列程序说明和Visual Basic代码,将应填入(n)处的字句写在对应栏内。

    [说明]

    本程序提供了查询景点票价信息的功能,查询包括两种方式:按景点名称查询以及白定义查询。程序界面如下图所示:

     其中,选择景点名称的组合框(Comobox)名为Combo1,单旋钮“旺季”和“淡季”分别名为Op- tion1和Option2,用于输入票价上限的文本框名为Texi1,两种查询方式的“提交”按钮分别名为 Command1和Command2。已知Combol列表中第i个景点的旺季票价和淡季票价分别存放于数组元素P(i,0)和p(i,1)中。

    [Visual Basic代码]

    Dim p(20, 2) As Single    '通用声明

    Private Sub Form_Load( )

      For i = 0 To 9     '对p赋值

        p(i, 0)=........ :p(i, 1)=.......

      Next

    End Sub

    Private Sub Commandl_Click( )  '查询方式一:按景点名称查询

      Dim cboTcxt As String

      eboText =(1) 

      Fori = 0 To (2) -1   '对Combo1中各列表项循环

        If (3)= cboText Then

           MsgBox "景点名称" & cboText & "旺季票价" & p(i, 0) & _

                ",淡季票价" & p(i, 1)

           Exit Sub

        End If

      Next i

    End Sub

    Private Sub Command2_Click( )   查询方式二:自定义查询

      Dim price As Single, result As String, flag As Boolean

      price =Val( (4) )

      flag = False

        result = ""

      For i = 0 To (2) - 1'对Combo1中列表项循环,找出符合条件的景点

        If(Optionl. Value And p(i, 0) < = price) Or((5)) Then

          (6) 

           result=result & "景点名称" &(3)& ",旺季票价:"&_

                p(i, 0) & ",淡季票价:" & p(i, 1) & vbCrLf

        End If

      Next i

      If flag Then

        MagBox result

     Else: Msgaox "没有找到符合条件的景点信息!"

      End If

    End Sub

  6. 阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    【说明】

     下面的程序构造一棵以二叉链表为存储结构的二叉树算法。

     【函数】

     BTCHINALR *createbt ( BTCHINALR *bt )

     {

       BTCHINALR *q;

       struct node1 *s [30];

       int j,i;

       char x;

       printf ( "i,x =" ); scanf ( "%d,%c",&i,&x );

       while (i!=0 && x!='$')

        { q = ( BTCHINALR* malloc ( sizeof ( BTCHINALR )); //生成一个结点

         (1);

      q->1child = NULL;

      q->rchild = NULL;

           (2);

           if((3);)

            {j=i/2     //j为i的双亲结点

         if(i%2==0

          (4)   //i为j的左孩子

         else

          (5)   //i为j的右孩子

         }

          printf ( "i,x =" ); scanf ( "%d,%c",&i,&x ); }

       return s[1]

     }

  7. 阅读以下说明和流程图,回答问题将解答填入对应栏内。

    [说明]

     已知递推数列:a(1)=1,a (2s)= a (s),a(2s+1)=a (s)+a (s+1)(s 为正整数)。试求该数列的第n项与前n项中哪些项最大?最大值为多少?

     算法分析:该数列序号分为奇数或偶数两种情况做不同递推,所得数列呈大小有规律的摆动。设置a数组,赋初值a (1)=1。根据递推式,在循环中分项序号s (2~n)为奇数或偶数作不同递推:每得一项 a (s),即与最大值max 作比较,如果a (s)>max,则max=a(i)。最后,在所有项中搜索最大项(因最大项可能多于一项),并打印最大值max。

     [问题]

     将流程图中的(1)~(5)处补充完整。

     注:流程图中(1)循环开始的说明按照“循环变量名:循环初值,循环终值,增量”格式描述。

     [流程图]

  8. 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    【说明】

     函数fun1 (int bb[])的功能是:在3位整数(100~999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,两位数字又相同,例如144、676等。

     【函数2.11】

     fun1 (int bb[])

     {

       int i, j, k=0, g, s, b;

       for (i=100; i<=999; i++)

        {

          g=i%10;

          (1) 

          b=i/100;

          if ((i== (int) sqrt (i) * (int) sqrt (i)) && (g==s‖s==b‖b==g))

          (2) 

        }

       return k;

     }

     【函数2.2说明】

     函数void fun2()的功能是:数组a中有300个四位数,求出数组a千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数CNT,再把所有满足此条件的四位数依次存入数组bb中,然后对数组bb的四位数按小到大的顺序进行排序。例如:9123,9-1-2-3>0,则该数满足条件存入数组bb中,且个数CNT=CNT+1,9812,9-8-1-2<0,则该数不满足条件,忽略。

     【函数2.2】

     void fun2 ( )

     {

       int q,b,s,g,i,j;

       for (i=0;i<300;i++)

         {q=a[i]/1000;

          b=a[i]/100%10;

          s=a[i]/10%10;

          g=a[i]%10;

          if (q-b-s-g>0)

          (3) 

          }

           for ( i=0;i<cnt-1;i++ )

           for ( j=i+1;j<cnt;j++ )

           if ( bb[i]>bb[j] )

           { (4) 

           bb[i]=bb[j];

           (5) 

          }

     }